Fix leak spotted by coverity checker. Fixes #343827
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-06-07  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gstindex.c: (gst_index_gtype_resolver):
4         * tools/gst-xmlinspect.c: (print_plugin_info):
5         Fix leak spotted by coverity checker. Fixes #343827
6         Fix another other leak found by paolo borelli.
7
8 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9
10         * libs/gst/dataprotocol/dataprotocol.c:
11         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
12         (gst_dp_version_get_type), (gst_dp_init),
13         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
15         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
16         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
17         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
18         (gst_dp_packetizer_free):
19         * libs/gst/dataprotocol/dataprotocol.h:
20           API: add a GstDPPacketizer object, and create/free functions
21           API: add GstDPVersion enum
22           Add 1.0 event function that uses the string serialization
23           Serialize more useful buffer flags
24           Fixes #343988
25
26 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
27
28         * tests/check/Makefile.am:
29         * tests/check/gst/gstabi.c:
30         * tests/check/gst/struct_ppc64.h:
31         * tests/check/libs/libsabi.c:
32         * tests/check/libs/struct_ppc64.h:
33           add ppc64 structure sizes
34
35 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
36
37         * tests/check/Makefile.am:
38         * tests/check/gst/gstabi.c:
39         * tests/check/gst/struct_x86_64.h:
40         * tests/check/libs/libsabi.c:
41         * tests/check/libs/struct_x86_64.h:
42           generate and add structure size lists for x86_64
43
44 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
45
46         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
47         * libs/gst/check/gstcheck.h:
48           factor out the method from tests that checks size of structures,
49           and add code to generate the header containing these sizes
50         * tests/check/gst/gstabi.c: (GST_START_TEST):
51         * tests/check/gst/struct_i386.h:
52         * tests/check/libs/libsabi.c: (GST_START_TEST):
53         * tests/check/libs/struct_i386.h:
54           use it
55
56 2006-06-06  Michael Smith  <msmith@fluendo.com>
57
58         * gst/gstsegment.h:
59           Don't use c++-style comments, fixes #343929
60
61 2006-06-05  Edward Hervey  <edward@fluendo.com>
62
63         * gst/gst.c:
64         plugin_paths is not used if we build without registry support.
65
66         * gst/gstsegment.c: (gst_segment_copy): 
67         _copy() was always returning NULL...
68
69 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
70
71         * libs/gst/dataprotocol/dataprotocol.c:
72         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
73         (gst_dp_packet_from_event):
74           factor out CRC code
75
76 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
77
78         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
79           make sure we unset caps
80
81 2006-06-02  Michael Smith  <msmith@fluendo.com>
82
83         * libs/gst/check/gstcheck.c: (gst_check_init),
84         (gst_check_chain_func):
85         * libs/gst/check/gstcheck.h:
86           Add a cond/mutex to the check support lib, signal this whenever we
87           add to the buffers list. This will allow tests to not busy-wait on
88           the buffer-list.
89
90 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
91
92         * libs/gst/dataprotocol/dataprotocol.c:
93         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
94         (gst_dp_packet_from_event):
95           factor out some common header init code
96
97 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
98
99         * docs/libs/gstreamer-libs-sections.txt:
100         * docs/libs/tmpl/gstdataprotocol.sgml:
101         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
102         * libs/gst/dataprotocol/dataprotocol.h:
103           API: make gst_dp_crc() public
104
105 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
106
107         * plugins/indexers/gstindexers.c: (plugin_init):
108         conditionally register fileindexer (fixes #343598)
109
110 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
111
112         * gst/gsttagsetter.h:
113         Can't cast ifaces to a class
114
115         * libs/gst/net/gstnetclientclock.h:
116         * libs/gst/net/gstnettimeprovider.h:
117         * plugins/elements/gstfakesink.h:
118         * plugins/elements/gstfakesrc.h:
119         * plugins/elements/gstfdsink.h:
120         * plugins/elements/gstfdsrc.h:
121         * plugins/elements/gstfilesink.h:
122         * plugins/elements/gstfilesrc.h:
123         * plugins/elements/gstidentity.h:
124         * plugins/elements/gstqueue.h:
125         * plugins/elements/gsttee.h:
126         * plugins/indexers/gstfileindex.c:
127         * plugins/indexers/gstmemindex.c:
128         * tests/old/examples/plugins/example.h:
129         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
130
131 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
132
133         * libs/gst/dataprotocol/dataprotocol.c:
134         (gst_dp_header_from_buffer):
135           make sure we zero the whole ABI-compatible area
136
137 2006-06-01  Wim Taymans  <wim@fluendo.com>
138
139         Patch by: Alessandro Decina <alessandro at nnva dot org>
140
141         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
142         Make sure the EOS flag is cleared from pads after a flush
143         or stop. Fixes #343538.
144
145         * tests/check/libs/collectpads.c: (GST_START_TEST),
146         (gst_collect_pads_suite):
147         Added test for collectpads reusage after EOS.
148
149 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
150
151         * gst/gst.c:
152          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
153         * win32/common/libgstbase.def:
154          export gst_collect_pads_set_flushing
155         * win32/common/libgstreamer.def:
156          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
157          gst_value_fraction_multiply
158         * win32/vs6/gst_inspect.dsp:
159          add a link to intl.lib
160
161 2006-05-30  Wim Taymans  <wim@fluendo.com>
162
163         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
164         (gst_collect_pads_chain):
165         Handle the case where a pad is removed from the collection
166         that could cause the other pads to become collectable.
167
168 2006-05-30  Wim Taymans  <wim@fluendo.com>
169
170         * gst/gstelement.c:
171         Clarify the use of _release_request_pad() and
172         _get_request_pad() a bit better.
173
174         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
175         (gst_adapter_take_buffer):
176         Fix some doc and comment typos.
177
178 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
179
180         * docs/gst/gstreamer-sections.txt:
181         * docs/libs/gstreamer-libs-sections.txt:
182           add declared symbols
183
184 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
185
186         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
187         Add debug that can be enabled using a #define at the top of the file,
188         for dumping stats about how late/early we were when waking up from
189         waiting on the clock.
190
191 2006-05-30  Wim Taymans  <wim@fluendo.com>
192
193         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
194         When rebuilding the pad list, don't leak the previous list.
195
196 2006-05-30  Wim Taymans  <wim@fluendo.com>
197
198         Patch by: Lutz Mueller <lutz at topfrose dot de>
199
200         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
201         (gst_base_src_get_query_types), (gst_base_src_update_length):
202         Publish supported query types.
203         Update last_stop field in get_range mode so the position
204         query works. Fixes #342321.
205
206 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
207
208         * docs/gst/gstreamer-sections.txt:
209         * gst/gsttaglist.c: (_gst_tag_initialize):
210         * gst/gsttaglist.h:
211           API: add GST_TAG_PREVIEW_IMAGE (#343341).
212
213 2006-05-30  Wim Taymans  <wim@fluendo.com>
214
215         Patch by: Alessandro Decina <alessandro at nnva dot org>
216
217         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
218         Unlock mutex when removing an unknown pad.
219         Fixes #343334.
220
221         * tests/check/Makefile.am:
222         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
223         (push_event), (setup), (teardown), (GST_START_TEST),
224         (gst_collect_pads_suite), (main):
225         Added collecpads check, disabled for now as check crashes for
226         some reason.
227
228 2006-05-29  Wim Taymans  <wim@fluendo.com>
229
230         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
231         Don't leak pads lists.
232
233 2006-05-29  Wim Taymans  <wim@fluendo.com>
234
235         * docs/libs/gstreamer-libs-sections.txt:
236         * libs/gst/base/gstcollectpads.c:
237         (gst_collect_pads_set_flushing_unlocked),
238         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
239         (gst_collect_pads_stop):
240         * libs/gst/base/gstcollectpads.h:
241         API: gst_collect_pads_set_flushing
242         Added api to set the pads to flushing, usefull for seeking
243         code in elements using collectpads.
244         Clear segment when receiving a flush.
245
246 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
247
248         * gst/gst.c: (add_path_func), (init_post):
249           Don't scan registry paths passed via --gst-plugin--path immediately
250           (will crash, because absolutely nothing is set up and no types are
251           registered etc.); do this later in init_post(). Fixes #343057.
252
253 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
254
255         * gst/gst.c: (init_post):
256           if we have fork, fork while reading/rebuilding the registry
257           so the parent doesn't take the hit of having all plugins loaded
258           in memory.  Fixes #342777.
259         * configure.ac:
260           Check if we have fork()
261         * win32/common/config.h.in:
262           no fork() on win32
263
264 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
265
266         * plugins/elements/gstelements.c:
267         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
268         (gst_file_src_init), (gst_file_src_set_property),
269         (gst_file_src_get_property), (gst_file_src_start):
270         * plugins/elements/gstfilesrc.h:
271
272         Add a use-mmap property to enable easier testing of all code paths.
273         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
274         in the absence of gnomevfssrc. (Closes #340501)
275
276 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
277
278         * tools/gst-inspect.c:
279         Add missing include, removes warning of ngettext not being defined on
280         some arches.
281
282 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
283
284         * gst/gstvalue.c: (gst_value_deserialize_fraction):
285         Handle NULL input and output pointers silently as a failed conversion,
286         rather than g_warnings.
287
288 2006-05-25  Wim Taymans  <wim@fluendo.com>
289
290         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
291         Initialize variable before using. Fixes #342820.
292
293 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
294
295         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
296           Fix off-by-one bug that would only allow peeks of N-1 bytes
297           from the start even if the buffer to typefind on contains
298           in fact N bytes of data (makes vorbis typefinding from a
299           vorbis identification header buffer work).
300
301         * tests/check/Makefile.am:
302         * tests/check/libs/.cvsignore:
303         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
304         (gst_typefindhelper_suite), (main), (foobar_typefind),
305         (plugin_init):
306           Add very basic unit test for gst_type_find_helper_for_buffer()
307           that checks for the problem fixed above.
308
309 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
310
311         * tools/gst-inspect.c: (print_interfaces),
312         (print_element_properties_info), (print_element_list), (main):
313           add more translatable strings
314
315 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
316
317         Patch by: Julien Moutte  <julien at moutte net>
318
319         * docs/gst/gstreamer-sections.txt:
320           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
321           
322         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
323         (gst_fake_sink_preroll):
324         * plugins/elements/gstfakesink.h:
325           Add new ::preroll-handoff signal (#337100).
326
327 2006-05-23  Wim Taymans  <wim@fluendo.com>
328
329         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
330         * gst/gstpad.h:
331         Added _CUSTOM error and success GstFlowReturn that can be
332         used be elements internally. 
333         Added macro to check for SUCCESS flowreturns.
334         API: GST_FLOW_CUSTOM_SUCCESS
335         API: GST_FLOW_CUSTOM_ERROR
336         API: GST_FLOW_IS_SUCCESS
337
338         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
339         Added check for GstFlowReturn sanity.
340
341 2006-05-23  Wim Taymans  <wim@fluendo.com>
342
343         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
344
345         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
346         (gst_collect_pads_event):
347         clear/reset segment info in FLUSH_STOP.
348         Fixes #336929.
349
350 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
351
352         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
353         (gst_collect_pads_check_collected):
354         Flush queued buffer on _stop(), fixes playing again (#342454)
355
356 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
357
358         * tests/check/gst/gststructure.c: (GST_START_TEST),
359         (gst_structure_suite):
360           add a test for a complete structure
361
362 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
363
364         * docs/faq/developing.xml:
365         * docs/faq/faq.xml:
366         * docs/faq/troubleshooting.xml:
367         * docs/faq/using.xml:
368           Some minor FAQ updates that won't change the fact that
369           our FAQ is badly structured, full of information hardly
370           anyone new to GStreamer needs to know and lacking lots
371           of information people constantly ask for.
372           
373 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
374
375         * gst/gstpad.c: (gst_pad_set_caps):
376           Short-circuit gst_pad_set_caps if setting the existing
377           caps pointer again, and avoid printing debug and 
378           reffing/unreffing the caps.
379
380         * plugins/elements/gstqueue.c: (gst_queue_push_one):
381           There's actually no need to set the caps before pushing -
382           the acceptcaps method will handle it anyway.
383
384 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
385
386         * docs/gst/gstreamer-sections.txt:
387         * win32/common/libgstreamer.def:
388         * gst/gstutils.c: (gst_element_seek_simple):
389         * gst/gstutils.h:
390           API: add gst_element_seek_simple() (#342238).
391
392 2006-05-18  Edward Hervey  <edward@fluendo.com>
393
394         * gst/gsttypefind.c: (gst_type_find_get_type):
395         * gst/gsttypefind.h:
396         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
397         registered for GstTypeFind pointers. This allows wrapping the structure
398         in bindings (i.e. gst-python).
399
400 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
401
402         * gst/gsttagsetter.c:
403           Docs additions and fixes (see #339918).
404
405 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
406
407         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
408         The caps intersection algorithm can produce multiple copies of the
409         caps. Until that is fixed, we need to simplify the result to be
410         sure whether the allowed caps are fixed or not.
411
412         * plugins/elements/gstqueue.c: (gst_queue_init),
413         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
414         (gst_queue_push_one):
415         Proxied buffer alloc should not set the caps on the source pad.
416         When pushing buffers, we always accept the caps change that triggers.
417         This prevents negotiation errors caused by caps changing mid-stream 
418         and then being refused on our source pad (because upstream is now
419         refusing those caps).
420
421 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
422
423         * tests/examples/helloworld/helloworld.c: (main):
424           Must plug audioconvert and audioresample between decoder
425           and audio sink.
426
427 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
428
429         * gst/gstregistryxml.c: (read_string), (load_pad_template),
430         (load_feature), (load_plugin):
431         Allow empty strings for some of the plugin fields so we don't 
432         drop valid plugin entries that were written out correctly
433         (Fixes #341479)
434
435 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
436         
437         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
438           Use g_remove and g_rename instead of remove and rename that don't 
439           handle utf8 characters. rename was failing for users who had specific
440           characters in their name then the registry was built at each 
441           gstreamer init.
442         * win32/vs6/gst_inspect.dsp:
443         * win32/vs6/gst_launch.dsp:
444         * win32/vs6/libgstbase.dsp:
445         * win32/vs6/libgstcoreelements.dsp:
446         * win32/vs6/libgstreamer.dsp:
447           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
448           build of libgstreamer and clean unused libraries in projects link 
449           settings.
450
451 2006-05-17  Edward Hervey  <edward@fluendo.com>
452
453         * plugins/elements/gstqueue.c: (gst_queue_push_one):
454         The queue is not responsible for pushing an EOS when receiving a fatal
455         flow error. It's up to the real element driving the pipeline to do that.
456
457 2006-05-16  Edward Hervey  <edward@fluendo.com>
458
459         * plugins/elements/gstqueue.c: (gst_queue_push_one):
460         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
461         buffer returned a fatal error. It should just send an EOS and stop
462         it's task.
463         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
464         when pushing buffers on the queue and will be able to handle the event.
465
466 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
467
468         * docs/manual/basics-bins.xml:
469         * docs/manual/basics-init.xml:
470           Fix typos and minor errors in sample code (#341856).
471
472 2006-05-16  Wim Taymans  <wim@fluendo.com>
473
474         * docs/design/part-qos.txt:
475         Fix indexes in formulas to make more sense.
476
477 2006-05-15  Wim Taymans  <wim@fluendo.com>
478
479         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
480         Don't report POSITION based on clock time if sync is
481         disabled in a sink.
482
483 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
484
485         * gst/gstobject.h:
486           Add cast to make compiler happy - refcount variable was a gint
487           in GstObject but is a guint in GObject and g_atomic_int_get()
488           wants a gint *.
489
490 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
491
492         * gst/parse/Makefile.am:
493           chain commands using &&, which also makes parallel make work
494
495 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
496
497         * docs/gst/gstreamer-sections.txt:
498         * gst/gstevent.c:
499         * gst/gstevent.h:
500         * gst/gstmessage.h:
501           Minor docs fixes.
502
503 === release 0.10.6 ===
504
505 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
506
507         * configure.ac:
508           releasing 0.10.6, "Take the cannoli"
509
510 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
511
512         * tools/gst-launch.c: (print_tag):
513           Fix use of uninitialized variable in the hypothetical
514           case that some broken plugin creates a GST_TAG_IMAGE
515           tag containing a NULL buffer (#341667).
516
517 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
518
519         * tools/gst-launch.c: (print_tag):
520           Print something more intelligible for image tags when
521           using the -t switch (#341556).
522
523 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
524
525         * Makefile.am:
526           updates for win32
527         * configure.ac:
528           define GST_MAJORMINOR so we have it available in win32/common/config.h
529           Possibly remove it from our Makefile.am files later
530         * win32/common/config.h:
531         * win32/common/config.h.in:
532           added GST_MAJORMINOR
533         * win32/common/gstenumtypes.c: (register_gst_resource_error):
534         * win32/common/gstversion.h:
535           updated
536
537 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
538
539         * win32/MANIFEST:
540           Update win32 files listing.
541         * win32/common/gstversion.h:
542           Add GST_MAJORMINOR definition.
543         * win32/common/libgstreamer.def:
544           Add new exported functions.
545           
546 2006-05-12  Michael Smith  <msmith@fluendo.com>
547
548         * gst/gstplugin.c: (gst_plugin_load_file):
549           If an so file has no plugin entry point, unload the module.
550
551 2006-05-11  Wim Taymans  <wim@fluendo.com>
552
553         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
554         (gst_queue_set_property):
555         Don't forget to signal the _chain or _loop function 
556         when the queue size or thresholds change since that might
557         cause them to make progres again.
558
559 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
560
561         * gst/gstclock.c: (gst_clock_class_init):
562         * gst/gstindex.c: (gst_index_class_init):
563         * gst/gstobject.c: (gst_object_class_init):
564         * gst/gstpad.c: (gst_pad_class_init):
565         * gst/gstpipeline.c: (gst_pipeline_class_init):
566         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
567         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
568         * libs/gst/base/gstbasetransform.c:
569         (gst_base_transform_class_init):
570         * libs/gst/net/gstnetclientclock.c:
571         (gst_net_client_clock_class_init):
572         * libs/gst/net/gstnettimeprovider.c:
573         (gst_net_time_provider_class_init):
574         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
575         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
576         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
577         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
578         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
579         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
580         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
581         * plugins/elements/gstidentity.c: (gst_identity_class_init):
582         * plugins/elements/gsttee.c: (gst_tee_class_init):
583         * tests/old/examples/plugins/example.c: (gst_example_class_init):
584         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
585           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
586
587 2006-05-11  Wim Taymans  <wim@fluendo.com>
588
589         * gst/gstbuffer.c: (_gst_buffer_initialize):
590         Register subbufer along with the buffer type so that
591         it does not accidentally gets registered from N
592         different streaming threads in a non threadsafe way.
593
594 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
595
596         * gst/gstbuffer.h:
597         * gst/gstevent.h:
598         * gst/gstmessage.h:
599           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
600           gst_event_ref() and gst_message_ref() functions again
601           (ugly hack, please do fix if there's a better way besides
602           overrides.txt, which doesn't seem to work).
603
604 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
605
606         * libs/gst/check/gstcheck.h:
607           add an assert for setting state to avoid lots of repetitive code
608           in the future
609
610 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
611
612         * gst/gstvalue.c: (gst_value_serialize_flags):
613           fix a leak if no flags are set
614         * tests/check/gst/gstvalue.c: (GST_START_TEST):
615           fix leak in tests
616
617 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
618
619         * docs/manual/basics-pads.xml:
620           Expand a bit on caps and filtered links and update
621           examples that were still using the no longer existing
622           gst_pad_link_filtered() (#338206).
623
624 2006-05-10  Wim Taymans  <wim@fluendo.com>
625
626         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
627         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
628         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
629         (gst_collect_pads_stop):
630         * libs/gst/base/gstcollectpads.h:
631         No need to call _stop in _finalize.
632         Iterate the main pad list in _finalize.
633         Added some more debug.
634         Free lists and data in the right order.
635         Also free data whem doing _remove_pad when stopped for
636         backward compatibility protect ::started with PAD_LOCK as
637         well.
638
639 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
640
641         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
642         (gst_structure_parse_value):
643           add some comments
644           rename a method so that it actually says what it does better
645
646 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
647
648         * gst/gstevent.c: (_gst_event_initialize):
649         * gst/gstformat.c: (_gst_format_initialize):
650           make sure some essential types used by events are registered
651           as part of gst_init()
652         * gst/gstvalue.c: (gst_value_serialize_flags):
653           if no flags are set, serialize them to a value that represents NONE
654           so that deserializing them works
655         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
656           add tests for serialization and deserialization of flags
657
658 2006-05-10  Wim Taymans  <wim@fluendo.com>
659
660         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
661         (gst_collect_pads_collect_range), (gst_collect_pads_available),
662         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
663         (gst_collect_pads_event), (gst_collect_pads_chain):
664         Update docs.
665         Better debug info.
666         Catch and return errors from the collect function
667         Refuse data on eos pads.
668
669 2006-05-10  Edward Hervey  <edward@fluendo.com>
670
671         * gst/gstinterface.h:
672         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
673         GInterface type checking.
674         They were previously using non-defined macros.
675
676 2006-05-09  Wim Taymans  <wim@fluendo.com>
677
678         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
679         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
680         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
681         (gst_collect_pads_start), (gst_collect_pads_stop),
682         (gst_collect_pads_peek), (gst_collect_pads_pop),
683         (gst_collect_pads_available), (gst_collect_pads_read),
684         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
685         (gst_collect_pads_is_collected), (gst_collect_pads_event),
686         (gst_collect_pads_chain):
687         * libs/gst/base/gstcollectpads.h:
688         Clean up the mess that is collectpads, add comments and
689         FIXMEs where needed.
690         Maintain a separate pad list so we can add pads while
691         collecting the other ones. For this we need a new separate 
692         lock (see comics).
693         Fix memory leak in finalize.
694         Refactor some weird code to set/unset pad flushing flags, mark
695         with comments.
696         Don't crash in _available, _read, _flush when we're EOS.
697
698         * tests/check/libs/.cvsignore:
699         Ignore adapter check binary.
700
701 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
702
703         * gst/gstindex.c: (gst_index_resolver_get_type):
704         * plugins/elements/gstfakesink.c:
705         (gst_fake_sink_state_error_get_type):
706         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
707         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
708         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
709           Const-ify GEnumValue arrays.
710
711 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
712
713         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
714           Add test case for flags + gst_buffer_make_metadata_writable().
715
716 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
717
718         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
719           gst_buffer_make_metadata_writable() should maintain the
720           buffer flags (those that make sense at least) (see #340859).
721
722 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
723
724         * tools/gst-inspect.c:
725         * tools/gst-launch.c:
726         * tools/gst-typefind.c:
727         * tools/gst-xmlinspect.c:
728         * tools/tools.h:
729           Fix up includes: need to include stdlib.h in tools.h for exit().
730
731 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
732
733         * gst/gsttaglist.c: (_gst_tag_initialize):
734         * gst/gsttaglist.h:
735           API: add GST_TAG_IMAGE tag (#340721).
736
737 2006-05-08  Wim Taymans  <wim@fluendo.com>
738
739         * gst/gstquery.c:
740         Added some docs for the segment query.
741
742 2006-05-08  Wim Taymans  <wim@fluendo.com>
743
744         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
745         (gst_base_src_loop), (gst_base_src_change_state):
746         Always push non-flushing serialized events in the streaming 
747         thread.
748
749 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
750
751         * gst/gsterror.c: (_gst_stream_errors_init):
752           Add a missing error string.
753
754 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
755
756         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
757         Add applied_rate to the debug
758
759         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
760         Copy applied_rate into the outgoing NEWSEGMENT event
761
762 2006-05-08  Wim Taymans  <wim@fluendo.com>
763
764         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
765
766         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
767         (gst_base_sink_change_state):
768         call ::unlock before taking the PREROLL_LOCK so we can safely
769         handle elements that lock in ::render.
770         Fixes #340174.
771
772 2006-05-08  Edward Hervey  <edward@fluendo.com>
773
774         * autogen.sh: (CONFIGURE_DEF_OPT): 
775         Darwin's libtoolize is in fact called glibtoolize.
776         Adding glibtoolize to the list of accepted names for libtoolize.
777
778 2006-05-08  Wim Taymans  <wim@fluendo.com>
779
780         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
781         Unify error handling, don't post an error message
782         when a push() returns EOS but perform our normal EOS
783         handling code. Fixes #340772.
784
785 2006-05-08  Wim Taymans  <wim@fluendo.com>
786
787         * docs/design/part-overview.txt:
788         Make upsteam/downstream concepts more clear.
789         Give an example of serialized/non-serialized events.
790
791         * docs/design/part-events.txt:
792         * docs/design/part-streams.txt:
793         Mention applied_rate.
794
795         * docs/design/part-trickmodes.txt:
796         Mention applied rate, flesh out some more use cases.
797
798         * gst/gstevent.c: (gst_event_new_new_segment),
799         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
800         (gst_event_parse_new_segment_full), (gst_event_new_tag),
801         (gst_event_parse_tag), (gst_event_new_buffer_size),
802         (gst_event_parse_buffer_size), (gst_event_new_qos),
803         (gst_event_parse_qos), (gst_event_parse_seek),
804         (gst_event_new_navigation):
805         * gst/gstevent.h:
806         Add applied_rate field to NEWSEGMENT event.
807         API: gst_event_new_new_segment_full()
808         API: gst_event_parse_new_segment_full()
809
810         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
811         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
812         (gst_segment_to_stream_time), (gst_segment_to_running_time):
813         * gst/gstsegment.h:
814         Add applied_rate to GstSegment structure.
815         Make calculation of stream_time and running_time more correct
816         wrt rate/applied_rate.
817         Add some more docs.
818         API: GstSegment::applied_rate field
819         API: gst_segment_set_newsegment_full();
820
821         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
822         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
823         * libs/gst/base/gstbasetransform.c:
824         (gst_base_transform_sink_eventfunc),
825         (gst_base_transform_handle_buffer):
826         Parse and use applied_rate in the GstSegment field.
827
828         * tests/check/gst/gstevent.c: (GST_START_TEST):
829         Add check for applied_rate field.
830
831         * tests/check/gst/gstsegment.c: (GST_START_TEST),
832         (gstsegments_suite):
833         Add more checks for various GstSegment operations.
834
835 2006-05-08  Wim Taymans  <wim@fluendo.com>
836
837         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
838         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
839         (gst_base_sink_get_position), (gst_base_sink_change_state):
840         Store the sync time of the buffer end position separatly in a
841         new variable eos_rtime so we can properly sync the EOS event.
842         Fixes #340697.
843         Fix the docs for gst_base_sink_set_qos_enabled().
844         Don't set segment start to invalid value when we receive a 
845         non TIME newsegment.
846         get closer to handling position reporting for negative rates 
847         correctly.
848
849 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
850
851         * gst/gstcaps.c:
852         Docs about how to print caps for debug purposes.
853
854         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
855         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
856
857 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
858
859         * gst/gstelement.c:
860           use full enum names and preprend a '%' in docs strings to make recent 
861           gtk-doc turn that into a link
862
863 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
864
865         * docs/manual/basics-bins.xml:
866         * docs/manual/basics-bus.xml:
867         * docs/manual/basics-pads.xml:
868           Some typo fixes, some additions, some clarifications. 
869
870 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
871
872         * tools/gst-inspect.c: (main):
873         * tools/gst-launch.c: (main):
874         * tools/gst-run.c: (main):
875         * tools/gst-typefind.c: (main):
876         * tools/gst-xmlinspect.c: (main):
877           Use the string passed to g_option_context_new() for
878           what it's intended for - the program name is already
879           printed elsewhere.
880
881 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
882
883         * tools/Makefile.am:
884         * tools/gst-inspect.c: (main):
885         * tools/gst-launch.c: (main):
886         * tools/gst-xmlinspect.c: (main):
887         * tools/tools.h:
888           Add back --version command line option (#340460).
889
890         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
891           Add --version option and use GOption for argument parsing; refactor a
892           bit; accept directories as arguments and recurse into them; lastly,
893           print a decent error message when things go wrong.
894
895 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
896
897         * docs/manual/basics-bins.xml:
898         Don't mention GstThread (#340611)
899         * docs/manual/basics-elements.xml:
900         Update link to GObject tutorial (#340607)
901         
902 2006-05-05  Wim Taymans  <wim@fluendo.com>
903
904         * gst/gstbuffer.h:
905         * gst/gstminiobject.c:
906         Add note about refcounting and miniobject/buffer writeability
907         to docs. Fixes #340604
908
909         * gst/gstelementfactory.h:
910         Added some explanation about @klass.
911
912 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
913
914         * docs/manual/intro-motivation.xml:
915         * docs/manual/manual.xml:
916         Avoid CORBA & Bonobo references (#340598)
917
918 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
919
920         * docs/manual/basics-bus.xml:
921         * docs/manual/basics-pads.xml:
922         Fix up some inaccuracies and omissions (#340609)
923         
924 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
925
926         * gst/gstghostpad.c:
927           Small typo in docs (#340625)
928
929 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
930
931         * gst/parse/Makefile.am:
932           Make 'make -j' proof (see #340698).
933
934 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
935
936         * configure.ac:
937           Require GLib-2.8 here as well.
938
939 2006-05-05  Wim Taymans  <wim@fluendo.com>
940
941         * gst/glib-compat.c:
942         * gst/gst.c: (init_pre):
943         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
944         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
945         (gst_object_dispatch_properties_changed):
946         * gst/gstobject.h:
947         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
948         * gst/gststructure.c: (gst_structure_set_valist):
949         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
950         Remove pre glib2.8 compatibility, fixes #340508
951
952 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
953
954         * gst/gsttaglist.h:
955           Mention type of tags in doc blurbs.
956
957 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
958
959         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
960         (gst_pad_configure_src), (gst_pad_push):
961         Restore acceptcaps checking behaviour now that good plugins have
962         been released.
963
964 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
965
966         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
967
968         * gst/gst.c:
969         * gst/gstbus.c:
970         * gst/gstclock.c:
971         * gst/gstevent.c:
972         * gst/gstformat.c:
973         * gst/gstmessage.c:
974         * gst/gstparse.c:
975         * gst/gstquery.c:
976         * gst/gstutils.c:
977         * gst/parse/Makefile.am:
978         * libs/gst/base/gstadapter.c:
979         * libs/gst/base/gstbasesrc.c:
980         * libs/gst/base/gstpushsrc.c:
981         * libs/gst/base/gsttypefindhelper.c:
982         * plugins/elements/gstfakesrc.c:
983         * plugins/elements/gstidentity.c:
984           Make sure gstprivate.h and/or config.h are
985           always included first, otherwise some of our
986           defines (like _FILE_OFFSET_BITS) might be
987           redefined in the system headers. Fixes build
988           on opensolaris (#340016).
989
990 2006-05-04  Wim Taymans  <wim@fluendo.com>
991
992         * docs/libs/gstreamer-libs-sections.txt:
993         API: addition: gst_adapter_take_buffer()
994         
995         * libs/gst/base/gstadapter.c: (gst_adapter_push),
996         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
997         (gst_adapter_available_fast):
998         * libs/gst/base/gstadapter.h:
999         Prepare for optimizing the hell out of this hugely inefficient
1000         piece of code. 
1001         Added gst_adapter_take_buffer() so we can at least start thinking
1002         about subbuffering and merging.
1003         Added some comments.
1004
1005         * tests/check/Makefile.am:
1006         * tests/check/libs/adapter.c: (GST_START_TEST),
1007         (gst_adapter_suite), (main):
1008         Added GstAdapter check.
1009
1010 2006-05-04  Wim Taymans  <wim@fluendo.com>
1011
1012         * docs/design/part-overview.txt:
1013         Fix some typos, add blurb about buffer flags.
1014
1015 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1016
1017         * docs/libs/gstreamer-libs-sections.txt:
1018           make sure GstBaseTransformClass shows up in the docs
1019         * libs/gst/base/gstbasetransform.c:
1020         * libs/gst/base/gstbasetransform.h:
1021           move docs so gtk-doc picks it up now
1022
1023 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1024
1025         * docs/libs/gstreamer-libs-sections.txt:
1026           add missing symbols to docs
1027
1028 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1029
1030         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1031           back out the newsegment handling change, see #340060 for ongoing
1032           discussion
1033
1034 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
1035
1036         * tools/gst-run.c: (get_candidates), (main):
1037           Fix wrong g_file_test() usage (see glib docs for why it doesn't
1038           work); fix typo in error message. Fixes #340079.
1039
1040 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1041
1042         * common/Makefile.am:
1043         * docs/Makefile.am:
1044         * docs/faq/Makefile.am:
1045         * docs/gst/Makefile.am:
1046         * docs/libs/Makefile.am:
1047         * docs/manual/Makefile.am:
1048         * docs/plugins/Makefile.am:
1049         * docs/pwg/Makefile.am:
1050         * docs/slides/Makefile.am:
1051         * docs/upload.mak:
1052         * common/upload.mak:
1053           move upload.mak to common
1054
1055 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1056
1057         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1058           add more asserts on refcounts
1059           do more cleanup at end of tests
1060           fix test leaks showing in FC5
1061
1062 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1063
1064         * plugins/elements/gsttypefindelement.c:
1065         (gst_type_find_element_handle_event):
1066         reverted wrong change and reflowed code to avoid others falling into
1067         this trap
1068
1069 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1070
1071         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1072           fix changelog entry about last collectpads change,
1073           add notes about proper fix
1074
1075 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1076
1077         * gst/gst.c:
1078         * gst/gstregistry.c: (gst_registry_scan_path_level),
1079         (gst_registry_scan_path):
1080         * gst/gstregistry.h:
1081           only write out registry if it has changed, fixes #338339
1082
1083 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1084
1085         * gst/gstbin.c:
1086         * gst/gstpipeline.c:
1087         * plugins/elements/gstcapsfilter.c:
1088         * plugins/elements/gstfakesink.c:
1089         * plugins/elements/gstfakesrc.c:
1090         * plugins/elements/gstfdsink.c:
1091         * plugins/elements/gstfdsrc.c:
1092         * plugins/elements/gstfilesink.c:
1093         * plugins/elements/gstfilesrc.c:
1094         * plugins/elements/gstidentity.c:
1095         * plugins/elements/gstqueue.c:
1096         * plugins/elements/gsttee.c:
1097         * plugins/elements/gsttypefindelement.c:
1098         (gst_type_find_element_handle_event):
1099           make GstElementDetails const
1100
1101 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1102
1103         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1104         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1105         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1106           more detailed debug and formatting cleanup,
1107           forward newsegments to src-pad (so that e.g. adder not eats them)
1108
1109 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1110
1111         * gst/gstutils.c: (gst_element_link_pads):
1112           cleanup double code
1113
1114 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1115
1116         * libs/gst/controller/gstcontroller.c:
1117         (gst_controller_sync_values):
1118           some little tuning
1119         * tests/check/libs/controller.c: (GST_START_TEST),
1120         (gst_controller_suite):
1121           a new test for live value handling
1122
1123 2006-04-28  Wim Taymans  <wim@fluendo.com>
1124
1125         * gst/gstutils.c: (push_and_ref):
1126         Added some more docs.
1127         Fix refcount issue whith gst_element_found_tags() helper 
1128         function. Fixes #338335
1129
1130         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1131         Added testsuite for gst_element_found_tags().
1132
1133 2006-04-28  Michael Smith  <msmith@fluendo.com>
1134
1135         * gst/gstvalue.c: (gst_value_serialize_flags):
1136           Avoid NULL dereference when trying to serialize flags containing
1137           invalid values.
1138
1139 2006-04-28  Michael Smith  <msmith@fluendo.com>
1140
1141         * plugins/elements/gsttypefindelement.c:
1142         (gst_type_find_element_handle_event):
1143           If we get EOS before any data is accumulated, don't use
1144           uninitialised local variables.
1145
1146 2006-04-28  Michael Smith  <msmith@fluendo.com>
1147
1148         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1149         (gst_dp_event_from_packet):
1150           Fixes in reading/writing events over GDP (not currently used?) - 
1151           dereferencing NULL events for unknown/invalid event types, memory
1152           leak, and change g_warning to GST_WARNING.
1153
1154 2006-04-28  Wim Taymans  <wim@fluendo.com>
1155
1156         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1157         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1158         (gst_base_sink_get_position), (gst_base_sink_change_state):
1159         When frame dropping is enabled, we should not ignore frames
1160         without a duration.
1161         Update some documentation.
1162
1163 2006-04-28  Wim Taymans  <wim@fluendo.com>
1164
1165         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1166         (gst_base_src_send_event), (gst_base_src_change_state):
1167         Documentation updates.
1168
1169 2006-04-28  Wim Taymans  <wim@fluendo.com>
1170
1171         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1172         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1173         handle EAGAIN, EINTR and short writes correctly. Also clean
1174         up some error cases, avoid a deadlock on bad file descriptors and
1175         use GST_DEBUG_OBJECT.
1176         Fixes #339843
1177
1178 2006-04-28  Wim Taymans  <wim@fluendo.com>
1179
1180         * gst/gstvalue.c: (gst_value_serialize_buffer),
1181         (gst_value_deserialize_buffer):
1182         Don't try to serialize a GValue with a NULL buffer. 
1183         Fixes #339821.
1184
1185         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1186         Added check for serialisation of NULL buffers.
1187
1188 2006-04-28  Wim Taymans  <wim@fluendo.com>
1189
1190         * gst/gstminiobject.c: (gst_value_take_mini_object):
1191         Taking a NULL miniobject is valid, fix the case where
1192         we try to unref the NULL miniobject.
1193
1194 2006-04-28  Wim Taymans  <wim@fluendo.com>
1195
1196         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1197
1198         * gst/gstbin.c: (gst_bin_handle_message_func):
1199         Update docs.
1200         Don't leak bin refcount when a state recalc is
1201         in progress and we delay another one #339808.
1202
1203 2006-04-28  Wim Taymans  <wim@fluendo.com>
1204
1205         * docs/design/part-TODO.txt:
1206         Mention QoS as an ongoing work item.
1207
1208         * docs/design/part-buffering.txt:
1209         New doc about buffering that needs to be fleshed out
1210         at some point.
1211
1212         * docs/design/part-qos.txt:
1213         More QoS policy for decoders/demuxers/transforms
1214
1215         * docs/design/part-trickmodes.txt:
1216         Small update.
1217
1218 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1219
1220         * configure.ac:
1221           back to HEAD
1222
1223 === release 0.10.5 ===
1224
1225 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1226
1227         * configure.ac:
1228           releasing 0.10.5, "Fogo"
1229
1230 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1231
1232         patch by: Wim Taymans
1233
1234         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1235         (gst_pad_configure_src), (gst_pad_push):
1236         * gst/gstpipeline.c: (gst_pipeline_init):
1237           Fix internal data flow errors.  Fixes #338711.
1238
1239 2006-04-12  Wim Taymans  <wim@fluendo.com>
1240
1241         * tests/check/gst/gstelement.c: (GST_START_TEST):
1242         Don't leak the factory.
1243
1244 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1245
1246         * configure.ac:
1247         * win32/common/config.h:
1248           prerelease
1249
1250 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1251
1252         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1253         (gst_controller_unset_all):
1254           Free allocated GstTimedValues when freeing list nodes.
1255           Should fix leaks 'make check-valgrind' complains about.
1256
1257         * win32/common/libgstcontroller.def:
1258           Add gst_controller_unset_all.
1259
1260 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1261
1262         * docs/libs/gstreamer-libs-sections.txt:
1263         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1264         (gst_controller_unset_all):
1265         * libs/gst/controller/gstcontroller.h:
1266         API: Added new method gst_controller_unset_all()
1267         fixed gst_controller_unset()
1268         * tests/check/libs/controller.c: (GST_START_TEST),
1269         (gst_controller_suite):
1270         Added two testcases for new and fixed method
1271
1272 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
1273
1274         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1275           MSG_DONTWAIT is not defined on Cygwin, so work
1276           around that (fixes #317048).
1277           
1278 2006-04-11  Wim Taymans  <wim@fluendo.com>
1279
1280         * gst/gstelementfactory.c: (gst_element_register),
1281         (gst_element_factory_create), (gst_element_factory_make):
1282         Some cleanups.
1283         Fixed a FIXME.
1284         Updated docs (Fixes #131079)
1285
1286         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1287         Small cleanups.
1288
1289         * tests/check/gst/gstelement.c: (GST_START_TEST),
1290         (gst_element_suite):
1291         Added testcase for elementfactory class field.
1292
1293 2006-04-10  Wim Taymans  <wim@fluendo.com>
1294
1295         * gst/gstsegment.c:
1296         Added some more docs.
1297
1298         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1299         (gst_base_sink_reset_qos):
1300         Calculate more accurate rate values.
1301
1302 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
1303
1304         * gst/gst_private.h:
1305           add a new #ifdef to use __declspec(dllimport) only for
1306           other modules and not for gstreamer core
1307         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1308           use gst_guint64_to_gdouble for conversion
1309         * win32/common/libgstreamer.def:
1310           add new exported functions
1311         * win32/vs6/gst_inspect.dsp:
1312         * win32/vs6/gst_launch.dsp:
1313         * win32/vs6/libgstbase.dsp:
1314         * win32/vs6/libgstcontroller.dsp:
1315         * win32/vs6/libgstcoreelements.dsp:
1316         * win32/vs6/libgstdataprotocol.dsp:
1317         * win32/vs6/libgstnet.dsp:
1318           update project files
1319
1320 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1321
1322         * gst/gstbuffer.c: (gst_subbuffer_class_init):
1323         * gst/gstclock.c: (gst_clock_class_init):
1324         * gst/gstelement.c: (gst_element_class_init):
1325         * gst/gstindex.c: (gst_index_class_init):
1326         * gst/gstindexfactory.c: (gst_index_factory_class_init):
1327         * gst/gstobject.c: (gst_object_class_init),
1328         (gst_signal_object_class_init):
1329         * gst/gstpad.c: (gst_pad_class_init):
1330         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1331         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1332         * gst/gstregistry.c: (gst_registry_class_init):
1333         * gst/gstsystemclock.c: (gst_system_clock_class_init):
1334         * gst/gsttask.c: (gst_task_class_init):
1335         * gst/gstxml.c: (gst_xml_class_init):
1336         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1337         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1338         (gst_base_src_loop):
1339         * libs/gst/controller/gstcontroller.c:/
1340         (_gst_controller_class_init):
1341         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1342         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1343         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1344         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1345         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1346         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1347
1348 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
1349
1350         * gst/gstpad.c: (gst_pad_link):
1351           Must set peer pads before calling the link function, otherwise
1352           a task started from a link function might get a flow-not-linked
1353           result when trying to push because the other thread where the
1354           linking happens hasn't had a chance to set the peers yet. This
1355           might happen for example when a queue gets linked to a downstream
1356           element, as queue starts a streaming task when its source pad
1357           gets linked. Happens in real life when playing back flac/musepack
1358           files in playbin (#332390).
1359           
1360 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1361
1362         * gst/gstindex.h:
1363         * gst/gstxml.h:
1364         * libs/gst/base/gstadapter.h:
1365         * libs/gst/base/gstbasesink.h:
1366         * libs/gst/base/gstbasesrc.h:
1367         * libs/gst/base/gstbasetransform.h:
1368         * libs/gst/base/gstcollectpads.h:
1369         * libs/gst/base/gstpushsrc.h:
1370         Fix broken GObject macros
1371
1372 2006-04-07  Wim Taymans  <wim@fluendo.com>
1373
1374         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1375         Initialize start and stop times, thanks valgrind.
1376
1377 2006-04-07  Wim Taymans  <wim@fluendo.com>
1378
1379         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1380         Be a bit nicer to badly behaving upstream elements that expect
1381         us to deal with non TIME segments and timestamps (such as fakesrc
1382         in the testsuite).
1383
1384 2006-04-07  Wim Taymans  <wim@fluendo.com>
1385
1386         * gst/gstbus.c:
1387         Small documentation clarification about the signal watch.
1388
1389         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1390         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1391         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1392         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1393         (gst_base_sink_get_position_last),
1394         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1395         Convert and store timestamps in stream time and running time, the
1396         raw timestamps are not usefull, also document this better.
1397         Use different window sizes for good and bad QoS observations so
1398         we react to badness a little quicker.
1399         Keep track of the amount of rendered and dropped buffers.
1400         Send QoS timestamps in running time.
1401
1402         * libs/gst/base/gstbasetransform.c:
1403         (gst_base_transform_sink_eventfunc),
1404         (gst_base_transform_handle_buffer):
1405         Compare QoS timestamps against running time.
1406
1407 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1408
1409         * gst/gstpad.c:
1410           Typo fixes in docs.
1411
1412 2006-04-06  Michael Smith  <msmith@fluendo.com>
1413
1414         * gst/gstpad.c: (gst_pad_set_property):
1415           Use g_value_get_object() instead of g_value_dup_gst_object(),
1416           to avoid double-reffing the pad template (which we then sink,
1417           so this worked previously if (and only if) the pad template
1418           was floating.
1419
1420         * gst/gstpadtemplate.c: (gst_pad_template_init),
1421         (gst_pad_template_pad_created):
1422           Never return floating references to pad templates, create
1423           them as initially-sunken.
1424
1425           Document an extra function (and make this stop sinking our
1426           pad template, since that is now guaranteed to do nothing,
1427           since we created it sunken).
1428
1429         * gst/gstghostpad.c:
1430           Fix docs typo.
1431
1432 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1433
1434         * gst/gstinfo.c: (__gst_in_valgrind):
1435           Add some newlines.
1436
1437         * plugins/elements/gsttypefindelement.c:
1438         (gst_type_find_element_chain):
1439           Don't leak buffer caps.
1440
1441 2006-04-06  Michael Smith  <msmith@fluendo.com>
1442
1443         * gst/parse/grammar.y:
1444           Fix a leak in parse-launch for any source-or-sink named element 
1445           references used.
1446
1447         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1448           Unref the pipeline if it exists after we've failed parsing.
1449
1450 2006-04-05  Michael Smith  <msmith@fluendo.com>
1451
1452         * gst/gstpipeline.c: (gst_pipeline_init):
1453           When we create a pipeline bus, initially create it in flushing mode.
1454           Fixes leaks in at least one test, and makes a new pipeline work the
1455           same as one that has gone to READY and then back to NULL.
1456
1457         * gst/gstelement.c:
1458           Typo fix in docs.
1459
1460 2006-04-05  Michael Smith  <msmith@fluendo.com>
1461
1462         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1463           Unref a pad we reffed.
1464         * tests/check/gst/gstutils.c: (GST_START_TEST):
1465           Unref bins
1466
1467 2006-04-05  Michael Smith  <msmith@fluendo.com>
1468
1469         * gst/gstquery.c: (gst_query_set_formats),
1470         (gst_query_set_formatsv):
1471           Fix leaking GValues in queries, as shown by valgrind/testsuite.
1472
1473 2006-04-05  Michael Smith  <msmith@fluendo.com>
1474
1475         * tests/check/generic/sinks.c: (GST_START_TEST):
1476           Fix a variety of memleaks in sinks check, which are only sometimes 
1477           shown by running the tests under valgrind (weird?).
1478
1479 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
1480
1481         * docs/version.entities.in:
1482           Fix the substituted entity name after thomas' changes on the
1483           weekend.
1484
1485 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1486
1487         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1488         VALGRIND_PRINTF
1489         
1490 2006-04-05  Andy Wingo  <wingo@pobox.com>
1491
1492         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1493
1494         * libs/gst/base/gstbasetransform.c
1495         (gst_base_transform_sink_eventfunc): When resetting our segment on
1496         FLUSH_STOP, also update the flag saying we haven't seen a
1497         newsegment.
1498
1499 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1500
1501         Patch by: Paolo Borelli  <pborelli at katamail dot com>
1502
1503         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1504         (gst_plugin_check_license):
1505           minor clean-ups: G_DEFINE_TYPE already takes care of the
1506           parent_class stuff, no need to do it twice. Mark array of
1507           license strings as constant. (#337103)
1508           
1509 2006-04-04  Michael Smith  <msmith@fluendo.com>
1510
1511         * tools/gst-inspect.c: (print_element_list):
1512           Free the right plugin list; fixes a memory leak.
1513
1514 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1515
1516         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
1517
1518         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1519           Don't error out on empty buffers (#336945).
1520           
1521 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
1522
1523         * docs/libs/gstreamer-libs-sections.txt:
1524         * gst/gsttaglist.c:
1525         * libs/gst/base/gstbasesink.c:
1526         * libs/gst/base/gstbasesink.h:
1527         * libs/gst/base/gstbasesrc.c:
1528         * libs/gst/base/gstbasesrc.h:
1529           Documentation updates. Make BaseSink and BaseSrc docs contain the
1530           class structure so that people can actually see the prototypes for
1531           virtual functions they're supposed to be overriding.
1532
1533 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1534
1535         * plugins/elements/gsttypefindelement.c:
1536         (gst_type_find_element_chain):
1537           More debug info; when skipping typefinding, send cached
1538           events in all cases.
1539
1540 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1541
1542         * configure.ac:
1543           use new AS_VERSION and AS_NANO macros
1544         * gst/gst-i18n-lib.h:
1545         * gst/gst.c:
1546         * gst/gsterror.c:
1547         * gst/gstversion.h.in:
1548         * win32/common/config.h:
1549         * win32/common/config.h.in:
1550           update accordingly
1551
1552 2006-03-31  Michael Smith  <msmith@fluendo.com>
1553
1554         * plugins/elements/gsttypefindelement.c:
1555         (gst_type_find_element_chain):
1556           Do not typefind content if the buffers already have caps.
1557           Neccesary for icydemux (#333657), and the right thing to do anyway.
1558
1559 2006-03-30  Wim Taymans  <wim@fluendo.com>
1560
1561         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1562         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1563         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1564         (gst_base_sink_record_qos_observation),
1565         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1566         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1567         (gst_base_sink_change_state):
1568         More QoS measurements as described in the design doc.
1569         Get rid of ringbuffer with observations, running average is
1570         more simple and equally good.
1571         Calculates valid proportion now.
1572         Added beginning of flood measurement.
1573
1574 2006-03-29  Wim Taymans  <wim@fluendo.com>
1575
1576         * docs/design/part-qos.txt:
1577         * gst/gstclock.c:
1578         Small documentation updates and additions.
1579
1580 2006-03-29  Wim Taymans  <wim@fluendo.com>
1581
1582         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1583         (gst_base_src_send_event), (gst_base_src_loop),
1584         (gst_base_src_change_state):
1585         Perform the EOS logic when we reach the segment stop position.
1586         Fix compilation on gcc4.1
1587
1588 2006-03-29  Wim Taymans  <wim@fluendo.com>
1589
1590         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1591
1592         * plugins/elements/gstqueue.c: (gst_queue_init),
1593         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1594         (gst_queue_set_property):
1595         * plugins/elements/gstqueue.h:
1596         In queue, when EOS is received, if minimum threshold > max_size -
1597         current_level, there is chance that queue blocks forever in conditional
1598         item del wait. This is because the queue is not emptied completely due
1599         to minimum threshold.  Here is another approach. Instead of setting
1600         cur_levels to max in EOS, just zero all minimum threshold levels. This
1601         should make sure that queue gives out all data. When going to READY
1602         (stop) state, just reset the original minimum threshold levels.
1603         Fixes #336336.
1604
1605 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
1606
1607         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1608         (gst_type_find_element_handle_event),
1609         (gst_type_find_element_send_cached_events),
1610         (gst_type_find_element_change_state):
1611         * plugins/elements/gsttypefindelement.h:
1612           When typefinding is done in push mode, we should cache
1613           events we receive during typefinding instead of just
1614           dropping them (e.g. newsegment, custom events from
1615           dvdreadsrc etc.) and then send them out once we've
1616           determined the type of the stream (and decodebin
1617           has had a chance to plug in a decoder/demuxer).
1618           
1619 2006-03-27  Wim Taymans  <wim@fluendo.com>
1620
1621         * docs/design/part-qos.txt:
1622         First QoS ideas.
1623
1624 2006-03-27  Wim Taymans  <wim@fluendo.com>
1625
1626         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1627
1628         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1629         (gst_base_src_send_event), (gst_base_src_change_state):
1630         Handle element seek correctly when we are streaming.
1631         Fixes #326998.
1632
1633 2006-03-24  Michael Smith  <msmith@fluendo.com>
1634
1635         * docs/faq/gst-uninstalled:
1636           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1637           allow you to correctly run intalled applications built against old 
1638           core, using plugins that require updated core (e.g. running
1639           installed totem against a full uninstalled gstreamer stack)
1640
1641 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1642
1643         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1644         more debug details
1645
1646 2006-03-24  Wim Taymans  <wim@fluendo.com>
1647
1648         * docs/gst/gstreamer-sections.txt:
1649         Rearrange the order of the methods so that related methods
1650         are grouped together in sections.
1651
1652 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1653
1654         * gst/gstelement.c:
1655           Little clarification in the docs
1656
1657 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1658
1659         * docs/README:
1660         formatting fix
1661         * plugins/elements/gstidentity.c:
1662         * plugins/elements/gstqueue.c:
1663         * plugins/elements/gsttee.c:
1664         * plugins/elements/gsttypefindelement.c:
1665         GST_ELEMENT_DETAILS formatting
1666
1667 2006-03-24  Wim Taymans  <wim@fluendo.com>
1668
1669         * libs/gst/base/gstbasesink.h:
1670         Only add fields, not insert or we break ABI.
1671
1672 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1673
1674         * win32/common/libgstbase.def:
1675         * win32/common/libgstreamer.def:
1676           Update, add recently added functions.
1677
1678 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1679
1680         * docs/gst/gstreamer-sections.txt:
1681         * gst/gstutils.c: (gst_pad_query_peer_position),
1682         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
1683         * gst/gstutils.h:
1684           API: add some new utility functions:
1685            - gst_pad_query_peer_position()
1686            - gst_pad_query_peer_duration()
1687            - gst_pad_query_peer_convert()
1688           
1689 2006-03-23  Wim Taymans  <wim@fluendo.com>
1690
1691         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1692         (gst_base_sink_init), (gst_base_sink_finalize),
1693         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
1694         (gst_base_sink_set_property), (gst_base_sink_get_property),
1695         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
1696         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1697         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
1698         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1699         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1700         (gst_base_sink_preroll_object), (gst_base_sink_event),
1701         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
1702         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1703         (gst_base_sink_query), (gst_base_sink_change_state):
1704         Decouple max-lateness and the fact that QoS messages are generated
1705         with a new property (qos).
1706         added API: GstBaseSink::async_play()
1707         Add vmethod so subclasses can be notified of ASYNC playing
1708         state changes.
1709         Collect timestamp start and stop to report better current
1710         position in EOS/PLAYING/PAUSED/READY/NULL.
1711         Refactor QoS/frame dropping and other measurements.
1712         API: GstBaseSrc::qos
1713         Fixes #326311
1714
1715         * libs/gst/base/gstbasesink.h:
1716         Added Private struct.
1717         API: gst_base_sink_set_qos_enabled()
1718         API: gst_base_sink_is_qos_enabled()
1719
1720 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1721
1722         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1723           If compiling against GLib-2.8 or newer, try to read the
1724           registry file using GMappedFile first before falling back
1725           to fopen() + fread() (#332151).
1726
1727 2006-03-22  Wim Taymans  <wim@fluendo.com>
1728
1729         * gst/gstinfo.c: (gst_debug_set_active),
1730         (gst_debug_category_set_threshold):
1731         Disable debugging unless explicitly activated.
1732         Fixes #335480.
1733
1734 2006-03-22  Wim Taymans  <wim@fluendo.com>
1735
1736         * gst/gstelement.c: (gst_element_set_locked_state),
1737         (gst_element_dispose):
1738         Cleanup the error case.
1739
1740         * gst/gstobject.c: (gst_object_dispose):
1741         print a critical when some object was disposed with
1742         a parent, also revive the object since it might
1743         crash the parent.
1744
1745 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
1746
1747         * tools/gst-launch.1.in:
1748           Fix another typo.
1749
1750 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1751
1752         * configure.ac:
1753         * tests/check/Makefile.am:
1754           disable some tests when we don't have a registry
1755         * tests/check/gst/gstutils.c: (gst_utils_suite):
1756           don't build the part that needs parsing
1757
1758 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1759
1760         * gst/Makefile.am
1761         * tests/examples/Makefile.am:
1762           fix --disable-parse build
1763
1764 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1765
1766         * tools/gst-feedback.1.in:
1767           Fix typo: s/feeback/feedback/ (#133494).
1768
1769 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1770
1771         * tools/Makefile.am:
1772         * tools/gst-launch.1.in:
1773           Add FILES section and correct entry about GST_REGISTRY_PATH
1774           environment variable (#133495; #133494).
1775
1776 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1777
1778         * tools/Makefile.am:
1779         * tools/gst-md5sum.1.in:
1780         * tools/gst-md5sum.c:
1781           Remove gst-md5sum and man page (the md5sink element
1782           required was removed ages ago)
1783
1784 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1785
1786         * gst/gststructure.c: (gst_structure_id_set_value):
1787           Make sure that string fields in structures/taglists
1788           contain valid UTF-8 - we don't want to pass rubbish to
1789           applications because of a buggy plugin (cp. #334167).
1790
1791 2006-03-21  Edward Hervey  <edward@fluendo.com>
1792
1793         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1794         (gst_bin_handle_message_func):
1795         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
1796         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
1797         (gst_element_set_bus_func):
1798         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
1799         * gst/gstminiobject.c: (gst_value_set_mini_object),
1800         (gst_value_take_mini_object):
1801         * gst/gstpad.c: (gst_pad_set_pad_template):
1802         * gst/gstpipeline.c: (gst_pipeline_dispose),
1803         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
1804         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
1805         (gst_collect_pads_chain):
1806         * libs/gst/net/gstnettimeprovider.c:
1807         (gst_net_time_provider_set_property):
1808         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
1809         It's in fact all issues with gst_*object_replace().
1810
1811 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1812
1813         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
1814         
1815         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1816         * pkgconfig/gstreamer-check.pc.in:
1817           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
1818
1819 2006-03-21  Edward Hervey  <edward@fluendo.com>
1820
1821         * gst/gstbuffer.h:
1822         * gst/gstevent.h:
1823         * gst/gstmessage.h:
1824         gst_[buffer|event|message]_ref() macros are replaced by a static
1825         inline functions because gcc-4.1 will about if the return value
1826         isn't used.
1827         * tests/check/gst/gstevent.c: (event_probe):
1828         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
1829
1830 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
1831
1832         * gst/gstutils.h:
1833         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
1834         the type' case. (Closes: #335195 for now). In the future, when we
1835         depend on GLib 2.10, we could also intern the type name using
1836         g_intern_static_string()
1837
1838 2006-03-20  Wim Taymans  <wim@fluendo.com>
1839
1840         * gst/gstbin.c: (gst_bin_handle_message_func),
1841         (bin_query_max_init), (bin_query_position_fold),
1842         (bin_query_position_done), (gst_bin_query):
1843         Position query should also take max of all streams.
1844
1845 2006-03-20  Wim Taymans  <wim@fluendo.com>
1846
1847         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1848         (gst_fake_src_finalize):
1849         Fix leaks in fakesrc.
1850
1851         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1852         Fix leaks in the testcase.
1853
1854 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
1855
1856         * gst/gst_private.h:
1857           add win32 specific import decoration(__declspec(dllimport)) 
1858           for all extern GstDebugCategory * variables
1859         * win32/common/libgstbase.def:
1860         * win32/common/libgstcontroller.def:
1861         * win32/common/libgstreamer.def:
1862           Add some exports, remove empty lines
1863         * win32/common/libgstdataprotocol.def:
1864         * win32/common/libgstdataprotocol.dsp:
1865         * win32/common/libgstnet.def:
1866         * win32/common/libgstnet.dsp:
1867           new project files and exportation files added
1868         
1869 2006-03-19  Wim Taymans  <wim@fluendo.com>
1870
1871         * tests/check/libs/basesrc.c: (eos_event_counter):
1872         Use proper return value for probe.
1873
1874 2006-03-17  Wim Taymans  <wim@fluendo.com>
1875
1876         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1877         (gst_pad_push):
1878         Don't leak buffers, caps and pads on negotiation errors.
1879
1880 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
1881
1882         * docs/faq/cvs.xml:
1883         * docs/faq/dependencies.xml:
1884         * docs/faq/developing.xml:
1885         * docs/faq/faq.xml:
1886         * docs/faq/general.xml:
1887         * docs/faq/getting.xml:
1888         * docs/faq/legal.xml:
1889         * docs/faq/troubleshooting.xml:
1890         * docs/faq/using.xml:
1891         Faq review and update.
1892
1893 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
1894
1895         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1896         (gst_pad_push):
1897         Don't pound the cpu to pieces by checking get_caps when accept_caps
1898         is called with the same caps as the pad already has.
1899         Use GST_DEBUG_OBJECT when outputting caps change information.
1900
1901 2006-03-15  Wim Taymans  <wim@fluendo.com>
1902
1903         * gst/gstclock.c: (gst_clock_class_init):
1904         Fix docs.
1905
1906 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
1907
1908         * gst/gstbuffer.h:
1909         Documentation fix.
1910
1911         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
1912         (gst_pad_accept_caps), (gst_pad_configure_sink),
1913         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
1914         Make the default acceptcaps behaviour be to check the requested 
1915         caps against the gst_pad_get_caps output. 
1916
1917         Ensure that gst_pad_accept_caps is used to check caps when a pad
1918         doesn't have a setcaps function, so that pads automatically refuse 
1919         caps that they don't allow in their pad template. (Fixes #332986)
1920
1921         When a buffer with attached caps is pushed, ensure that the source 
1922         pad receives those caps even if the element didn't call
1923         gst_pad_set_caps first.
1924
1925 2006-03-15  Wim Taymans  <wim@fluendo.com>
1926
1927         * libs/gst/base/gstadapter.c:
1928         Add some docs.
1929
1930 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
1931
1932         * win32/common/libgstbase.def:
1933         * win32/common/libgstcontroller.def:
1934         * win32/common/libgstreamer.def:
1935           Add a whole bunch of missing functions (#334434).
1936
1937 2006-03-14  Wim Taymans  <wim@fluendo.com>
1938
1939         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1940         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
1941         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
1942         Better debug info when we receive a segment event.
1943         Reorganize a bit so we can pass the get_times() results around.
1944         Use the segment format when calculating the running time.
1945         Don't do QoS is sync is disabled or we have no clock or the
1946         element does not want us to sync to the clock.
1947         Don't drop buffers if QoS is disabled for now.
1948
1949 2006-03-14  Wim Taymans  <wim@fluendo.com>
1950
1951         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
1952         Marked the stats property as unimplemented so people don't get
1953         wild ideas.
1954         Add debug message when regression goes wrong.
1955         Added some more docs.
1956
1957 2006-03-14  Wim Taymans  <wim@fluendo.com>
1958
1959         * gst/gstsegment.c: (gst_segment_to_stream_time):
1960         Return correct return type in case of errors.
1961
1962 2006-03-14  Wim Taymans  <wim@fluendo.com>
1963
1964         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
1965           Don't segfault on invalid formats.
1966
1967 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1968
1969         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1970           Can't use gst_segment_to_running_time() when the segment
1971           is not in GST_TIME_FORMAT (like with filesink, for example).
1972           Stops flac encoding pipelines from spewing critical warnings
1973           at EOS (#331248).
1974           
1975 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
1976
1977         * gst/gstpipeline.c: (gst_pipeline_class_init):
1978           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
1979
1980         * plugins/elements/gsttypefindelement.c:
1981         (gst_type_find_element_handle_event):
1982           Don't try to typefind empty streams.
1983
1984 2006-03-14  Wim Taymans  <wim@fluendo.com>
1985
1986         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
1987         (gst_base_sink_do_qos):
1988         Separate QoS calculation.
1989         Only drop buffers when lateness is bigger than the 
1990         duration of the buffer.
1991
1992 2006-03-13  Wim Taymans  <wim@fluendo.com>
1993
1994         * gst/gstpipeline.c: (gst_pipeline_set_property),
1995         (gst_pipeline_get_property), (do_pipeline_seek),
1996         (gst_pipeline_change_state), (gst_pipeline_set_delay),
1997         (gst_pipeline_get_delay):
1998         Don't deadlock when reading properties.
1999
2000 2006-03-13  Wim Taymans  <wim@fluendo.com>
2001
2002         * libs/gst/base/gstbasetransform.c:
2003         (gst_base_transform_class_init), (gst_base_transform_init),
2004         (gst_base_transform_sink_event),
2005         (gst_base_transform_sink_eventfunc),
2006         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2007         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2008         (gst_base_transform_set_property),
2009         (gst_base_transform_get_property),
2010         (gst_base_transform_change_state), (gst_base_transform_update_qos),
2011         (gst_base_transform_set_qos_enabled),
2012         (gst_base_transform_is_qos_enabled):
2013         * libs/gst/base/gstbasetransform.h:
2014         Make basetransform virtual method for src events too.
2015         Handle QOS in basetransform.
2016         API: gst_base_transform_update_qos()
2017         API: gst_base_transform_set_qos_enabled()
2018         API: gst_base_transform_is_qos_enabled()
2019
2020 2006-03-13  Wim Taymans  <wim@fluendo.com>
2021
2022         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2023         (gst_base_sink_do_sync):
2024         Small cleanups.
2025         Use QOS debug category.
2026
2027 2006-03-13  Wim Taymans  <wim@fluendo.com>
2028
2029         * plugins/elements/gstqueue.c:
2030         Very small doc update.
2031
2032 2006-03-13  Wim Taymans  <wim@fluendo.com>
2033
2034         * gst/gst_private.h:
2035         * gst/gstinfo.c: (_gst_debug_init):
2036         Added QOS debug category
2037
2038 2006-03-13  Wim Taymans  <wim@fluendo.com>
2039
2040         * docs/gst/gstreamer-sections.txt:
2041         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2042         * gst/gstbin.h:
2043         * gst/gstbus.c: (gst_bus_class_init):
2044         * gst/gstbus.h:
2045         * gst/gstclock.c:
2046         * gst/gstelement.c: (gst_element_set_locked_state):
2047         * gst/gstsegment.c:
2048         Documentation updates.
2049
2050         * gst/gstpipeline.c: (gst_pipeline_get_type),
2051         (gst_pipeline_class_init), (gst_pipeline_init),
2052         (gst_pipeline_dispose), (gst_pipeline_set_property),
2053         (gst_pipeline_get_property), (do_pipeline_seek),
2054         (gst_pipeline_send_event), (gst_pipeline_change_state),
2055         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2056         (gst_pipeline_get_delay):
2057         * gst/gstpipeline.h:
2058         Added methods for setting the delay.
2059         API: gst_pipeline_set_delay()
2060         API: gst_pipeline_get_delay()
2061         Add pipeline debug category
2062         Various cleanups.
2063         Updated docs.
2064         Don't reset stream time when seek failed.
2065
2066 2006-03-13  Wim Taymans  <wim@fluendo.com>
2067
2068         * docs/design/draft-klass.txt:
2069         * docs/design/part-clocks.txt:
2070         * docs/design/part-events.txt:
2071         * docs/design/part-gstbin.txt:
2072         * docs/design/part-gstpipeline.txt:
2073         * docs/design/part-messages.txt:
2074         * docs/design/part-negotiation.txt:
2075         * docs/design/part-overview.txt:
2076         * docs/design/part-preroll.txt:
2077         * docs/design/part-seeking.txt:
2078         * docs/design/part-states.txt:
2079         * docs/design/part-streams.txt:
2080         Documentation updates.
2081
2082 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2083
2084         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2085         us to leak strings...
2086
2087 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2088
2089         * libs/gst/net/gstnettimeprovider.c:
2090           fix docs
2091         * win32/common/config.h:
2092           update
2093
2094 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2095
2096         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2097
2098         * configure.ac:
2099           Don't check for libgnomeui (leftover from old examples
2100           that aren't built or disted any longer) (#334303).
2101           
2102 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2103
2104         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2105         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2106           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2107           there's no space left on the device.
2108
2109 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2110
2111         * gst/gstclock.h:
2112           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2113           to cast the input to GstClockTime before comparing with
2114           another GstClockTime value.
2115
2116 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2117
2118         * configure.ac:
2119           back to trunk
2120
2121 === release 0.10.4 ===
2122
2123 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2124
2125         * configure.ac:
2126           releasing 0.10.4, "Light"
2127
2128 2006-03-10  Michael Smith  <msmith@fluendo.com>
2129
2130         * libs/gst/dataprotocol/dataprotocol.c:
2131           Fix docs for dataprocotol to not get the return types completely
2132           wrong for a few functions.
2133
2134 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2135
2136         * docs/gst/gstreamer-sections.txt:
2137         * gst/gstpipeline.c: (gst_pipeline_class_init),
2138         (gst_pipeline_init), (gst_pipeline_set_property),
2139         (gst_pipeline_get_property), (gst_pipeline_change_state),
2140         (gst_pipeline_set_auto_flush_bus),
2141         (gst_pipeline_get_auto_flush_bus):
2142         * gst/gstpipeline.h:
2143           Add new API: gst_pipeline_set_auto_flush_bus() and
2144           gst_pipeline_get_auto_flush_bus() to disable automatic
2145           flushing of the pipeline's GstBus when going from READY
2146           to NULL state (#332045).
2147
2148 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2149
2150         * docs/gst/gstreamer-sections.txt:
2151         * gst/gsturi.c: (gst_uri_has_protocol):
2152         * gst/gsturi.h:
2153            Add new API: gst_uri_has_protocol() (#333779).
2154
2155 2006-03-09  Wim Taymans  <wim@fluendo.com>
2156
2157         * gst/gstclock.c: (gst_clock_entry_new),
2158         (gst_clock_id_compare_func), (gst_clock_id_wait),
2159         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2160         (gst_clock_init), (gst_clock_get_internal_time),
2161         (gst_clock_set_master), (do_linear_regression),
2162         (gst_clock_add_observation), (gst_clock_set_property):
2163         * gst/gstclock.h:
2164         Review docs.
2165         Small cleanups.
2166         Fix a possible segfault when the window-size is made smaller.
2167         Calculate jitter before performing the clock wait. Ideally
2168         the clock implementation should calculate jitter but we need
2169         API breakage for that.
2170
2171         * gst/gstsystemclock.c: (gst_system_clock_init):
2172         Docs review.
2173         
2174         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2175         Remove leftover else
2176
2177         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2178         (gst_systemclock_suite):
2179         Added check to test GST_CLOCK_DIFF.
2180
2181 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2182
2183         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2184         (gst_type_find_helper_get_range):
2185           If we are provided with the size, we should implement
2186           GstTypeFind::get_length, so that typefind functions who
2187           want to can actually peek at the middle of a file.
2188
2189 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2190
2191         * docs/manual/advanced-dataaccess.xml:
2192           Add some very very basic error checking.
2193
2194         * docs/pwg/appendix-checklist.xml:
2195           Some updates to the list of things to check when writing an element.
2196
2197 2006-03-08  Wim Taymans  <wim@fluendo.com>
2198
2199         * docs/design/part-element-transform.txt:
2200         Added some docs about the design of tranform elements.
2201
2202         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2203         (gst_base_src_loop), (gst_base_src_change_state):
2204         Mark buffers with the DISCONT flag.
2205
2206 2006-03-08  Michael Smith  <msmith@fluendo.com>
2207
2208         * gst/gstregistry.h:
2209         * gst/gstregistryxml.c: (gst_registry_save),
2210         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2211         (gst_registry_xml_save_pad_template),
2212         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2213         (gst_registry_xml_write_cache):
2214           Rewrite registry-saving to avoid race conditions and check for
2215           failed writes.
2216
2217 2006-03-08  Wim Taymans  <wim@fluendo.com>
2218
2219         * libs/gst/base/gstbasetransform.c:
2220         (gst_base_transform_transform_caps),
2221         (gst_base_transform_transform_size),
2222         (gst_base_transform_prepare_output_buffer),
2223         (gst_base_transform_get_unit_size),
2224         (gst_base_transform_buffer_alloc),
2225         (gst_base_transform_handle_buffer),
2226         (gst_base_transform_change_state):
2227         Cleanups, separate normal flow from errors, add sensible
2228         DEBUG lines.
2229         Don't try to renegotiate when allocating an output buffer.
2230         Also copy DISCONT buffer flag when copying a buffer.
2231         Reset the transform after we finish streaming, not during.
2232
2233 2006-03-08  Wim Taymans  <wim@fluendo.com>
2234
2235         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2236         Use last buffer timestamp in qos message.
2237
2238 2006-03-07  Wim Taymans  <wim@fluendo.com>
2239
2240         Patch by: Christophe Fergeau
2241
2242         * docs/pwg/advanced-tagging.xml:
2243         * docs/pwg/building-pads.xml:
2244           fixes #333416
2245
2246 2006-03-07  Wim Taymans  <wim@fluendo.com>
2247
2248         * docs/libs/gstreamer-libs-sections.txt:
2249         Added basesink new methods.
2250
2251         * gst/gstevent.c:
2252         * gst/gstevent.h:
2253         Docs updates. Flesh out the QoS docs.
2254
2255         * libs/gst/base/gstadapter.c:
2256         Small doc clarification about ownership and flushing.
2257
2258         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2259         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2260         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2261         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2262         * libs/gst/base/gstbasesink.h:
2263         API additions: 
2264         Added new methods to allow subclass to control max-lateness 
2265         and sync.
2266         Generate very basic QoS events based on last sync observation.
2267         Updated docs, fix typo, added some QoS blurb.
2268
2269         * libs/gst/base/gstbasesrc.c:
2270         Remove obsolete _get_state() calls from docs.
2271
2272 2006-03-07  Wim Taymans  <wim@fluendo.com>
2273
2274         * docs/libs/gstreamer-libs-sections.txt:
2275         * libs/gst/base/gstbasetransform.h:
2276         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2277         Fix docs for GstBaseSrc.
2278
2279 2006-03-07  Wim Taymans  <wim@fluendo.com>
2280
2281         * docs/gst/gstreamer-sections.txt:
2282         * gst/gstbuffer.h:
2283         * gst/gstvalue.c:
2284         * libs/gst/base/gstbasetransform.h:
2285         Small documentation fixes.
2286
2287 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2288
2289         * gst/gstvalue.c:
2290           Document thread-unsafety of gst_value_register_foo_func()
2291           when used at the same time as gst_value_foo() (#322628).
2292
2293 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2294
2295         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2296         (gst_push_src_check_get_range):
2297           Push sources don't support pull mode by default.
2298
2299 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2300
2301         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2302         (gst_base_src_init), (gst_base_src_pad_check_get_range),
2303         (gst_base_src_default_check_get_range):
2304         * libs/gst/base/gstbasesrc.h:
2305           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2306           provide default implementation, and rename
2307           gst_base_src_check_get_range() to
2308           gst_base_src_pad_check_get_range() for clarity.
2309
2310 2006-03-06  Wim Taymans  <wim@fluendo.com>
2311
2312         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2313         Make property overridable.
2314
2315 2006-03-06  Wim Taymans  <wim@fluendo.com>
2316
2317         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2318         (gst_base_sink_init), (gst_base_sink_set_property),
2319         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2320         * libs/gst/base/gstbasesink.h:
2321         API addition: Make max-lateness a property.
2322
2323 2006-03-06  Wim Taymans  <wim@fluendo.com>
2324
2325         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2326         (gst_base_sink_do_sync), (gst_base_sink_render_object):
2327         Don't ever draw a frame that is >10ms late.
2328
2329 2006-03-06  Michael Smith  <msmith@fluendo.com>
2330
2331         * gst/gstmessage.c: (_gst_message_copy):
2332           When copying a message, set the parent_refcount of the enclosed
2333           structure to point at the copy, not the original message.
2334
2335 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2336
2337         Patch by: Christophe Fergeau
2338
2339         * gst/gstutils.h:
2340           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2341           usable in c++ code (#333417)
2342
2343 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2344
2345         * gst/gstclock.h:
2346           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2347
2348 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
2349
2350         * libs/gst/base/gstbasetransform.c:
2351         (gst_base_transform_transform_caps):
2352           Make sure caps are writable before passing them to
2353           gst_caps_append().
2354
2355 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2356
2357         * gst/gsterror.h:
2358           Fix some minor docs errors.
2359
2360 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2361
2362           Patch by: Ross Burton <ross at burtonini dot com>
2363
2364         * gst/gsterror.c: (_gst_resource_errors_init):
2365         * gst/gsterror.h:
2366           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2367
2368 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2369
2370         * gst/gst.c:
2371         Add a check and output a g_warning when GStreamer is built
2372         against GLib 2.6 but running against 2.8 or higher, and vice 
2373         versa. (Closes: #323542)
2374
2375 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2376
2377         * gst/parse/parse.l:
2378           Commit patch for parse_launch syntax from #331255. Removes 
2379           support for quoted strings and mimetypes when writing filtered 
2380           caps. See the bug report for more details - I'm pretty sure this
2381           obscure feature is not in use by _anyone_ anywhere.
2382
2383           With this simple change, the size of the gstreamer.so here 
2384           drops from 2193KB to 1565KB.
2385
2386 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2387
2388         * plugins/elements/gsttypefindelement.h:
2389         * plugins/elements/gsttypefindelement.c:
2390         (gst_type_find_element_src_event), (start_typefinding),
2391         (stop_typefinding), (gst_type_find_element_handle_event),
2392         (gst_type_find_element_chain),
2393         (gst_type_find_element_chain_do_typefinding):
2394           Use gst_type_find_helper_for_buffer() for chain-based
2395           typefinding.
2396
2397 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2398
2399         * plugins/elements/gsttypefindelement.c:
2400         (gst_type_find_element_class_init),
2401         (gst_type_find_element_set_property),
2402         (gst_type_find_element_get_property):
2403           Deprecate "maximum" property (not only was it only taken into
2404           account for typefinding in push-mode anyway, it also was never
2405           actually possible to set it in the first place because the
2406           property was registered with the numeric property ID for the
2407           "minimum" property). Register "maximum" property correctly,
2408           for the sake of future copy'n'pasters. Remove some cruft
2409           from property get/set functions.
2410
2411 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2412
2413         * plugins/elements/gsttypefindelement.c:
2414         (gst_type_find_element_activate):
2415           Use gst_type_find_helper_get_range() here, so we
2416           can honour the "minimum" property and also emit
2417           the signal with the correct probability of the found caps.
2418
2419 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
2420
2421         * docs/libs/gstreamer-libs-sections.txt:
2422         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2423         (helper_find_suggest), (gst_type_find_helper_get_range),
2424         (gst_type_find_helper):
2425         * libs/gst/base/gsttypefindhelper.h:
2426           New API: gst_type_find_helper_get_range() (#333042).
2427
2428 2006-03-02  Michael Smith  <msmith@fluendo.com>
2429
2430         * gst/gstregistryxml.c: (load_feature):
2431           Asserting on a failure to read part of the registry is Not Cool.
2432           Just log a warning and return NULL (which is already handled)
2433
2434 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
2435
2436         * win32/common/libgstbase.def:
2437           added export of gst_type_find_helper_for_buffer
2438         * win32/common/libgstbase.def:
2439           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2440           gst_ghost_pad_get_target
2441
2442 2006-02-28  Wim Taymans  <wim@fluendo.com>
2443
2444         * docs/design/draft-klass.txt:
2445         We use Filter now.
2446         Added Connector to mark elements that are only used to
2447         allow pipeline connections.
2448         Moved Debug to extra feature since most of them are 
2449         functionally something else.
2450
2451 2006-02-28  Wim Taymans  <wim@fluendo.com>
2452
2453         * docs/design/draft-klass.txt:
2454         Some updates and clarifications.
2455
2456 2006-02-28  Wim Taymans  <wim@fluendo.com>
2457
2458         * docs/design/draft-klass.txt:
2459         Proposal for klass field values.
2460
2461         * docs/design/part-streams.txt:
2462         Start of a doc describing stream anatomy.
2463
2464 2006-02-28  Wim Taymans  <wim@fluendo.com>
2465
2466         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2467         Help the compiler a bit with type registration.
2468         Use existing forward cod path instead of duplicating it when 
2469         handling a message.
2470         
2471         * gst/gstbus.c: (gst_bus_get_type):
2472         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2473         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2474         * gst/gstclock.c: (gst_clock_get_type):
2475         * gst/gstelement.c: (gst_element_get_type),
2476         * gst/gstelementfactory.c: (gst_element_factory_get_type):
2477         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2478         * gst/gstminiobject.c: (gst_mini_object_get_type):
2479         * gst/gstpad.c: (gst_pad_get_type):
2480         * gst/gstsegment.c: (gst_segment_get_type):
2481         * gst/gststructure.c: (gst_structure_get_type):
2482         * gst/gstsystemclock.c: (gst_system_clock_get_type):
2483         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2484         * gst/gstvalue.c:
2485         Help compiler with type registration.
2486
2487         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2488         Small doc update.
2489
2490 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2491
2492         * plugins/elements/gsttypefindelement.c:
2493         (gst_type_find_element_handle_event):
2494           When we get an EOS event and have not found a type yet
2495           (most likely because we had not yet accumulated
2496           TYPE_FIND_MIN_SIZE of data yet), try to determine the
2497           type given the data we have so far. Fixes typefinding
2498           for very short streams again, most notably quicktime
2499           redirections as used on Apple's trailer site (#331701).
2500
2501 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2502
2503         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2504         (gst_type_find_helper):
2505           Try typefinding factories with the highest rank first.
2506
2507 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2508
2509         * docs/libs/gstreamer-libs-docs.sgml:
2510         * docs/libs/gstreamer-libs-sections.txt:
2511         * libs/gst/base/gsttypefindhelper.c:
2512           Add section for typefind helper and add documentation
2513           for the old and the new function.
2514
2515 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2516
2517         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
2518         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
2519         (gst_type_find_helper_for_buffer):
2520         * libs/gst/base/gsttypefindhelper.h:
2521           New API: gst_type_find_helper_for_buffer() (#332723).
2522           
2523 2006-02-27  Michael Smith  <msmith@fluendo.com>
2524
2525         Patch by: Loïc Minier
2526
2527         * configure.ac:
2528         * docs/Makefile.am:
2529         * docs/slides/Makefile.am:
2530           prevent CVS directories getting disted.
2531
2532 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2533
2534         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
2535           Use the REFCOUNTING category for caps refcounting.
2536           
2537 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2538
2539         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2540           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2541
2542 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2543
2544         * plugins/elements/gsttypefindelement.c:
2545         (gst_type_find_element_activate):
2546           Use gst_pad_check_pull_range() before _activate_pull()
2547           to avoid unnecessary open/close (see #331690).
2548
2549 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2550
2551         * gst/gstutils.c:
2552           Docs enhancement: make it crystal clear what the
2553           gst_pad_add_*_probe() callbacks should look like.
2554
2555 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2556
2557         * libs/gst/base/gstbasesrc.c:
2558           Document how applications can stop recording from
2559           live sources (see #330996).
2560
2561 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2562
2563         * tests/check/Makefile.am:
2564         * tests/check/libs/basesrc.c: (eos_event_counter),
2565         (basesrc_eos_events_pull), (basesrc_eos_events_push),
2566         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2567         (gst_basesrc_suite), (main):
2568           ... and add some tests for the base source EOS stuff.
2569
2570 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2571
2572         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2573           Test case originally showed the problem fixed below,
2574           but was then amended. Add checks back at the place
2575           where they used to be.
2576
2577 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2578
2579         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2580         (gst_base_src_init), (gst_base_src_loop),
2581         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2582         (gst_base_src_change_state):
2583         * libs/gst/base/gstbasesrc.h:
2584           Don't unconditionally send EOS when going from PAUSED to
2585           READY state, esp. make sure we don't send two EOS events
2586           in some cases (e.g. one when reaching EOS and one when
2587           going from PAUSED to READY). Also, we don't want to send
2588           EOS events when operating in pull mode. However, we do
2589           want to send an EOS event when shutting down a live
2590           source explicitly, for example (fixes #330996).
2591           
2592 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2593
2594         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2595           Update src->read_position after a seek when not using mmap.
2596           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2597
2598 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
2599
2600         * gst/Makefile.am:
2601         * gst/gstparse.h:
2602         * gst/gstutils.c:
2603         * gst/gstutils.h:
2604         Make things work with --disable-parse as they do with 
2605         --disable-load-save - the symbols involved disappear, but the
2606         header is still installed and GST_DISABLE_PARSE is included via
2607         gstconfig.h
2608
2609 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2610
2611         * libs/gst/base/gstbasetransform.c:
2612         (gst_base_transform_change_state): Fix a stupid bug. I was 
2613         sure I compiled that.
2614
2615 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2616
2617         * gst/gstpad.c: (gst_pad_set_blocked_async):
2618         * gst/gstutils.c: (gst_pad_add_data_probe),
2619         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2620         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2621         (gst_pad_remove_buffer_probe): Make those function act on the
2622         ghostpad target when it's a ghostpad. (Closes #331727)
2623
2624 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2625
2626         * libs/gst/base/gstbasetransform.c:
2627         (gst_base_transform_change_state): Make basetransform reusable.
2628         (Closes #331898)
2629
2630 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
2631
2632         * docs/random/release:
2633         Move the current documentation of how to do a release to the top
2634         of the file.
2635
2636         * gst/gstbin.c: (gst_bin_class_init),
2637         (gst_bin_handle_message_func):
2638         Allow multiple state-recalculation threads. (Closes #328873)
2639
2640 2006-02-19  Julien MOUTTE  <julien@moutte.net>
2641
2642         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2643         * gst/gstpad.c: (gst_pad_set_event_function),
2644         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2645         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2646         2 strings. You can't use the STR_NULL macro on that.
2647
2648 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
2649
2650         * gst/gstpad.c: (gst_pad_set_event_function),
2651         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2652         (gst_pad_set_getcaps_function)
2653         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2654           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2655           So now, we can use --gst-debug-level=5 on Windows
2656         * win32/common/libgstcontroller.def:
2657           Added export of gst_controller_init
2658         * win32/vs6/libgstcontroller.dsp:
2659           Fixed Release post build configuration
2660
2661 2006-02-17  Wim Taymans  <wim@fluendo.com>
2662
2663         * tests/check/gst/gstquery.c: (GST_START_TEST):
2664         Added another check.
2665
2666 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
2667
2668         * plugins/elements/gsttypefindelement.c: (find_peek):
2669           We can do peeks at non-zero offsets, as long as they
2670           fall within the buffer we have.
2671
2672 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
2673
2674         * tests/check/Makefile.am:
2675         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2676         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2677         (parse_suite), (main):
2678           Add testsuite for parse launch syntax
2679
2680 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
2681
2682         * plugins/elements/gsttypefindelement.c:
2683         (gst_type_find_element_chain):
2684           When typefinding is unsuccessful in the chain function, don't
2685           error out immediately. Only error out with NO_CAPS_FOUND if
2686           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
2687           otherwise simply wait for more data so we can try typefinding
2688           again with more data later. Also, don't attempt to typefind
2689           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
2690           this should improve typefinding from network sources where the
2691           size of the first buffer can be somewhat random.
2692
2693 2006-02-14  Wim Taymans  <wim@fluendo.com>
2694
2695         * docs/gst/gstreamer-sections.txt:
2696         * gst/gstpadtemplate.c:
2697         * gst/gstpadtemplate.h:
2698         Fix padtemplate docs, fixes #328805.
2699
2700 2006-02-14  Wim Taymans  <wim@fluendo.com>
2701
2702         * tools/gst-launch.c: (main):
2703         NO_PREROLL is not an ERROR so don't send confusing messages
2704         to the user.
2705
2706 2006-02-14  Wim Taymans  <wim@fluendo.com>
2707
2708         Patch by: Torsten Schoenfeld
2709
2710         * gst/gstregistry.c: (gst_registry_get_default),
2711         (_gst_registry_cleanup):
2712         Protect default registry with lock and ref/sink it.
2713         Fixes #324818
2714
2715 2006-02-14  Wim Taymans  <wim@fluendo.com>
2716
2717         * gst/gstbuffer.c:
2718         * gst/gstquery.c: (gst_query_list_add_format),
2719         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2720         (gst_query_parse_formats_nth):
2721         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2722         Docs fixes.
2723
2724 2006-02-14  Wim Taymans  <wim@fluendo.com>
2725
2726         * docs/gst/gstreamer-sections.txt:
2727         Reworked query docs.
2728
2729         * gst/gstquery.c: (gst_query_new_formats),
2730         (gst_query_list_add_format), (gst_query_set_formats),
2731         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2732         (gst_query_parse_formats_nth):
2733         * gst/gstquery.h:
2734         Flesh out formats query, added some new methods.
2735         Fix part of #324398.
2736
2737         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
2738         Added query creation tests.
2739
2740 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
2741
2742         * gst/gstpad.c: (fixate_value):
2743         Add a default fixation for fraction lists.
2744
2745 2006-02-13  Wim Taymans  <wim@fluendo.com>
2746
2747         * gst/gsttask.c: (gst_task_init), (gst_task_func),
2748         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
2749         (gst_task_join):
2750         * gst/gsttask.h:
2751         Detect and warn for obvious deadlocks. fixes #320340
2752         Fix error case where lock was not released.
2753
2754         * tests/check/Makefile.am:
2755         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
2756         (task_func), (gst_element_suite), (main):
2757         Add task check.
2758
2759 2006-02-13  Wim Taymans  <wim@fluendo.com>
2760
2761         * docs/gst/gstreamer-sections.txt:
2762         * gst/gstbus.c:
2763         Add new functions to docs.
2764
2765 2006-02-13  Wim Taymans  <wim@fluendo.com>
2766
2767         * docs/design/part-TODO.txt:
2768         Updated TODO list, basesrc supports seeking to non-bytes
2769         formats.
2770
2771         * docs/design/part-element-sink.txt:
2772         Update docs.
2773
2774         * gst/gstbin.c: (bin_replace_message),
2775         (gst_bin_handle_message_func):
2776         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
2777         * gst/gstevent.c: (gst_event_finalize):
2778         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2779         (gst_pad_send_event):
2780         Use shiny new _TYPE_NAME macros.
2781
2782         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2783         Move debug statement up.
2784
2785         * gst/gstelement.c: (gst_element_set_locked_state):
2786         Add some debugging.
2787
2788 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
2789
2790         * docs/gst/gstreamer-sections.txt:
2791         * gst/gstmessage.h:
2792         * gst/gstquery.h:
2793           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
2794           macros (#330906). Also, document the already existing
2795           GST_QUERY_TYPE macro.
2796
2797 2006-02-13  Wim Taymans  <wim@fluendo.com>
2798
2799         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
2800         (event_probe), (GST_START_TEST):
2801         Only events up to the pipeline EOS are counted, there are
2802         some more when going to NULL currently which we don't care
2803         about for now.
2804
2805 2006-02-13  Wim Taymans  <wim@fluendo.com>
2806
2807         * gst/gstpad.c: (gst_pad_send_event):
2808         Correctly check flushing and emit probes. fixes #330125
2809
2810 2006-02-10  Andy Wingo  <wingo@pobox.com>
2811
2812         * gst/gstbus.c (gst_bus_class_init): Declare our private data
2813         structure.
2814         (gst_bus_init): Cache the location of the private data in the
2815         instance structure.
2816         (gst_bus_enable_sync_message_emission) 
2817         (gst_bus_disable_sync_message_emission): Implement new public
2818         functions.
2819         (gst_bus_post): Emit the sync-message signal if the user asked for
2820         it. Fixes #330684.
2821
2822         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
2823         location of the bus-private structure.
2824         (gst_bus_enable_sync_message_emission)
2825         (gst_bus_disable_sync_message_emission): API addition
2826
2827 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
2828
2829         Patch by: Vincent Torri
2830
2831         * docs/pwg/building-boiler.xml:
2832         PWG patch from #326800
2833
2834 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
2835
2836         * configure.ac:
2837         * docs/Makefile.am:
2838         * docs/design/Makefile.am:
2839           Dist design docs.
2840
2841 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
2842
2843         * configure.ac:
2844           back to CVS
2845
2846 === release 0.10.3 ===
2847
2848 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
2849
2850         * configure.ac:
2851           releasing 0.10.3, "Like a virgin"
2852
2853 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
2854
2855         * configure.ac:
2856           2nd prerelease of 0.10.3
2857           Bump libtool versioning.
2858
2859 2006-02-07  Andy Wingo  <wingo@pobox.com>
2860
2861         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
2862         update last_stop if we're in TIME format and the timestamp is
2863         valid.
2864
2865         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
2866         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
2867         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
2868         If we get a new newsegment with a different format, adapt
2869         accordingly.
2870
2871         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
2872         of 0. Not a problem, really.
2873
2874         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
2875         warn if sync=true.
2876
2877 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
2878
2879         * configure.ac:
2880           Prelease of 0.10.3
2881
2882 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
2883
2884         * win32/vs7:
2885           project files updated to the default vs7 configuration
2886         * win32/common/libgstbase.def:
2887         * win32/common/libgstreamer.def:
2888           added new symbols,
2889           removed empty lines,
2890           sorted all exported symbols alphabetically
2891         * win32/common/dirent.c:
2892         * win32/common/dirent.h:
2893         * win32/common/gchar.h:
2894           use windows line end.
2895           
2896 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
2897
2898         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2899           Send EOS event when stopping.
2900
2901 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
2902
2903         * docs/README:
2904           Tell folks what to do if the plugin-foobar.xml file
2905           hasn't been generated for a newly-added plugin.
2906
2907 2006-02-05  Julien MOUTTE  <julien@moutte.net>
2908
2909         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
2910         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2911         (gst_collect_pads_start), (gst_collect_pads_stop),
2912         (gst_collect_pads_event): Collectpads now holds a reference
2913         to the GstPad that was added. Indeed we don't want to look
2914         at pads that might just go away with no warning...
2915
2916 2006-02-05  Julien MOUTTE  <julien@moutte.net>
2917
2918         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2919         (gst_collect_pads_start), (gst_collect_pads_stop),
2920         (gst_collect_pads_event), (gst_collect_pads_chain):
2921         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
2922         Mark Nauwelaerts's patch on bug #328491.
2923
2924 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2925
2926         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
2927         (gst_utils_suite):
2928           Add some simple tests for gst_parse_bin_from_description() and
2929           gst_bin_find_unconnected_pad() (#329069).
2930
2931 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
2932
2933         * tools/gst-launch.c: (event_loop), (main):
2934           Catch errors during preroll (#320084).
2935
2936 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
2937
2938         * plugins/elements/gsttypefindelement.c:
2939         (gst_type_find_element_activate):
2940           Post TYPE_NOT_FOUND error message when typefinding
2941           is unsuccessful in the activate function as well.
2942
2943 2006-02-02  Wim Taymans  <wim@fluendo.com>
2944
2945         * docs/design/part-element-sink.txt:
2946         Updated doc.
2947
2948 2006-02-02  Wim Taymans  <wim@fluendo.com>
2949
2950         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2951         (gst_base_sink_render_object),
2952         (gst_base_sink_queue_object_unlocked):
2953         Only keep track of prerollable items when we are 
2954         prerolling.
2955         Before rendering after preroll, always check if we
2956         have queued items.
2957         Added some more debugging.
2958
2959 2006-02-02  Wim Taymans  <wim@fluendo.com>
2960
2961         * gst/gstelement.c: (gst_element_continue_state),
2962         (gst_element_set_state_func), (gst_element_change_state):
2963         Fixed #326576, been running this for quite some time with
2964         no regressions at all.
2965
2966 2006-02-02  Wim Taymans  <wim@fluendo.com>
2967
2968         * common/gst.supp:
2969         Added more suppressions
2970
2971 2006-02-02  Wim Taymans  <wim@fluendo.com>
2972
2973         * docs/design/part-element-sink.txt:
2974         Updated document.
2975
2976         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2977         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
2978         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
2979         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2980         (gst_base_sink_do_sync), (gst_base_sink_render_object),
2981         (gst_base_sink_preroll_object),
2982         (gst_base_sink_queue_object_unlocked),
2983         (gst_base_sink_queue_object), (gst_base_sink_event),
2984         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
2985         (gst_base_sink_loop), (gst_base_sink_activate_pull),
2986         (gst_base_sink_get_position), (gst_base_sink_change_state):
2987         * libs/gst/base/gstbasesink.h:
2988         Totally refactored matching the design doc.
2989         Use two segments, one to clip incomming buffers and another to
2990         perform sync.
2991         Handle queueing correctly, bypass the queue when playing.
2992         Make EOS cancelable.
2993         Handle errors correctly when operating in pull based mode.
2994
2995         * tests/check/elements/fakesink.c: (GST_START_TEST),
2996         (fakesink_suite):
2997         Added new check for sinks.
2998
2999 2006-02-02  Wim Taymans  <wim@fluendo.com>
3000
3001         * gst/gstsegment.c: (gst_segment_clip):
3002         No reason to refuse to clip when start == -1
3003
3004 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
3005
3006         * docs/README:
3007         * docs/manual/intro-basics.xml:
3008         * docs/manual/intro-preface.xml:
3009         * docs/manual/manual.xml:
3010         * docs/pwg/advanced-dparams.xml:
3011         * docs/pwg/intro-basics.xml:
3012         * docs/pwg/intro-preface.xml:
3013         * docs/pwg/pwg.xml:
3014           describe dparams (controller) for plugins
3015           unify docs a little more
3016
3017 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
3018
3019         * docs/gst/gstreamer-sections.txt:
3020         * gst/gstutils.c: (element_find_unconnected_pad),
3021         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3022         * gst/gstutils.h:
3023           Add new API: gst_parse_bin_from_description() and
3024           gst_bin_find_unconnected_pad() (#329069).
3025
3026 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
3027
3028         * docs/manual/README:
3029           uncover a nasty detail of the docs build
3030
3031 2006-01-31  Wim Taymans  <wim@fluendo.com>
3032
3033         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3034         Don't cache duration messages if we're not going to use or
3035         free them.
3036
3037 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
3038
3039         * docs/manual/advanced-dparams.xml:
3040         * docs/pwg/advanced-dparams.xml:
3041           more dparam docs
3042         * gst/gstindex.c:
3043           fix docs
3044         * libs/gst/controller/lib.c: (gst_controller_init):
3045           init just once
3046
3047 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3048
3049         * gst/gstelement.c: (gst_element_message_full):
3050           also show file/line/func if no additional debug was given
3051
3052 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3053         
3054         * win32/vs7/grammar.vcproj:
3055           activate copy of autogenerated files for Release mode
3056
3057 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3058         
3059         * win32/common/libgstreamer.def:
3060           export gst_value_compare
3061
3062 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3063
3064         * plugins/elements/Makefile.am:
3065         * plugins/elements/gstelements.c:
3066         * plugins/elements/gstfdsink.c: (_do_init),
3067         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3068         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3069         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3070         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3071         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3072         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3073         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3074         * plugins/elements/gstfdsink.h:
3075         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3076
3077 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3078
3079         * docs/manual/advanced-dparams.xml:
3080           describe controller
3081         * docs/manual/advanced-position.xml:
3082         * docs/manual/basics-init.xml:
3083         * docs/manual/manual.xml:
3084         * docs/manual/titlepage.xml:
3085         * docs/pwg/pwg.xml:
3086         * docs/pwg/titlepage.xml:
3087           cleanup xml (more to come)
3088         * libs/gst/controller/gstcontroller.c:
3089           fix typo
3090
3091 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3092         
3093         * win32/vs6/grammar.dsp:
3094           add autogen of gstmarshal.c,h for Release mode
3095                 
3096 2006-01-30  Wim Taymans  <wim@fluendo.com>
3097
3098         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3099         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3100         (gst_base_sink_handle_object), (gst_base_sink_event),
3101         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3102         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3103         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3104         (gst_base_sink_deactivate), (gst_base_sink_activate),
3105         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3106         (gst_base_sink_query), (gst_base_sink_change_state):
3107         Basesink cleanups, remove some old code.
3108         Handle the case where a subclass can preroll in the render
3109         method (mostly audiosinks).
3110         Handle more events.
3111         Remove some locks around variables that are now protected
3112         with the PREROLL_LOCK (clock_id, flushing, ..).
3113         Optimize position query some more, do correct locking.
3114         Remove old code to push queue in state change, this is not
3115         needed anymore since preroll blocks on all prerollable items 
3116         now.
3117         Almost implemented as described in design doc.
3118
3119 2006-01-30  Wim Taymans  <wim@fluendo.com>
3120
3121         * tests/check/gst/gstbin.c: (GST_START_TEST):
3122         Wait for refcount to settle down before checking.
3123
3124 2006-01-30  Wim Taymans  <wim@fluendo.com>
3125
3126         * docs/design/part-element-sink.txt:
3127         Pseudo code overview of desired sink behaviour regarding
3128         preroll.
3129
3130 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3131         * win32/vs6/grammar.dsp:
3132           fix some bugs in Release mode for autogenerated files
3133                 
3134 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3135         * win32/common/libgstbase.def:
3136         * win32/common/libgstreamer.def:
3137           export some new symbols: gst_base_src_set_format,
3138           gst_iterator_next, gst_structure_set_valist
3139
3140 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3141
3142         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3143         Set pad functions unconditionally. Fixes #329105.
3144
3145 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3146         * win32/vs8:
3147           add vs8 project files created by Sergey Scobich
3148
3149 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3150
3151         * gst/gstutils.c: (gst_element_unlink_pads):
3152         Don't leak pad references.
3153
3154         * tests/check/elements/fakesink.c: (GST_START_TEST):
3155         * tests/check/generic/sinks.c: (GST_START_TEST):
3156         * tests/check/generic/states.c: (GST_START_TEST):
3157         * tests/check/gst/gstbin.c: (GST_START_TEST):
3158         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3159         * tests/check/gst/gstelement.c: (GST_START_TEST):
3160         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3161         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3162         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3163         Fix a bunch of leaks. Make generic/sinks.c
3164         use a bit less cpu by slowing the buffer rate
3165         between fakesrc and fakesink.
3166         
3167 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3168         * gst/gstcaps.c:
3169         * gst/gstelement.c: (gst_element_send_event):
3170         * gst/gstevent.c:
3171         * gst/gstinfo.c:
3172         * gst/gstiterator.c:
3173         * gst/gstiterator.h:
3174         * gst/gstpad.c: (gst_pad_send_event):
3175         * gst/gststructure.c:
3176         * gst/gsturi.c:
3177         * gst/gstutils.c:
3178         * gst/gstvalue.c:
3179         * libs/gst/base/gstadapter.c:
3180           doc fixes, to link to function, just write gst_cool_function(), don't
3181           prefix with '#'
3182
3183 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3184
3185         * plugins/elements/gsttee.c: (gst_tee_do_push),
3186         (gst_tee_handle_buffer):
3187         Always prefer an actual return value from a src
3188         pad in place of NOT_LINKED. This means we return
3189         WRONG_STATE when all src pads are WRONG_STATE
3190         instead of NOT_LINKED.
3191
3192         Lock when replacing the last message to prevent
3193         racing with the get_property method.
3194
3195         Add debug output
3196
3197 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3198
3199         * tests/check/Makefile.am:
3200         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3201         (main):
3202         Add a very simple check that should have caught the memleak I fixed
3203         last night (if not for the slice allocator hiding it)
3204
3205 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3206
3207         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3208         (gst_bin_remove_func), (gst_bin_handle_message_func),
3209         (bin_query_duration_fold), (bin_query_generic_fold):
3210         Clean up references to the clock provider when disposed or when
3211         handling a clock-lost message from it.
3212
3213         Unref sinks when performing a query via gst_iterator_fold, as the
3214         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3215
3216         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3217         (gst_clock_set_master):
3218         Drop our reference to the master clock, if any, when we are disposed.
3219
3220         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3221         Chain up in dispose. 
3222
3223 2006-01-26  Wim Taymans  <wim@fluendo.com>
3224
3225         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3226         Add some debugging.
3227
3228 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3229
3230         * plugins/elements/gsttee.c: (gst_tee_do_push),
3231         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3232         handles pad being NOT_LINKED or in WRONG_STATE.
3233
3234 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3235
3236         * win32/MANIFEST:
3237           more updating
3238
3239 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3240
3241         * win32/MANIFEST:
3242           remove obsolete entry
3243
3244 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3245
3246         * docs/gst/gstreamer-sections.txt:
3247         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3248         (gst_bin_iterate_sources), (gst_bin_send_event):
3249         * gst/gstbin.h:
3250         * gst/gstelement.c: (gst_element_send_event):
3251         * gst/gstevent.c:
3252         * gst/gstpad.c: (gst_pad_send_event):
3253           added code for downstream events, reviewed docs in gstevent.c
3254
3255 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3256
3257         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3258         We only query position using the clock in the playing state.
3259         Query peer in the other cases.
3260         * win32/common/config.h: Updates.
3261
3262 2006-01-24  Wim Taymans  <wim@fluendo.com>
3263
3264         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3265         A clock entry that is scheduled for the exact time of the
3266         clock is still in time.
3267
3268         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3269         (gst_base_sink_do_sync):
3270         Add some more debug info.
3271
3272 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3273
3274         * win32/vs7:
3275           Add new vs7 project files and solution.
3276
3277 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3278
3279         * win32/vs7:
3280           all files removed as they were out-dated.
3281
3282 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3283
3284         * docs/random/release:
3285           update notes
3286         * gst/gstbin.c: (gst_bin_init):
3287         * gst/gstbus.c: (gst_bus_new):
3288         * gst/gstbus.h:
3289         * gst/gstpipeline.c: (gst_pipeline_init):
3290           use gst_bus_new(), improve logging, fix docs
3291         * win32/common/config.h:
3292           update for cvs build
3293
3294 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3295
3296         * autogen.sh:
3297           up required version of automake to 1.7
3298
3299 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
3300
3301         * win32/common/libgstreamer.def:
3302           export gst_buffer_is_metadata_writable
3303
3304 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3305
3306         * docs/gst/gstreamer-sections.txt:
3307         * gst/gstevent.h:
3308           Add gst_event_replace() (#327001)
3309
3310 2006-01-20  Wim Taymans  <wim@fluendo.com>
3311
3312         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3313         Make it actually compile too..
3314
3315 2006-01-20  Wim Taymans  <wim@fluendo.com>
3316
3317         * gst/gstcaps.c:
3318         Clarify behaviour of _is_equal() when passing NULL parameters.
3319
3320         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3321         (gst_pad_set_caps):
3322         Cleanups. Don't unref NULL caps.
3323         When setting the same caps, protect caps of the pad with
3324         proper lock.
3325         Use full functionality of _is_equal() when comparing caps.
3326
3327 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3328
3329         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3330         Don't loop infinitely if there are no buffers to present. Partially
3331         fixes #327197, but collectpads is just broken for reusing elements
3332         to do multiple encodes atm.
3333
3334 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3335
3336         * tools/gst-inspect.c: (print_element_features):
3337         * tools/gst-xmlinspect.c: (main):
3338         URL_HANDLER is not a plugin feature we can search for in
3339         the registry.
3340
3341 2006-01-19  Edward Hervey  <edward@fluendo.com>
3342
3343         * gst/gstelement.c: (gst_element_pads_activate): 
3344         When activating, do src pads first, then sink pads.
3345         When de-activating, do sink pads first, then src pads.
3346
3347 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3348
3349         * docs/gst/gstreamer-sections.txt:
3350         Add gst_index_add_associationv to the docs
3351
3352 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3353
3354         * gst/gstevent.c:
3355           Fix docs typo
3356
3357         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3358         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3359           Do some refactoring. Doesn't actually change functionality,
3360           but makes landing the DRAIN event easier later.
3361
3362 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
3363
3364         * docs/pwg/advanced-scheduling.xml:
3365           Update from 0.9.x to 0.10 API and make example a bit
3366           clearer.
3367
3368 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3369
3370         * docs/gst/gstreamer-sections.txt:
3371         Add gst_buffer_(is|make)_metadata_writable methods.
3372
3373 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3374
3375         * docs/design/part-sparsestreams.txt:
3376         Update sparse streams doc, hopefully for greater clarity
3377
3378 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
3379
3380         * docs/design/part-events.txt:
3381         Remove mention of FILLER events.
3382         Add DRAIN event.
3383
3384         * docs/design/part-sparsestreams.txt:
3385         Write some things about using NEWSEGMENT to keep sparse streams
3386         flowing.
3387
3388 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3389
3390         * gst/gstbin.c: (gst_bin_dispose):
3391           Guard gst_object_unref call against a NULL object (dispose
3392           can theoretically be called multiple times).
3393           
3394 2006-01-18  Wim Taymans  <wim@fluendo.com>
3395
3396         * gst/gstbin.c: (gst_bin_element_set_state):
3397         * gst/gstclock.c: (gst_clock_id_wait):
3398         Added some more debug info.
3399
3400         * libs/gst/base/gstadapter.c:
3401         Added more docs.
3402
3403         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3404         (gst_base_sink_do_sync), (gst_base_sink_chain):
3405         Added some comments.
3406
3407 2006-01-18  Wim Taymans  <wim@fluendo.com>
3408
3409         * tests/check/Makefile.am:
3410         * tests/check/elements/fakesink.c: (chain_async_buffer),
3411         (chain_async), (chain_async_return), (GST_START_TEST),
3412         (fakesink_suite), (main):
3413         Added fakesink test that checks prerolling and clipping
3414         behaviour.
3415
3416         * tests/check/gst/gstutils.c: (GST_START_TEST):
3417         Make check run faster so that buildbots don't timeout.
3418
3419 2006-01-18  Wim Taymans  <wim@fluendo.com>
3420
3421         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3422         (gst_base_sink_do_sync):
3423         Some cleanups.
3424         When the sink finishes blocking on the preroll buffer, it can
3425         immediatly render it instead of rendering when the next buffer
3426         arrives.
3427
3428 2006-01-18  Wim Taymans  <wim@fluendo.com>
3429
3430         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3431         (gst_base_sink_get_property), (gst_base_sink_do_sync),
3432         (gst_base_sink_chain):
3433         Small cleanups.
3434         GST_ELEMENT_CLOCK and sync are protected with LOCK.
3435         Don't store _last_stop if the buffer is dropped.
3436
3437 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3438
3439         * plugins/elements/gsttypefindelement.c:
3440         (gst_type_find_element_class_init):
3441           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3442           object method handler that sets the caps on the pad and we want
3443           that to happen before we emit the signal (fixes e.g. feeding a
3444           plain text file to decodebin).
3445
3446 2006-01-18  Christian Schaller  <Christian@fluendo.com>
3447
3448         * gst/gstplugin.c: Add MPL and Proprietary as license options
3449
3450 2006-01-18  Andy Wingo  <wingo@pobox.com>
3451
3452         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3453         symbol was exported before, it appears this was just an oversight.
3454         Fixes #168703.
3455         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3456
3457         * gst/gstindex.c (gst_index_add_associationv): Changed int in
3458         prototype to gint. OK since this prototype was not in the header.
3459
3460 2006-01-17  Andy Wingo  <wingo@pobox.com>
3461
3462         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3463         registry while we remove plugins.
3464
3465         * tools/gst-inspect.c (print_element_info): Don't unref the
3466         factory arg, that should be the responsibility of whatever code
3467         received the ref. Fixes a double-free when called from
3468         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3469         (main): Unref the factory if we have one.
3470         (print_element_list): No change -- relies on the
3471         plugin_feature_list_free to free the list of features.
3472
3473 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
3474
3475         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3476         (gst_buffer_make_metadata_writable):
3477         * gst/gstbuffer.h:
3478         * libs/gst/base/gstbasetransform.c:
3479         (gst_base_transform_prepare_output_buf):
3480         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3481         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3482           Replace gst_buffer_(make|is)_metadata_writable patch now
3483           that the release is out.
3484
3485 2006-01-17  Andy Wingo  <wingo@pobox.com>
3486
3487         * gst/gstregistry.c: Reflow design comment. Update so as to speak
3488         in the present tense without reference to versions.
3489
3490         * gst/gstregistry.c (gst_registry_add_plugin)
3491         (gst_registry_remove_plugin, gst_registry_remove_feature)
3492         (gst_registry_find_feature, gst_registry_get_feature_list)
3493         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3494         (gst_registry_lookup, gst_registry_scan_path)
3495         (_gst_registry_remove_cache_plugins)
3496         (gst_registry_get_feature_list_by_plugin): Add argument
3497         validation.
3498
3499 === release 0.10.2 ===
3500
3501 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
3502
3503         * configure.ac:
3504           releasing 0.10.2, "If man is five"
3505
3506 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3507
3508         * gst/gstbuffer.c:
3509         * gst/gstbuffer.h:
3510         * libs/gst/base/gstbasetransform.c:
3511         (gst_base_transform_prepare_output_buf):
3512         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3513         * tests/check/gst/gstbuffer.c: (gst_test_suite):
3514           Back out patch until after the release.
3515
3516 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3517
3518         * gst/gstminiobject.c:
3519           Spelling fix in docs.
3520         * ChangeLog - remove conflict indicator
3521
3522 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3523
3524         Reviewed By: Andy Wingo
3525
3526         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3527         (gst_buffer_make_metadata_writable):
3528         * gst/gstbuffer.h:
3529           Add gst_buffer_(is|make)_metadata_writable as analogues of
3530           gst_buffer_(is|make)_writable.
3531
3532         * libs/gst/base/gstbasetransform.c:
3533         (gst_base_transform_prepare_output_buf):
3534         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3535           Use name gst_buffer_(is|make)_metadata_writable functions.
3536
3537         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3538           Test gst_buffer_(is|make)_metadata_writable
3539         
3540           (Closes: #324162)
3541
3542 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3543
3544         * docs/manual/Makefile.am:
3545           don't do parallel make
3546         * configure.ac:
3547           AC_SUBST HOST_CPU
3548         * win32/common/config.h.in:
3549           add generations for HOST_CPU and GST_MAJORMINOR
3550         * win32/common/config.h:
3551           commit generated result
3552
3553 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
3554
3555         * docs/manual/appendix-integration.xml:
3556           Update GNOME integration section to use gst_init_get_option_group()
3557           instead of the old popt stuff (#322911). Also, GNOME applications
3558           should  now use gconf*sink and gconf*src instead of the old gconf
3559           helper lib we had.
3560
3561 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
3562
3563
3564         * docs/gst/gstreamer-docs.sgml:
3565         * docs/gst/gstreamer-sections.txt:
3566         * docs/libs/gstreamer-libs-sections.txt:
3567           add new API entries to the docs
3568         * libs/gst/controller/Makefile.am:
3569         * libs/gst/controller/gstcontroller.c:
3570         * libs/gst/controller/gstcontroller.h:
3571         * libs/gst/controller/gstcontrollerprivate.h:
3572         * libs/gst/controller/gsthelper.c:
3573         * libs/gst/controller/gstinterpolation.c:
3574           move private structs to private header
3575         * po/README:
3576           gstreamer-0.7 -> gstreamer-0.10
3577         * tests/check/libs/struct_i386.h:
3578           remove private structs
3579
3580 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3581
3582         * plugins/indexers/Makefile.am:
3583           Fixes as part of #317048
3584
3585 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3586
3587         * plugins/indexers/Makefile.am:
3588           fix #316086 - compilation when mmap is missing
3589
3590 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
3591
3592         * libs/gst/base/gstbasesink.c:
3593           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
3594           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3595         * win32/common/config.h:
3596           added some defines GST_MAJORMINOR and HOST_CPU
3597         * win32/common/libgstbase.def:
3598         * win32/common/libgstreamer.def:
3599           added some exported functions.
3600
3601 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3602
3603         * libs/gst/controller/gstcontroller.c:
3604         (gst_controlled_property_set_interpolation_mode),
3605         (gst_controlled_property_new):
3606         * libs/gst/controller/gstcontroller.h:
3607         * libs/gst/controller/gstinterpolation.c:
3608         (interpolate_none_get_string_value_array):
3609           make G_TYPE_STRING controlable
3610
3611 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3612
3613         * tools/README:
3614         * tools/gst-feedback.1.in:
3615         * tools/gst-inspect.1.in:
3616         * tools/gst-launch.1.in:
3617         * tools/gst-md5sum.1.in:
3618         * tools/gst-typefind.1.in:
3619         * tools/gst-xmlinspect.1.in:
3620         * tools/gst-xmllaunch.1.in:
3621           cleanup man-pages, remove reference to gst-register, document env-vars
3622
3623 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
3624
3625         * gst/gstbuffer.c: (gst_buffer_span):
3626           gst_buffer_span should copy the timestamp of the first buffer
3627           if they were both originally overlapping subbuffers of the 
3628           same parent, using the same logic as the 'slow copy' case.
3629
3630 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
3631
3632         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3633           Need to awaken ALL the pads when we pop a buffer, otherwise
3634           collectpads only works when there is 2 input streams.
3635
3636 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
3637
3638         * docs/random/ensonic/media-device-daemon.txt:
3639           more ideas (dbus)
3640         * gst/gstbuffer.c:
3641           fix doc example, add clarification
3642         * tools/gst-launch.1.in:
3643           add initial info about GST_PLUGIN_PATH, needs more work
3644
3645 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3646
3647         * docs/manual/basics-bins.xml:
3648         * docs/manual/basics-elements.xml:
3649         * docs/manual/intro-basics.xml:
3650           Some more minor docs additions and updates.
3651
3652 2006-01-11  Wim Taymans  <wim@fluendo.com>
3653
3654         * docs/manual/basics-bins.xml:
3655         * docs/manual/basics-elements.xml:
3656         Some small fixes as pointed out by Ser-ver on IRC.
3657
3658 2006-01-10  Edward Hervey  <edward@fluendo.com>
3659
3660         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3661         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3662         the single-segment mode.
3663
3664 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
3665
3666         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3667
3668         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3669         (gst_base_src_perform_seek), (gst_base_src_send_event),
3670         (gst_base_src_set_property), (gst_base_src_get_property),
3671         (gst_base_src_loop), (gst_base_src_start),
3672         (gst_base_src_activate_push):
3673         * libs/gst/base/gstbasesrc.h:
3674           Name (private) union; makes Sun's Forte compiler happy (#324900).
3675
3676 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3677
3678         * README:
3679           gst-register is gone.
3680
3681 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3682
3683         * gst/gstvalue.c: (_gst_value_initialize):
3684           make the G_TYPE_DATE instantiation work if debug is disabled
3685
3686 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
3687
3688         * gst/gstmessage.c: (gst_message_parse_tag),
3689         (gst_message_parse_error), (gst_message_parse_warning):
3690           Don't crash when return location for error/warning debug
3691           string is NULL; add fact that return locations can be
3692           NULL to docs where appropriate.
3693
3694 2006-01-05  Wim Taymans  <wim@fluendo.com>
3695
3696         * gst/gstplugin.c: (gst_plugin_load_file):
3697         Replace strdup by g_strdup.
3698
3699 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3700
3701         * docs/pwg/advanced-types.xml:
3702           fix doc borkage
3703
3704 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3705
3706         submitted by: Abel Cheung
3707
3708         * po/LINGUAS:
3709         * po/zh_TW.po:
3710           Added Chinese (traditional) translation
3711
3712 2006-01-04  Wim Taymans  <wim@fluendo.com>
3713
3714         * docs/manual/basics-pads.xml:
3715         * docs/plugins/Makefile.am:
3716         * docs/plugins/gstreamer-plugins-docs.sgml:
3717         * docs/plugins/gstreamer-plugins-sections.txt:
3718         * docs/pwg/advanced-clock.xml:
3719         * docs/pwg/advanced-scheduling.xml:
3720         * docs/pwg/advanced-types.xml:
3721         * plugins/elements/gstfdsink.c:
3722         * plugins/elements/gstfdsrc.c:
3723         * plugins/elements/gstfdsrc.h:
3724         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3725         * plugins/elements/gstidentity.h:
3726         * plugins/elements/gstqueue.h:
3727         * plugins/elements/gsttee.c:
3728         * plugins/elements/gsttee.h:
3729         * plugins/elements/gsttypefindelement.c:
3730         (gst_type_find_element_class_init):
3731         * plugins/elements/gsttypefindelement.h:
3732         Small updates to various docs.
3733         Added core plugins to docs.
3734
3735 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3736
3737         * common/gst.supp:
3738           add a suppression for liboil's uninitialized variable
3739
3740 2006-01-02  James Livingston  <jrl at ids dot org dot au>
3741
3742         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3743
3744         * gst/gstutils.h:
3745           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
3746           macro, so that gcc doesn't complain if the -Wmissing-prototypes
3747           compiler switch is being used (#325429).
3748
3749 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
3750
3751         * gst/gstbin.c: (gst_bin_query):
3752           Disable duration query caching in bins until it gets
3753           fixed (see #324807).
3754
3755 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3756
3757         * tools/gst-inspect.c: (print_element_properties_info):
3758           Handle properties of POINTER and BOXED type.
3759
3760 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3761
3762         * gst/gst.c: (init_post):
3763           Init tags stuff and some other things before loading
3764           any static plugins (there may be other static plugins
3765           than just the GStreamer ones, and they may want to
3766           register their own tags or formats or whatever, and
3767           preferably without segfaulting).
3768
3769         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3770           Print at least a warning in the debug logs if we drop a
3771           query just because we don't know how to adjust the value
3772           in the particular format.
3773
3774 2005-12-24  David Schleef  <ds@schleef.org>
3775
3776         * tools/gstreamer-completion:
3777           Replacement for gst-complete written in sh and sed.  Only
3778           completes names of features, but that's 90% of what I want
3779           it for.  Properties are not available in registry.xml.  (Maybe
3780           they should be...)
3781
3782 === release 0.10.1 ===
3783
3784 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
3785
3786         * configure.ac:
3787           releasing 0.10.1, "Nollaig chridheil"
3788
3789 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
3790
3791         * docs/faq/cvs.xml:
3792           Add missing quote, should be make ERROR_CFLAGS="".
3793
3794 2005-12-20  Wim Taymans  <wim@fluendo.com>
3795
3796         * docs/design/part-trickmodes.txt:
3797         More documentation on trickmodes.
3798
3799 2005-12-20  Edward Hervey  <edward@fluendo.com>
3800
3801         * gst/gstcaps.c: (gst_static_caps_get_type):
3802         * gst/gstcaps.h:
3803           API addition: GST_TYPE_STATIC_CAPS
3804         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
3805         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
3806         * gst/gstpadtemplate.h:
3807           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
3808         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
3809         bindings.
3810
3811 2005-12-18  Wim Taymans  <wim@fluendo.com>
3812
3813         * libs/gst/base/gstadapter.c:
3814         * libs/gst/base/gstadapter.h:
3815         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3816         (gst_base_sink_get_position):
3817         * libs/gst/base/gstbasesink.h:
3818         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3819         (gst_base_src_default_query), (gst_base_src_default_do_seek),
3820         (gst_base_src_do_seek), (gst_base_src_perform_seek),
3821         (gst_base_src_send_event), (gst_base_src_update_length),
3822         (gst_base_src_get_range), (gst_base_src_loop),
3823         (gst_base_src_start):
3824         * libs/gst/base/gstbasesrc.h:
3825         * libs/gst/base/gstbasetransform.h:
3826         * libs/gst/base/gstcollectpads.h:
3827         * libs/gst/base/gstpushsrc.c:
3828         * libs/gst/base/gstpushsrc.h:
3829         * libs/gst/dataprotocol/dataprotocol.c:
3830         * libs/gst/dataprotocol/dataprotocol.h:
3831         * libs/gst/net/gstnetclientclock.h:
3832         * libs/gst/net/gstnettimeprovider.h:
3833         Documentation updates.
3834
3835 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
3836
3837         * docs/manual/basics-helloworld.xml:
3838           Remove superfluous closing bracket in helloworld example.
3839
3840 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
3841
3842         * tools/gst-launch.1.in:
3843           Update gst-launch man page; add a section with useful
3844           environment variables. Fixes #323882.
3845
3846 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
3847
3848         * gst/gst.c:
3849         * gst/gst_private.h:
3850           change some char* into char[]
3851
3852 2005-12-16  Wim Taymans  <wim@fluendo.com>
3853
3854         * gst/gstregistryxml.c: (load_feature):
3855         Cleanups.
3856         Don't use g_object_unref on GstObjects so that we avoid
3857         leaks on unsafe glibs.
3858
3859 2005-12-16  Wim Taymans  <wim@fluendo.com>
3860
3861         * gst/gstbin.c: (gst_bin_recalc_state):
3862         Small doc updates.
3863
3864 2005-12-16  Wim Taymans  <wim@fluendo.com>
3865
3866         * common/check.mak:
3867         Added make forever target for check.
3868
3869 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3870
3871         * gst/gst.c: (init_post):
3872           make the registry cache file HOST_CPU-dependent
3873
3874 2005-12-16  Andy Wingo  <wingo@pobox.com>
3875
3876         * plugins/elements/gstbufferstore.c
3877         (gst_buffer_store_cleared_func): Pay attention to g_list_append
3878         return value.
3879
3880         * tests/check/gst/gstobject.c
3881         (test_fake_object_name_threaded_unique): Pay attention to
3882         g_list_sort return value.
3883
3884 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3885
3886         * tools/gst-feedback-m.m:
3887           Update for 0.9/0.10 (fixes #323870).
3888
3889 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
3890
3891         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
3892           Fix lcopy for mini objects, the mini object needs to be ref'ed.
3893           
3894         * tests/check/gst/gstminiobject.c: (my_foo_init),
3895         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
3896         (test_value_collection), (gst_mini_object_suite):
3897           Add test to ensure refcounts end up as expected when passing
3898           GstMiniObjects through g_object_get() and g_object_set().
3899
3900 2005-12-14  Julien MOUTTE  <julien@moutte.net>
3901
3902         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
3903         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
3904         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
3905         of collectpads. This version removes a lot of races without
3906         touching API/ABI. Yay !
3907
3908 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
3909
3910         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
3911           Don't allow activation of a srcpad in pull_range if it has no
3912           getrange function.
3913           Change some debug statements to be a little clearer
3914
3915         * plugins/elements/gsttypefindelement.c:
3916         (gst_type_find_handle_src_query):
3917           Check that we have a peer before executing queries thereupon.
3918
3919         * tests/examples/metadata/read-metadata.c: (message_loop):
3920           Use gst_bus_pop instead of gst_bus_poll when we just want it to
3921           immediately return us any available message with 0 timeout.
3922
3923 2005-12-12  Michael Smith  <msmith@fluendo.com>
3924
3925         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
3926           Don't unref factories after calling them.
3927         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
3928         * plugins/elements/gsttypefindelement.c:
3929         (gst_type_find_element_chain):
3930           Free lists of factories after using them. Fixing typefinding memory
3931           leaks.
3932
3933 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3934
3935         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3936         (gst_plugin_feature_load):
3937           more meaningful debug output
3938         * configure.ac:
3939         * tests/Makefile.am:
3940         * tests/old/examples/Makefile.am:
3941           make make distcheck happy again
3942
3943 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3944
3945         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3946           Catch the special case where we are operating chain-based,
3947           but the downstream peer pad has no chain function. Emit a
3948           custom error message in this case instead of letting the
3949           core generate one implying that this is some sort of core
3950           bug. It's not, it just means that whatever got plugged
3951           into the pipeline downstream when we announced the type
3952           can only operate pull-based, while our source can only
3953           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
3954           Error string has not been marked for translation yet, as
3955           it probably needs some more work first.
3956
3957         (gst_type_find_element_get_best_possibility):
3958           Add helper function to find the best of all available
3959           found possibilities that qualify given the min. threshold.
3960
3961         (gst_type_find_element_handle_event):
3962           Fix the case where we get an EOS while still in TYPEFIND
3963           mode (we want to chose the best of all possible types,
3964           not just the first type that happens to be in our unsorted
3965           list of possible types).
3966
3967         (gst_type_find_element_chain):
3968           Make sure we return GST_FLOW_ERROR when we errored out
3969           in stop_typefinding(); also, don't just find the best of
3970           all found type entries and then use the last examined
3971           type entry, but actually use the best entry.
3972
3973 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
3974
3975         * tests/examples/typefind/typefind.c: (type_found):
3976         * tests/examples/xml/runxml.c: (xml_loaded):
3977           More gcc4 fixes and a mem leak fix.
3978
3979 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3980
3981         * tests/examples/xml/createxml.c: (object_saved):
3982           gcc 4 fixes
3983
3984 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
3985
3986         * tests/Makefile.am:
3987           enable the examples even more
3988
3989 2005-12-12  Andy Wingo  <wingo@pobox.com>
3990
3991         * libs/gst/net/gstnettimeprovider.c
3992         (gst_net_time_provider_class_init, gst_net_time_provider_init)
3993         (gst_net_time_provider_set_property)
3994         (gst_net_time_provider_get_property):
3995         API addition: Export "active" as a GObject property.
3996         (gst_net_time_provider_thread): Only respond to time queries if
3997         the time provider is active.
3998
3999         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4000         NetTimeProvider, preserving binary compat.
4001
4002 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4003
4004         * tests/examples/controller/audio-example.c: (main):
4005         * tests/examples/launch/Makefile.am:
4006           convert comments again
4007
4008 2005-12-12  Wim Taymans  <wim@fluendo.com>
4009
4010         * libs/gst/base/gstpushsrc.c:
4011         Fix typo.
4012
4013 2005-12-12  Wim Taymans  <wim@fluendo.com>
4014
4015         * docs/libs/gstreamer-libs-sections.txt:
4016         Added new symbol to docs.
4017
4018         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4019         (gst_base_src_init), (gst_base_src_set_format),
4020         (gst_base_src_default_query), (gst_base_src_query),
4021         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4022         (gst_base_src_perform_seek), (gst_base_src_send_event),
4023         (gst_base_src_default_event), (gst_base_src_event_handler),
4024         (gst_base_src_set_property), (gst_base_src_get_property),
4025         (gst_base_src_wait), (gst_base_src_do_sync),
4026         (gst_base_src_update_length), (gst_base_src_get_range),
4027         (gst_base_src_check_get_range), (gst_base_src_loop),
4028         (gst_base_src_default_negotiate), (gst_base_src_start),
4029         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4030         (gst_base_src_change_state):
4031         * libs/gst/base/gstbasesrc.h:
4032         Implement seeking to other formats than _BYTES.
4033         Implement more seeking methods correctly.
4034         Doc updates.
4035         Added query vmethod.
4036         Added do_seek vmethod to make life easier for subclasses
4037         when seeking.
4038         API addition: gst_base_src_set_format()
4039
4040 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4041
4042         * tests/examples/Makefile.am:
4043           added that too
4044
4045 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4046
4047         * configure.ac:
4048         * docs/random/ensonic/media-device-daemon.txt:
4049         * tests/examples/controller/.cvsignore:
4050         * tests/examples/controller/Makefile.am:
4051         * tests/examples/controller/audio-example.c: (main):
4052         * tests/examples/helloworld/.cvsignore:
4053         * tests/examples/helloworld/Makefile.am:
4054         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4055         * tests/examples/launch/.cvsignore:
4056         * tests/examples/launch/Makefile.am:
4057         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4058         * tests/examples/metadata/.cvsignore:
4059         * tests/examples/metadata/Makefile.am:
4060         * tests/examples/metadata/read-metadata.c: (message_loop),
4061         (make_pipeline), (print_tag), (main):
4062         * tests/examples/queue/.cvsignore:
4063         * tests/examples/queue/Makefile.am:
4064         * tests/examples/queue/queue.c: (event_loop), (main):
4065         * tests/examples/typefind/.cvsignore:
4066         * tests/examples/typefind/Makefile.am:
4067         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4068         (main):
4069         * tests/examples/xml/.cvsignore:
4070         * tests/examples/xml/Makefile.am:
4071         * tests/examples/xml/createxml.c: (object_saved), (main):
4072         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4073         * tests/old/examples/Makefile.am:
4074         * tests/old/examples/TODO:
4075         * tests/old/examples/controller/.cvsignore:
4076         * tests/old/examples/controller/Makefile.am:
4077         * tests/old/examples/controller/audio-example.c:
4078         * tests/old/examples/helloworld/.cvsignore:
4079         * tests/old/examples/helloworld/Makefile.am:
4080         * tests/old/examples/helloworld/helloworld.c:
4081         * tests/old/examples/launch/.cvsignore:
4082         * tests/old/examples/launch/Makefile.am:
4083         * tests/old/examples/launch/mp3parselaunch.c:
4084         * tests/old/examples/launch/mp3play:
4085         * tests/old/examples/manual/Makefile.am:
4086         * tests/old/examples/metadata/Makefile.am:
4087         * tests/old/examples/metadata/read-metadata.c:
4088         * tests/old/examples/queue/.cvsignore:
4089         * tests/old/examples/queue/Makefile.am:
4090         * tests/old/examples/queue/queue.c:
4091         * tests/old/examples/typefind/.cvsignore:
4092         * tests/old/examples/typefind/Makefile.am:
4093         * tests/old/examples/typefind/typefind.c:
4094         * tests/old/examples/xml/.cvsignore:
4095         * tests/old/examples/xml/Makefile.am:
4096         * tests/old/examples/xml/createxml.c:
4097         * tests/old/examples/xml/runxml.c:
4098           applied some simple fixing to some examples
4099           re-enabled the working examples
4100
4101 2005-12-12  Wim Taymans  <wim@fluendo.com>
4102
4103         * gst/gstsegment.c: (gst_segment_init),
4104         (gst_segment_set_last_stop), (gst_segment_set_seek),
4105         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4106         (gst_segment_to_running_time):
4107         Added more documentation.
4108         Make sure the last_pos value is updated properly.
4109         Make sure to_stream_time and to_running_time don't
4110         operate on wrong values.
4111
4112         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4113         Update check.
4114
4115 2005-12-12  Michael Smith  <msmith@fluendo.com>
4116
4117         * plugins/elements/gsttypefindelement.c: (free_entry),
4118         (gst_type_find_element_chain):
4119           Now that we're not leaking factories, make sure we keep references
4120           to them while we need them.
4121
4122 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4123
4124         * tests/check/gst/struct_i386.h:
4125           ifdef out the XML structs
4126
4127 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4128
4129         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4130           floor is not needed, F is always positive; this obviates the
4131           need for adding -lm when building without libxml
4132
4133 2005-12-12  Wim Taymans  <wim@fluendo.com>
4134
4135         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4136         Take current playback rate into account when reporting
4137         the position.
4138
4139 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4140
4141         * docs/manual/mime-world.fig:
4142           Let's try this again, this time with a file that is
4143           actually in XFig format.
4144
4145 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4146
4147         * docs/manual/mime-world.fig:
4148           Add audioconvert element to diagram so that it
4149           matches the text and the code (fixes #319526).
4150
4151 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4152
4153         * docs/pwg/building-chainfn.xml:
4154         * docs/pwg/building-pads.xml:
4155         * docs/pwg/building-state.xml:
4156         * docs/pwg/other-source.xml:
4157           Update state change stuff for 0.10 (fixes #322969).
4158
4159 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4160
4161         * docs/manual/advanced-dataaccess.xml:
4162         * docs/manual/appendix-checklist.xml:
4163         * docs/manual/appendix-programs.xml:
4164         * docs/manual/basics-pads.xml:
4165         * docs/manual/highlevel-components.xml:
4166         * docs/manual/manual.xml:
4167           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4168           add converters in front of pipelines; remove curly
4169           brackets for threads stuff, they no longer exist; use
4170           GST_TYPE_FRACTION for framerates; update some pieces of
4171           code to 0.10, but there's plenty more to do.
4172
4173         * docs/manual/appendix-porting.xml:
4174           Expand on asynchroneous state changes; s/0.9/0.10/;
4175           mention disappearance of gst_init_get_popt_table()
4176           (fixes #322916).
4177
4178 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4179
4180         * docs/faq/using.xml:
4181           Spider no longer exists, and neither does gst-launch-ext.
4182           Update examples to use decodebin and playbin and put
4183           converters in front of sinks (fixes #323726).
4184
4185 2005-12-09  Michael Smith  <msmith@fluendo.com>
4186
4187         * plugins/elements/gsttypefindelement.c: (find_peek),
4188         (gst_type_find_element_chain):
4189           Fix leaking element factories in typefinding.
4190           Fix problem where we forgot about a probable type on non-seekable
4191           files, and thus later mis-typefound it.
4192
4193 2005-12-09  Michael Smith  <msmith@fluendo.com>
4194
4195         * common/m4/gst-makecontext.m4:
4196         * common/m4/gst-mcsc.m4:
4197         * configure.ac:
4198         * win32/common/config.h:
4199         * win32/common/config.h.in:
4200           Remove makecontext stuff; not used in 0.10 and causes problems on
4201           HPUX according to bug #322441
4202
4203 2005-12-07  Wim Taymans  <wim@fluendo.com>
4204
4205         * tests/check/Makefile.am:
4206         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4207         (main):
4208         * tests/check/libs/struct_i386.h:
4209         Added ABI check for libs
4210
4211 2005-12-07  Wim Taymans  <wim@fluendo.com>
4212
4213         * tests/check/Makefile.am:
4214         And add the struct_i386.h to dist.
4215
4216 2005-12-07  Wim Taymans  <wim@fluendo.com>
4217
4218         * tests/check/Makefile.am:
4219         * tests/check/gst/.cvsignore:
4220         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4221         (main):
4222         * tests/check/gst/struct_i386.h:
4223         Added check for ABI compatibility.
4224
4225 2005-12-07  Wim Taymans  <wim@fluendo.com>
4226
4227         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4228         (gst_fake_src_get_times), (gst_fake_src_create):
4229         Fix broken sync option, fixes #323259
4230
4231 2005-12-07  Wim Taymans  <wim@fluendo.com>
4232
4233         * gst/gstbuffer.c:
4234         Small docs update.
4235
4236         * gst/gstcaps.c: (gst_caps_is_equal):
4237         Don't assert on NULL <--> X. Fixes #323260
4238
4239         * gst/gstminiobject.c: (gst_mini_object_replace):
4240         If we're doing atomic operations, we might just as well use
4241         the proper way to get an atomic pointer.
4242
4243         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4244         Clean up debugging.
4245
4246 2005-12-07  Michael Smith  <msmith@fluendo.com>
4247
4248         * gst/parse/grammar.y:
4249           Remove handling of { } for threads.
4250
4251 2005-12-06  David Schleef  <ds@schleef.org>
4252
4253         * libs/gst/base/gstbasetransform.c: speling fix.
4254
4255 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4256
4257         * docs/libs/tmpl/gstdataprotocol.sgml:
4258         * docs/random/omega/testing/gstobject.c:
4259         * gst/gst.c:
4260         * gst/gstclock.c:
4261         * gst/gstelement.c:
4262         * gst/gstelementfactory.c:
4263         * gst/gsterror.c:
4264         * gst/gstevent.c:
4265         * gst/gstghostpad.c:
4266         * gst/gstinfo.c:
4267         * gst/gstpadtemplate.c:
4268         * gst/gstregistryxml.c:
4269         * gst/gsttaglist.c:
4270         * gst/gsttagsetter.c:
4271         * gst/gsttypefind.c:
4272         * gst/gstvalue.c:
4273         * libs/gst/base/gstbasesrc.c:
4274         * libs/gst/net/gstnetclientclock.c:
4275         * libs/gst/net/gstnettimeprovider.c:
4276         * plugins/elements/gstfakesrc.c:
4277         * plugins/elements/gstfdsrc.c:
4278         * plugins/elements/gstfilesrc.c:
4279         * plugins/elements/gstidentity.c:
4280         * plugins/elements/gstqueue.c:
4281         * plugins/elements/gsttypefindelement.c:
4282         * plugins/indexers/gstfileindex.c:
4283         * plugins/indexers/gstmemindex.c:
4284         * tests/check/gst/gsttag.c:
4285         * tests/old/examples/cutter/cutter.c:
4286         * tests/old/examples/mixer/mixer.c:
4287         * tests/old/examples/xml/runxml.c: (main):
4288         * tests/old/testsuite/caps/normalisation.c:
4289         * tests/old/testsuite/debug/global.c:
4290         * tests/old/testsuite/parse/parse1.c:
4291         * tools/gst-xmlinspect.c:
4292         * win32/common/dirent.c:
4293           expand tabs
4294
4295 === release 0.10.0 ===
4296
4297 2005-12-05   <thomas (at) apestaart (dot) org>
4298
4299         * configure.ac:
4300           releasing 0.10.0, "Maroilles"
4301
4302 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4303
4304         submitted by: Funda Wang <fundawang@linux.net.cn>
4305
4306         * po/LINGUAS:
4307         * po/zh_CN.po:
4308           added Chinese (Traditional) translation
4309
4310 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4311
4312         * docs/gst/gstreamer-sections.txt:
4313         * docs/libs/tmpl/gstdataprotocol.sgml:
4314         * docs/random/thomasvs/TODO:
4315         * gst/gstutils.c:
4316         * gst/gstutils.h:
4317           fix docs
4318
4319 2005-12-05  Andy Wingo  <wingo@pobox.com>
4320
4321         patch by: Wim Taymans <wim@fluendo.com>
4322
4323         * libs/gst/base/gstbasetransform.c
4324         (gst_base_transform_prepare_output_buf)
4325         (gst_base_transform_buffer_alloc):
4326         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4327         alloc_buffer_and_set_caps.
4328
4329         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4330         set_caps on the source pad.
4331         (gst_pad_alloc_buffer_and_set_caps): New function, does what
4332         alloc_buffer used to do. Fixes #322874.
4333
4334         * docs/gst/gstreamer-sections.txt: 
4335         * docs/design/part-negotiation.txt: 
4336         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4337         changes.
4338
4339 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4340
4341         patch by: Sebastien Moutte
4342
4343         * win32/MANIFEST:
4344         * win32/common/config.h.in:
4345         * win32/vs6/libgstcontroller.dsp:
4346           win32 build fixes
4347
4348 2005-12-05  Wim Taymans  <wim@fluendo.com>
4349
4350         * gst/gstcaps.c: (gst_caps_is_equal):
4351         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4352         (gst_fake_src_create):
4353         Back out previous code changes, leave doc updates, file bugs 
4354         instead. 
4355
4356 2005-12-05  Wim Taymans  <wim@fluendo.com>
4357
4358         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4359         (gst_fake_src_get_times), (gst_fake_src_create):
4360         * plugins/elements/gstfakesrc.h:
4361         Fix broken sync code.
4362
4363 2005-12-05  Wim Taymans  <wim@fluendo.com>
4364
4365         * gst/gstcaps.c: (gst_caps_is_equal):
4366         Comparing NULL against !NULL yields different caps, not a
4367         failure.
4368
4369 2005-12-05  Wim Taymans  <wim@fluendo.com>
4370
4371         * gst/gstpipeline.c:
4372         Fix small typo in docs.
4373
4374 2005-12-05  Andy Wingo  <wingo@pobox.com>
4375
4376         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
4377
4378         * gst/gst.c (init_post): remove hard-coded 0.9 location for
4379         registries/plugins with a MAJORMINOR one.
4380         (plugin_desc): Rename library from gstcoreleements to
4381         staticelements. Fixes #323222.
4382
4383 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
4384
4385         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4386           Change debug category to 'collectpads' from 'collect_pads'
4387           (fixes #323250).
4388
4389 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4390
4391         patch by: Sebastien Moutte
4392
4393         * libs/gst/controller/gstinterpolation.c:
4394           use convert function for uint64/double
4395         * win32/vs6/libgstcontroller.dsp:
4396           link to GLib
4397
4398 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4399
4400         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4401         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4402         * gst/gstutils.h:
4403         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4404           add tests that seem to show that the guint64/gdouble conversions
4405           are correct.
4406
4407 2005-12-02  Wim Taymans  <wim@fluendo.com>
4408
4409         * gst/gstregistry.c: (gst_registry_add_path):
4410         * gst/gstregistry.h:
4411         * gst/gstregistryxml.c:
4412         Fix docs again.
4413
4414 2005-12-02  Wim Taymans  <wim@fluendo.com>
4415
4416         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4417         (gst_util_uint64_scale_int):
4418         Small cleanup.
4419
4420         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4421         Add debug log line.
4422
4423         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4424         Add FIXME.
4425
4426 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4427
4428         * win32/MANIFEST:
4429         * win32/common/config.h:
4430         * win32/vs6/gstreamer.dsw:
4431         * win32/vs6/libgstcoreelements.dsp:
4432         * win32/vs6/libgstelements.dsp:
4433           renamed core elements plugin
4434
4435 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4436
4437         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4438         (get_candidates):
4439           do piece-wise major/minor comparison so 0.9 < 0.10
4440           also allow .exe extensions for tools
4441
4442 2005-12-02  Michael Smith  <msmith@fluendo.com>
4443
4444         * gst/gst.c:
4445           Escape a % to make gtkdoc happier; bug 322958.
4446
4447 === release 0.9.7 ===
4448
4449 2005-12-01   <thomas (at) apestaart (dot) org>
4450
4451         * configure.ac:
4452           releasing 0.9.7, "My Dog Has No Nose"
4453
4454 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4455
4456         * common/gst-xmlinspect.py:
4457         * configure.ac:
4458         * docs/libs/tmpl/gstdataprotocol.sgml:
4459         * docs/random/release:
4460         * po/af.po:
4461         * po/az.po:
4462         * po/bg.po:
4463         * po/ca.po:
4464         * po/cs.po:
4465         * po/de.po:
4466         * po/en_GB.po:
4467         * po/fr.po:
4468         * po/it.po:
4469         * po/nb.po:
4470         * po/nl.po:
4471         * po/ru.po:
4472         * po/sq.po:
4473         * po/sr.po:
4474         * po/sv.po:
4475         * po/tr.po:
4476         * po/uk.po:
4477         * po/vi.po:
4478         * win32/common/config.h:
4479         * win32/common/config.h.in:
4480         * win32/vs6/gst_inspect.dsp:
4481         * win32/vs6/gst_launch.dsp:
4482         * win32/vs6/libgstbase.dsp:
4483         * win32/vs6/libgstelements.dsp:
4484         * win32/vs6/libgstreamer.dsp:
4485         * win32/vs7/GStreamer.vcproj:
4486         * win32/vs7/gst-inspect.vcproj:
4487         * win32/vs7/gst-launch.vcproj:
4488         * win32/vs7/libgstbase.vcproj:
4489           bump GST_MAJORMINOR to 0.10
4490           reset libtool version
4491
4492 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4493
4494         * po/LINGUAS:
4495         * po/bg.po:
4496           Added Bulgarian translation by (Alexander Shopov)
4497
4498 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4499
4500         * tests/check/gst/gstplugin.c:
4501           fix test
4502
4503 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4504
4505         * common/gst-xmlinspect.py:
4506         * common/gtk-doc-plugins.mak:
4507         * configure.ac:
4508         * docs/Makefile.am:
4509         * docs/gst/Makefile.am:
4510         * docs/gst/gstreamer-docs.sgml:
4511         * docs/gst/gstreamer-sections.txt:
4512         * docs/gst/gstreamer.types:
4513         * docs/gst/gstreamer.types.in:
4514         * docs/plugins/Makefile.am:
4515         * docs/plugins/gstreamer-plugins-docs.sgml:
4516         * docs/plugins/gstreamer-plugins-sections.txt:
4517         * docs/plugins/gstreamer-plugins.types:
4518         * docs/plugins/inspect.stamp:
4519         * docs/plugins/inspect/plugin-coreelements.xml:
4520         * docs/plugins/inspect/plugin-coreindexers.xml:
4521         * docs/plugins/scanobj-build.stamp:
4522         * gstreamer.spec.in:
4523         * plugins/elements/Makefile.am:
4524         * plugins/elements/gstelements.c:
4525         * plugins/elements/gstfakesink.c:
4526         * plugins/elements/gstfakesrc.c:
4527         * plugins/elements/gstfilesink.c:
4528         * plugins/elements/gstfilesrc.c:
4529         * plugins/elements/gstqueue.c:
4530         * plugins/indexers/Makefile.am:
4531         * plugins/indexers/gstindexers.c:
4532           document core plugins in a separate document just like all the
4533           others
4534           rename these plugins to something starting with core
4535
4536 2005-12-01  Andy Wingo  <wingo@pobox.com>
4537
4538         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4539         padding here before, but it missed the commit.
4540
4541 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4542
4543         * libs/gst/controller/gstinterpolation.c:
4544           whitespace prices have crashed, we should feel free to use some now
4545           use gst_guint64_to_gdouble
4546
4547 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4548
4549         * libs/gst/controller/gstcontroller.c:
4550         * libs/gst/controller/gsthelper.c:
4551         * libs/gst/controller/gstinterpolation.c:
4552         * libs/gst/controller/lib.c:
4553           wrap config.h include
4554
4555 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4556
4557         * docs/gst/gstreamer-sections.txt:
4558           update docs
4559
4560 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4561
4562         * plugins/elements/gstelements.c:
4563         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4564         (gst_fd_sink__class_init), (gst_fd_sink__init),
4565         (gst_fd_sink__chain), (gst_fd_sink__set_property),
4566         (gst_fd_sink__get_property):
4567         * plugins/elements/gstfdsink.h:
4568         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4569         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4570         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4571         (gst_fd_src_unlock), (gst_fd_src_set_property),
4572         (gst_fd_src_get_property), (gst_fd_src_create),
4573         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4574         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4575         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4576         (gst_fd_src_uri_handler_init):
4577         * plugins/elements/gstfdsrc.h:
4578         * plugins/elements/gstqueue.c: (gst_queue_get_type):
4579           more anal cleanup
4580
4581 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4582
4583         * docs/gst/Makefile.am:
4584         * docs/gst/gstreamer.types.in:
4585         * gst/Makefile.am:
4586           fix the docs build
4587
4588 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4589
4590         * configure.ac:
4591         * gst/Makefile.am:
4592         * gst/gst.c:
4593         * gst/gstplugin.h:
4594         * gst/gstregistry.h:
4595         * tests/benchmarks/complexity.c:
4596         * tests/benchmarks/mass-elements.c:
4597         * tests/check/Makefile.am:
4598         * tools/Makefile.am:
4599         * tools/gst-inspect.c:
4600         * tools/gst-xmlinspect.c:
4601           various fixes to make
4602           --disable-nls --disable-registry --disable-loadsave
4603           --disable-parse --disable-gst-debug
4604           work and get the core .so down to 360444 bytes after stripping
4605
4606 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4607
4608         * Makefile.am:
4609         * configure.ac:
4610           descend into tests
4611         * docs/random/thomasvs/TODO:
4612         * tests/Makefile.am:
4613         * tests/README:
4614           add a README
4615
4616 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4617
4618         * win32/GStreamer.vcproj:
4619         * win32/MANIFEST:
4620         * win32/Makefile:
4621         * win32/Makefile.inspect:
4622         * win32/Makefile.launch:
4623         * win32/Makefile.register:
4624         * win32/README.txt:
4625         * win32/gst-inspect.vcproj:
4626         * win32/gst-launch.vcproj:
4627         * win32/gst-register.vcproj:
4628         * win32/gstelements.vcproj:
4629         * win32/gstgetbits.def:
4630         * win32/gstgetbits.vcproj:
4631         * win32/gstreamer-dbg.def:
4632         * win32/gstreamer.def:
4633         * win32/libgstbase.def:
4634         * win32/libgstbase.vcproj:
4635         * win32/link_oldruntime.c:
4636         * win32/mman.c:
4637         * win32/mman.h:
4638         * win32/mman.inl:
4639         * win32/msvc71.sln:
4640           move even more stuff, win32/ is nice and clean now
4641
4642 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4643
4644         * libs/gst/control/.cvsignore:
4645         * win32/MANIFEST:
4646         * win32/config.h:
4647         * win32/dirent.c:
4648         * win32/dirent.h:
4649         * win32/gstbytestream.def:
4650         * win32/gstbytestream.vcproj:
4651         * win32/gstconfig.h:
4652         * win32/gstenumtypes.c:
4653         * win32/gstenumtypes.h:
4654         * win32/gstoptimalscheduler.vcproj:
4655         * win32/gstversion.h:
4656         * win32/gtchar.h:
4657         * win32/testsuite/bins.vcproj:
4658         * win32/testsuite/bytestream.vcproj:
4659         * win32/testsuite/caps.vcproj:
4660         * win32/testsuite/cleanup.vcproj:
4661         * win32/testsuite/clock.vcproj:
4662         * win32/testsuite/debug.vcproj:
4663         * win32/testsuite/dlopen.vcproj:
4664         * win32/testsuite/dynparams.vcproj:
4665         * win32/testsuite/elements.vcproj:
4666         * win32/testsuite/ghostpads.vcproj:
4667         * win32/testsuite/indexers.vcproj:
4668         * win32/testsuite/negotiation.vcproj:
4669         * win32/testsuite/parse.vcproj:
4670         * win32/testsuite/plugin.vcproj:
4671         * win32/testsuite/refcounting.vcproj:
4672         * win32/testsuite/schedulers.vcproj:
4673         * win32/testsuite/states.vcproj:
4674         * win32/testsuite/tags.vcproj:
4675         * win32/testsuite/threads.vcproj:
4676           remove old win32 stuff that isn't maintained and should be
4677           reorganized
4678
4679 2005-11-30  Andy Wingo  <wingo@pobox.com>
4680
4681         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4682         loading the gst.interfaces python module bork.
4683
4684         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
4685         available since GLib 2.2. Fixes #318031.
4686
4687 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4688
4689         * Makefile.am:
4690         * check/.cvsignore:
4691         * check/Makefile.am:
4692         * check/elements/.cvsignore:
4693         * check/elements/fakesrc.c:
4694         * check/elements/fdsrc.c:
4695         * check/elements/identity.c:
4696         * check/generic/.cvsignore:
4697         * check/generic/states.c:
4698         * check/gst-libs/.cvsignore:
4699         * check/gst-libs/controller.c:
4700         * check/gst-libs/gdp.c:
4701         * check/gst/.cvsignore:
4702         * check/gst/capslist.h:
4703         * check/gst/gst.c:
4704         * check/gst/gstbin.c:
4705         * check/gst/gstbuffer.c:
4706         * check/gst/gstbus.c:
4707         * check/gst/gstcaps.c:
4708         * check/gst/gstelement.c:
4709         * check/gst/gstevent.c:
4710         * check/gst/gstghostpad.c:
4711         * check/gst/gstiterator.c:
4712         * check/gst/gstmessage.c:
4713         * check/gst/gstminiobject.c:
4714         * check/gst/gstobject.c:
4715         * check/gst/gstpad.c:
4716         * check/gst/gstpipeline.c:
4717         * check/gst/gstplugin.c:
4718         * check/gst/gstsegment.c:
4719         * check/gst/gststructure.c:
4720         * check/gst/gstsystemclock.c:
4721         * check/gst/gsttag.c:
4722         * check/gst/gstutils.c:
4723         * check/gst/gstvalue.c:
4724         * check/net/.cvsignore:
4725         * check/net/gstnetclientclock.c:
4726         * check/net/gstnettimeprovider.c:
4727         * check/pipelines/.cvsignore:
4728         * check/pipelines/cleanup.c:
4729         * check/pipelines/simple_launch_lines.c:
4730         * check/pipelines/stress.c:
4731         * check/states/.cvsignore:
4732         * check/states/sinks.c:
4733         * configure.ac:
4734         * examples/Makefile.am:
4735         * examples/appreader/.cvsignore:
4736         * examples/appreader/Makefile.am:
4737         * examples/appreader/appreader.c:
4738         * examples/controller/.cvsignore:
4739         * examples/controller/Makefile.am:
4740         * examples/controller/audio-example.c:
4741         * examples/cutter/.cvsignore:
4742         * examples/cutter/Makefile.am:
4743         * examples/cutter/cutter.c:
4744         * examples/cutter/cutter.h:
4745         * examples/events/Makefile.am:
4746         * examples/events/seek.c:
4747         * examples/helloworld/.cvsignore:
4748         * examples/helloworld/Makefile.am:
4749         * examples/helloworld/helloworld.c:
4750         * examples/helloworld2/.cvsignore:
4751         * examples/helloworld2/Makefile.am:
4752         * examples/helloworld2/helloworld2.c:
4753         * examples/launch/.cvsignore:
4754         * examples/launch/Makefile.am:
4755         * examples/launch/mp3parselaunch.c:
4756         * examples/launch/mp3play:
4757         * examples/manual/.cvsignore:
4758         * examples/manual/Makefile.am:
4759         * examples/manual/extract.pl:
4760         * examples/metadata/Makefile.am:
4761         * examples/metadata/read-metadata.c:
4762         * examples/mixer/.cvsignore:
4763         * examples/mixer/Makefile.am:
4764         * examples/mixer/mixer.c:
4765         * examples/mixer/mixer.h:
4766         * examples/pingpong/.cvsignore:
4767         * examples/pingpong/Makefile.am:
4768         * examples/pingpong/pingpong.c:
4769         * examples/plugins/.cvsignore:
4770         * examples/plugins/Makefile.am:
4771         * examples/plugins/example.c:
4772         * examples/plugins/example.h:
4773         * examples/pwg/.cvsignore:
4774         * examples/pwg/Makefile.am:
4775         * examples/pwg/extract.pl:
4776         * examples/queue/.cvsignore:
4777         * examples/queue/Makefile.am:
4778         * examples/queue/queue.c:
4779         * examples/queue2/.cvsignore:
4780         * examples/queue2/Makefile.am:
4781         * examples/queue2/queue2.c:
4782         * examples/queue3/.cvsignore:
4783         * examples/queue3/Makefile.am:
4784         * examples/queue3/queue3.c:
4785         * examples/queue4/.cvsignore:
4786         * examples/queue4/Makefile.am:
4787         * examples/queue4/queue4.c:
4788         * examples/retag/.cvsignore:
4789         * examples/retag/Makefile.am:
4790         * examples/retag/retag.c:
4791         * examples/retag/transcode.c:
4792         * examples/thread/.cvsignore:
4793         * examples/thread/Makefile.am:
4794         * examples/thread/thread.c:
4795         * examples/typefind/.cvsignore:
4796         * examples/typefind/Makefile.am:
4797         * examples/typefind/typefind.c:
4798         * examples/xml/.cvsignore:
4799         * examples/xml/Makefile.am:
4800         * examples/xml/createxml.c:
4801         * examples/xml/runxml.c:
4802         * tests/Makefile.am:
4803         * tests/check/Makefile.am:
4804         * testsuite/.cvsignore:
4805         * testsuite/Makefile.am:
4806         * testsuite/Rules:
4807         * testsuite/caps/.cvsignore:
4808         * testsuite/caps/Makefile.am:
4809         * testsuite/caps/app_fixate.c:
4810         * testsuite/caps/audioscale.c:
4811         * testsuite/caps/caps.c:
4812         * testsuite/caps/caps.h:
4813         * testsuite/caps/caps_strings:
4814         * testsuite/caps/compatibility.c:
4815         * testsuite/caps/deserialize.c:
4816         * testsuite/caps/enumcaps.c:
4817         * testsuite/caps/eratosthenes.c:
4818         * testsuite/caps/filtercaps.c:
4819         * testsuite/caps/fixed.c:
4820         * testsuite/caps/fraction-convert.c:
4821         * testsuite/caps/fraction-multiply-and-zero.c:
4822         * testsuite/caps/intersect2.c:
4823         * testsuite/caps/intersection.c:
4824         * testsuite/caps/normalisation.c:
4825         * testsuite/caps/random.c:
4826         * testsuite/caps/renegotiate.c:
4827         * testsuite/caps/sets.c:
4828         * testsuite/caps/simplify.c:
4829         * testsuite/caps/string-conversions.c:
4830         * testsuite/caps/structure.c:
4831         * testsuite/caps/subtract.c:
4832         * testsuite/caps/union.c:
4833         * testsuite/debug/.cvsignore:
4834         * testsuite/debug/Makefile.am:
4835         * testsuite/debug/category.c:
4836         * testsuite/debug/commandline.c:
4837         * testsuite/debug/global.c:
4838         * testsuite/debug/output.c:
4839         * testsuite/debug/printf_extension.c:
4840         * testsuite/dlopen/.cvsignore:
4841         * testsuite/dlopen/Makefile.am:
4842         * testsuite/dlopen/dlopen_gst.c:
4843         * testsuite/dlopen/loadgst.c:
4844         * testsuite/elements/.cvsignore:
4845         * testsuite/elements/Makefile.am:
4846         * testsuite/elements/gst-inspect-check.in:
4847         * testsuite/elements/struct_i386.h:
4848         * testsuite/elements/struct_size.c:
4849         * testsuite/indexers/.cvsignore:
4850         * testsuite/indexers/Makefile.am:
4851         * testsuite/indexers/cache1.c:
4852         * testsuite/indexers/indexdump.c:
4853         * testsuite/parse/.cvsignore:
4854         * testsuite/parse/Makefile.am:
4855         * testsuite/parse/parse1.c:
4856         * testsuite/parse/parse2.c:
4857         * testsuite/plugin/.cvsignore:
4858         * testsuite/plugin/Makefile.am:
4859         * testsuite/plugin/README:
4860         * testsuite/plugin/dynamic.c:
4861         * testsuite/plugin/linked.c:
4862         * testsuite/plugin/loading.c:
4863         * testsuite/plugin/registry.c:
4864         * testsuite/plugin/static.c:
4865         * testsuite/plugin/static2.c:
4866         * testsuite/plugin/testplugin.c:
4867         * testsuite/plugin/testplugin2.c:
4868         * testsuite/plugin/testplugin2_s.c:
4869         * testsuite/plugin/testplugin_s.c:
4870         * testsuite/refcounting/.cvsignore:
4871         * testsuite/refcounting/Makefile.am:
4872         * testsuite/refcounting/bin.c:
4873         * testsuite/refcounting/element.c:
4874         * testsuite/refcounting/element_pad.c:
4875         * testsuite/refcounting/mainloop.c:
4876         * testsuite/refcounting/mem.c:
4877         * testsuite/refcounting/mem.h:
4878         * testsuite/refcounting/object.c:
4879         * testsuite/refcounting/pad.c:
4880         * testsuite/refcounting/sched.c:
4881         * testsuite/refcounting/thread.c:
4882         * testsuite/states/.cvsignore:
4883         * testsuite/states/Makefile.am:
4884         * testsuite/states/bin.c:
4885         * testsuite/states/locked.c:
4886         * testsuite/states/parent.c:
4887         * testsuite/threads/.cvsignore:
4888         * testsuite/threads/159566.c:
4889         * testsuite/threads/159852.c:
4890         * testsuite/threads/Makefile.am:
4891         * testsuite/threads/queue.c:
4892         * testsuite/threads/signals.c:
4893         * testsuite/threads/staticrec.c:
4894         * testsuite/threads/thread.c:
4895         * testsuite/threads/threadb.c:
4896         * testsuite/threads/threadc.c:
4897         * testsuite/threads/threadd.c:
4898         * testsuite/threads/threade.c:
4899         * testsuite/threads/threadf.c:
4900         * testsuite/threads/threadg.c:
4901         * testsuite/threads/threadh.c:
4902         * testsuite/threads/threadi.c:
4903           move all of these under tests
4904
4905 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4906
4907         * configure.ac:
4908         * tests/Makefile.am:
4909           fix distcheck
4910
4911 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4912
4913         * docs/gst/gstreamer-sections.txt:
4914         * tests/sched/.cvsignore:
4915         * tests/sched/Makefile.am:
4916         * tests/sched/cases/(fs-fs).xml:
4917         * tests/sched/cases/(fs-i-fs).xml:
4918         * tests/sched/cases/(fs-i-i-fs).xml:
4919         * tests/sched/cases/(fs-i-q[i-fs]).xml:
4920         * tests/sched/dynamic-pipeline.c:
4921         * tests/sched/interrupt1.c:
4922         * tests/sched/interrupt2.c:
4923         * tests/sched/interrupt3.c:
4924         * tests/sched/runtestcases:
4925         * tests/sched/runxml.c:
4926         * tests/sched/sched-stress.c:
4927         * tests/sched/sort.c:
4928         * tests/sched/testcases:
4929         * tests/sched/testcases1.tc:
4930         * tests/seeking/.cvsignore:
4931         * tests/seeking/Makefile.am:
4932         * tests/seeking/seeking1.c:
4933         * tests/threadstate/.cvsignore:
4934         * tests/threadstate/Makefile.am:
4935         * tests/threadstate/test1.c:
4936         * tests/threadstate/test2.c:
4937         * tests/threadstate/threadstate1.c:
4938         * tests/threadstate/threadstate2.c:
4939         * tests/threadstate/threadstate3.c:
4940         * tests/threadstate/threadstate4.c:
4941         * tests/threadstate/threadstate5.c:
4942           remove obsolete tests
4943         * configure.ac:
4944         * tests/bench-complexity.scm:
4945         * tests/bench-mass_elements.scm:
4946         * tests/complexity.c:
4947         * tests/complexity.gnuplot:
4948         * tests/instantiate/.cvsignore:
4949         * tests/instantiate/Makefile.am:
4950         * tests/instantiate/caps.c:
4951         * tests/mass_elements.c:
4952         * tests/network-clock-utils.scm:
4953         * tests/network-clock.scm:
4954         * tests/plot-data:
4955         First pass at cleaning up tests/ dir before moving the rest
4956         Combined with CVS surgery
4957
4958 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4959
4960         * po/POTFILES.in:
4961           queue has moved, update
4962
4963 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4964
4965         * docs/gst/gstreamer-sections.txt:
4966           remove double entries from the docs
4967         * gst/gst_private.h:
4968         * gst/gstinfo.c: (_gst_debug_init):
4969           remove the THREAD debug category
4970         * gst/Makefile.am:
4971         * gst/gstqueue.c:
4972         * gst/gstqueue.h:
4973         * docs/gst/gstreamer.types:
4974         * plugins/elements/gstqueue.c: (gst_queue_get_type),
4975         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
4976           completely move queue and fix up debugging categories
4977
4978 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4979
4980         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4981           make initialization portable, using LL is not
4982
4983 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4984
4985         * win32/common/gstconfig.h:
4986           add large padding
4987
4988 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4989
4990         * win32/common/libgstreamer.def:
4991           rename symbols; sort base section
4992
4993 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4994
4995         * gst/gstclock.c: (do_linear_regression):
4996           remove crack non-portable handrolled DEBUG macro
4997
4998 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4999
5000         * docs/random/release:
5001           update notes
5002         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5003         (gst_object_flags_get_type), (register_gst_bin_flags),
5004         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5005         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5006         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5007         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5008         (gst_caps_flags_get_type), (register_gst_clock_return),
5009         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5010         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5011         (gst_clock_flags_get_type), (register_gst_state),
5012         (gst_state_get_type), (register_gst_state_change_return),
5013         (gst_state_change_return_get_type), (register_gst_state_change),
5014         (gst_state_change_get_type), (register_gst_element_flags),
5015         (gst_element_flags_get_type), (register_gst_core_error),
5016         (gst_core_error_get_type), (register_gst_library_error),
5017         (gst_library_error_get_type), (register_gst_resource_error),
5018         (gst_resource_error_get_type), (register_gst_stream_error),
5019         (gst_stream_error_get_type), (register_gst_event_type_flags),
5020         (gst_event_type_flags_get_type), (register_gst_event_type),
5021         (gst_event_type_get_type), (register_gst_seek_type),
5022         (gst_seek_type_get_type), (register_gst_seek_flags),
5023         (gst_seek_flags_get_type), (register_gst_format),
5024         (gst_format_get_type), (register_gst_index_certainty),
5025         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5026         (gst_index_entry_type_get_type),
5027         (register_gst_index_lookup_method),
5028         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5029         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5030         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5031         (gst_index_flags_get_type), (register_gst_debug_level),
5032         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5033         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5034         (gst_iterator_result_get_type), (register_gst_iterator_item),
5035         (gst_iterator_item_get_type), (register_gst_message_type),
5036         (gst_message_type_get_type), (register_gst_mini_object_flags),
5037         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5038         (gst_pad_link_return_get_type), (register_gst_flow_return),
5039         (gst_flow_return_get_type), (register_gst_activate_mode),
5040         (gst_activate_mode_get_type), (register_gst_pad_direction),
5041         (gst_pad_direction_get_type), (register_gst_pad_flags),
5042         (gst_pad_flags_get_type), (register_gst_pad_presence),
5043         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5044         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5045         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5046         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5047         (gst_plugin_flags_get_type), (register_gst_rank),
5048         (gst_rank_get_type), (register_gst_query_type),
5049         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5050         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5051         (gst_tag_flag_get_type), (register_gst_task_state),
5052         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5053         (gst_alloc_trace_flags_get_type),
5054         (register_gst_type_find_probability),
5055         (gst_type_find_probability_get_type), (register_gst_uri_type),
5056         (gst_uri_type_get_type), (register_gst_parse_error),
5057         (gst_parse_error_get_type):
5058         * win32/common/gstenumtypes.h:
5059         * win32/common/gstversion.h:
5060           update visual studio generated files
5061
5062 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5063
5064         * win32/vs6/libgstbase.dsp:
5065         * win32/vs6/libgstelements.dsp:
5066           update project files for new locations
5067
5068 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5069
5070         * Makefile.am:
5071           remove some files
5072         * README:
5073           reinstate and update
5074         * DEVEL:
5075         * REQUIREMENTS:
5076           removed
5077         * LICENSE:
5078         * docs/random/LICENSE:
5079           moved to random
5080
5081 2005-11-30  Edward Hervey  <edward@fluendo.com>
5082
5083         * gst/gsttypefind.c: (gst_type_find_register):
5084         * gst/gsttypefind.h:
5085         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5086         (gst_type_find_factory_dispose):
5087         * gst/gsttypefindfactory.h:
5088         Fix memory leak in GstTypeFindFactory.
5089
5090 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5091
5092         * gst/gst.c:
5093         * plugins/elements/Makefile.am:
5094         * plugins/elements/gstelements.c:
5095         * plugins/elements/gstqueue.c:
5096           move queue from core to the elements plugin
5097
5098 2005-11-29  Andy Wingo  <wingo@pobox.com>
5099
5100         * libs/gst/base/gstbasetransform.h: 
5101         * libs/gst/base/gstbasesrc.h: 
5102         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5103
5104         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5105         of pointers by which to pad very extensible base classes (like the
5106         ones in libs/gst/base).
5107
5108 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5109
5110         * docs/gst/gstreamer-docs.sgml:
5111         * docs/gst/gstreamer-sections.txt:
5112         * docs/libs/gstreamer-libs-docs.sgml:
5113         * docs/libs/gstreamer-libs-sections.txt:
5114           moving documentation from core to lib
5115
5116 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5117
5118         * check/Makefile.am:
5119         * configure.ac:
5120         * docs/gst/Makefile.am:
5121         * gst/Makefile.am:
5122         * gst/base/.cvsignore:
5123         * gst/base/Makefile.am:
5124         * gst/base/README:
5125         * gst/base/gstadapter.c:
5126         * gst/base/gstadapter.h:
5127         * gst/base/gstbasesink.c:
5128         * gst/base/gstbasesink.h:
5129         * gst/base/gstbasesrc.c:
5130         * gst/base/gstbasesrc.h:
5131         * gst/base/gstbasetransform.c:
5132         * gst/base/gstbasetransform.h:
5133         * gst/base/gstcollectpads.c:
5134         * gst/base/gstcollectpads.h:
5135         * gst/base/gstpushsrc.c:
5136         * gst/base/gstpushsrc.h:
5137         * gst/base/gsttypefindhelper.c:
5138         * gst/base/gsttypefindhelper.h:
5139         * gst/check/Makefile.am:
5140         * gst/check/gstcheck.c:
5141         * gst/check/gstcheck.h:
5142         * gst/net/Makefile.am:
5143         * gst/net/gstnet.h:
5144         * gst/net/gstnetclientclock.c:
5145         * gst/net/gstnetclientclock.h:
5146         * gst/net/gstnettimepacket.c:
5147         * gst/net/gstnettimepacket.h:
5148         * gst/net/gstnettimeprovider.c:
5149         * gst/net/gstnettimeprovider.h:
5150         * libs/gst/Makefile.am:
5151         * libs/gst/base/Makefile.am:
5152         * libs/gst/base/gstbasetransform.c:
5153         * libs/gst/check/Makefile.am:
5154         * plugins/elements/Makefile.am:
5155         * po/POTFILES.in:
5156           CVS surgery + support to move base, check, and net out of gst
5157           and into libs/gst
5158
5159 2005-11-29  Andy Wingo  <wingo@pobox.com>
5160
5161         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5162
5163         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5164         padding.
5165
5166         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5167
5168         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5169
5170         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5171
5172         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5173         padding; reduces object size by about 30%. We don't expect
5174         anything else to go into gstobject.
5175
5176         * gst/gstminiobject.h (struct _GstMiniObject)
5177         (struct _GstMiniObjectClass): Only one pointer of padding; the
5178         payload is only a pointer and two ints anyway. For the class there
5179         are only two methods as well.
5180         
5181         * gst/gstelement.h (struct _GstElementClass): Removed
5182         the state_changed signal callback, it is not used.
5183
5184 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5185
5186         * docs/gst/gstreamer.types:
5187           fix includes, though they are a little dinky
5188
5189 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5190
5191         * check/Makefile.am:
5192           look in the right place for elements, a lot more chance of
5193           success
5194         * gst/Makefile.am:
5195           remove indexers and elements subdirs
5196         * plugins/Makefile.am:
5197           make indexers conditional
5198
5199 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5200
5201         * Makefile.am:
5202         * configure.ac:
5203         * plugins/elements/Makefile.am:
5204         * plugins/elements/gstcapsfilter.c:
5205         * plugins/elements/gstfilesink.c:
5206         * plugins/elements/gstfilesrc.c:
5207         * plugins/elements/gstidentity.c:
5208         * plugins/indexers/Makefile.am:
5209           do CVS surgery and related build fixery to move elements
5210           and indexers in a new gstreamer/plugins directory, out of the
5211           gst/ directory
5212
5213 2005-11-29  Andy Wingo  <wingo@pobox.com>
5214
5215         * check/Makefile.am:
5216         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5217         * pkgconfig/gstreamer-net.pc.in:
5218         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5219         #322257.
5220
5221 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5222
5223         * tools/Makefile.am:
5224         * tools/gst-complete.1.in:
5225         * tools/gst-complete.c:
5226         * tools/gst-compprep.1.in:
5227         * tools/gst-compprep.c:
5228           removing -compprep and -complete
5229
5230 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5231
5232         * gst/gstevent.c: (gst_event_new_new_segment),
5233         (gst_event_parse_new_segment):
5234         * gst/gstevent.h:
5235           fix #320529 - clean up new_segment API and structure.
5236           Let's hope everyone was using the methods, and not the structure.
5237
5238 2005-11-29  Edward Hervey  <edward@fluendo.com>
5239
5240         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5241         (gst_base_sink_event), (gst_base_sink_do_sync),
5242         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5243         Properly handle non GST_FORMAT_TIME segment
5244         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5245         Properly handle non GST_FORMAT_TIME segment
5246         * gst/gstsegment.c:
5247         This function is valid if the accumulator is 0 and the format
5248         is different from the requested format.
5249         
5250 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5251
5252         * docs/gst/gstreamer-sections.txt:
5253         Add gst_query_new_seeking and gst_query_parse_seeking to the
5254         docs.
5255
5256 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5257
5258         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5259           Treat a pad alloc with new caps the same as if we were not
5260           negotiated, in order to allow a changing upstream output
5261           to produce a new format of data.
5262
5263 2005-11-29  Edward Hervey  <edward@fluendo.com>
5264
5265         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5266         (gst_base_transform_event), (gst_base_transform_eventfunc):
5267         The event virtual method is now properly implemented, with a default
5268         handler
5269         Sub classes should call the parent_class event method. They should
5270         return FALSE if they had a problem handling the given event, or don't
5271         want GstBaseTransform to send that even downstream
5272         * gst/elements/gstidentity.c: (gst_identity_class_init),
5273         (gst_identity_init), (gst_identity_event),
5274         (gst_identity_transform_ip), (gst_identity_set_property),
5275         (gst_identity_get_property):
5276         * gst/elements/gstidentity.h:
5277         Added the single-segment boolean property.
5278         If set to TRUE, it will output a single segment of data, starting from
5279         0, will eat up all incoming newsegment, and modify the timestamp of the
5280         buffers accordingly
5281
5282 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
5283
5284         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5285           Don't ref NULL target pad (#322751). Improve docs.
5286
5287 2005-11-29  Michael Smith  <msmith@fluendo.com>
5288
5289         * gst/gstregistryxml.c: (load_plugin):
5290           Don't crash if we failed to load a feature from a plugin. 
5291
5292 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5293
5294         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5295         (GST_START_TEST):
5296           use more check API and less GLib API
5297
5298 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5299
5300         * Makefile.am:
5301           don't run checks if we don't have check
5302         * common/check.mak:
5303           remove the registry when running make torture
5304         * docs/gst/gstreamer-sections.txt:
5305           remove second multiply
5306         * gst/gstqueue.c: (gst_queue_loop):
5307           fix a compile warning when disabling debug
5308
5309 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5310
5311         * gst/gstinfo.h:
5312         Hey! Let's print the pad name if the pointer != NULL instead
5313         of when it == NULL :-)
5314
5315 2005-11-28  Wim Taymans  <wim@fluendo.com>
5316
5317         * check/gst/gstutils.c: (GST_START_TEST):
5318         Updated check, add some scaling accuracy checking code.
5319
5320         * gst/gstutils.c: (gst_util_div128_64),
5321         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5322         (gst_util_uint64_scale_int):
5323         Fix 6 times faster division code. Optimize for common 
5324         1/1 and less common X/1 cases.
5325
5326 2005-11-28  Wim Taymans  <wim@fluendo.com>
5327
5328         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5329         More checks.
5330
5331         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5332         (do_linear_regression), (gst_clock_add_observation):
5333         Cleanups.
5334         Release lock when the clock cannot be slaved.
5335         Catch the case where the regression returned an invalid denominator.
5336
5337         * gst/gstutils.c: (gst_util_div128_64_iterate),
5338         (gst_util_div128_64), (gst_util_uint64_scale_int64),
5339         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5340         Add protentially more performant non-iterative 128/64 divide function
5341         that unfortunatly does not work yet.
5342         Shortcut the trivial 0/X = 0 case.
5343         Remove the warnings on overflow.
5344
5345 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5346
5347         * gst/gstplugin.c: (gst_plugin_register_func):
5348           everything causing a plugin not to load should be at least a WARNING
5349
5350 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
5351
5352         * docs/random/ensonic/dparams.txt:
5353           some TODOs for the next dev cycle
5354         * libs/gst/controller/gstcontroller.c:
5355         (gst_controlled_property_set_interpolation_mode),
5356         (gst_controlled_property_new):
5357         * libs/gst/controller/gstcontroller.h:
5358           use base type to assign acccessor functions
5359
5360 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5361
5362         * check/Makefile.am:
5363         Oops, that should have been top_srcdir
5364
5365 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5366
5367         * check/Makefile.am:
5368         * check/elements/fdsrc.c: (GST_START_TEST):
5369         Use a cmdline define to specify the location of a file to use for
5370         testing, to avoid breaking distcheck.
5371
5372 2005-11-28  Andy Wingo  <wingo@pobox.com>
5373
5374         * gst/gstpad.c (fixate_value): Use array functions for arrays.
5375
5376 2005-11-28  Edward Hervey  <edward@fluendo.com>
5377
5378         * tools/gst-launch.c: (main):
5379         Clarify the output strings, makes it easier to translate.
5380         Fixes #322626
5381
5382 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5383
5384         * gst/Makefile.am:
5385           don't try and build net if we don't even have <sys/socket.h>
5386
5387 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
5388
5389         * check/Makefile.am:
5390         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5391         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5392           Add tests for fdsrc seekability
5393
5394         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5395         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5396         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5397         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5398         * gst/elements/gstfdsrc.h:
5399           fdsrc should not be a 'live' source.
5400           Implement seeking on seekable fd's.
5401
5402         * gst/gstquery.c: (gst_query_new_seeking),
5403         (gst_query_parse_seeking):
5404         * gst/gstquery.h:
5405           Implement SEEKING query functions: 
5406             *_new_seeking and *_parse_seeking
5407
5408 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
5409
5410         * gst/gstelement.c: (gst_element_dispose):
5411           don't loop forever
5412
5413         * gst/gstiterator.c:
5414         * gst/gststructure.c:
5415           doc fixes
5416
5417         * libs/gst/controller/gstcontroller.c:
5418         (gst_controlled_property_set_interpolation_mode):
5419         * libs/gst/controller/gstcontroller.h:
5420         * libs/gst/controller/gstinterpolation.c:
5421         (interpolate_none_get_enum_value_array):
5422           support controlling enums
5423
5424 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5425
5426         * gst/gstvalue.c:
5427           Improve documentation for gst_value_union().
5428
5429         * gst/gstvalue.h:
5430           Change return value for union, intersect and subtract functions
5431           from gint to gboolean.
5432
5433 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5434
5435         * gst/gstvalue.c: (gst_value_serialize_any_list),
5436         (gst_value_transform_any_list_string),
5437         (gst_value_deserialize_list), (gst_value_deserialize_array),
5438         (gst_value_set_int_range), (gst_value_deserialize_int_range),
5439         (gst_value_set_double_range), (gst_value_deserialize_double_range),
5440         (gst_value_set_fraction_range_full),
5441         (gst_value_deserialize_fraction_range),
5442         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5443         (gst_value_deserialize_boolean),
5444         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5445         (gst_value_serialize_float), (gst_value_deserialize_float),
5446         (gst_string_wrap), (gst_value_deserialize_string),
5447         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5448         (gst_value_union_int_range_int_range),
5449         (gst_value_intersect_int_range_int_range),
5450         (gst_value_intersect_double_range_double_range),
5451         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5452         (gst_value_subtract_int_range_int_range),
5453         (gst_value_subtract_double_double_range),
5454         (gst_value_subtract_double_range_double_range),
5455         (gst_value_deserialize_fraction):
5456         * gst/gstvalue.h:
5457           Use gint, gdouble and gchar in our API instead of int, double and
5458           char (and make usage in gstvalue.c more consistent).
5459
5460 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5461
5462         * check/Makefile.am:
5463         * libs/gst/controller/Makefile.am:
5464         * libs/gst/dataprotocol/Makefile.am:
5465           fix up Makefile.am and remove GST_ENABLE_NEW
5466
5467 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5468
5469         * configure.ac:
5470         * gst/Makefile.am:
5471         * gst/base/Makefile.am:
5472         * gst/check/Makefile.am:
5473         * gst/elements/Makefile.am:
5474         * gst/net/Makefile.am:
5475           update LDFLAGS use some more
5476
5477 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5478
5479         * common/m4/gst-doc.m4:
5480           Fixes #312589
5481
5482 2005-11-26  Edward Hervey  <edward@fluendo.com>
5483
5484         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5485         This shouldn't issue a g_warning since it returns NULL if it
5486         couldn't find the plugin, and all functions using this behave
5487         properly on a NULL return. Switching to a GST_WARNING.
5488
5489 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
5490
5491         * gst/gstbin.c: (gst_bin_handle_message_func):
5492         Don't leak clock messages.
5493
5494 2005-11-25  Wim Taymans  <wim@fluendo.com>
5495
5496         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5497         (gst_util_uint64_scale_int):
5498         Optimisations, remove unneeded vars.
5499
5500 2005-11-25  Wim Taymans  <wim@fluendo.com>
5501
5502         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5503         Added more checks for the high precision uint64 cases.
5504
5505         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5506         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5507         Implement high precision (guint64 * guint64) / guint64.
5508
5509 2005-11-24  Wim Taymans  <wim@fluendo.com>
5510
5511         * gst/base/gstbasesrc.c: (gst_base_src_query):
5512         Fix wrong percentage query.
5513
5514         * gst/gstutils.c: (gst_util_uint64_scale),
5515         (gst_util_uint64_scale_int):
5516         Add some more common cases that can be handled 
5517         efficiently to _scale.
5518
5519 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5520
5521         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5522         (gst_mini_object_suite):
5523           don't use check calls from threads; check probably isn't
5524           threadsafe and using a lock to make it threadsafe would
5525           defeat the purpose of this check
5526         * gst/check/gstcheck.c:
5527         * gst/check/gstcheck.h:
5528           use GST_DEBUG some more
5529
5530 2005-11-24  Wim Taymans  <wim@fluendo.com>
5531
5532         * gst/gstutils.c: (gst_util_uint64_scale),
5533         (gst_util_uint64_scale_int):
5534         Chain trivial case to _scale_int.
5535
5536 2005-11-24  Wim Taymans  <wim@fluendo.com>
5537
5538         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5539         Added test for scaling.
5540
5541         * gst/gstclock.h:
5542         Small doc fix.
5543
5544         * gst/gstutils.c: (gst_util_uint64_scale_int):
5545         Implemented high precision scaling code.
5546
5547 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
5548
5549         * gst/gstinfo.h:
5550           do not crash on pad==NULL
5551
5552 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5553
5554         Patch by: Stefan Kost
5555
5556         * common/gtk-doc.mak:
5557         * docs/gst/Makefile.am:
5558         * docs/libs/Makefile.am:
5559           Fix distcheck issues for the libraries docs build
5560           Closes #319599.
5561
5562 2005-11-24  Michael Smith <msmith@fluendo.com>
5563
5564         * docs/manual/basics-helloworld.xml:
5565           Fix bug #315027: memory leak in example code in docs.
5566
5567 2005-11-24  Michael Smith <msmith@fluendo.com>
5568
5569         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5570           Unlock the PREROLL_LOCK in a failure case.
5571
5572 2005-11-24  Wim Taymans  <wim@fluendo.com>
5573
5574         * docs/gst/gstreamer-sections.txt:
5575         * gst/base/gstadapter.h:
5576         * gst/base/gstbasesink.h:
5577         * gst/base/gstbasesrc.h:
5578         * gst/base/gstbasetransform.h:
5579         * gst/base/gstpushsrc.h:
5580         * gst/elements/gstfakesink.h:
5581         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5582         * gst/elements/gstfakesrc.h:
5583         * gst/elements/gstfilesink.h:
5584         * gst/elements/gstfilesrc.h:
5585         * gst/gst.c:
5586         * gst/gstbin.c:
5587         * gst/gstbuffer.c: (_gst_buffer_copy):
5588         * gst/gstbus.h:
5589         * gst/gstcaps.c:
5590         * gst/gstchildproxy.c:
5591         * gst/gstclock.c:
5592         * gst/gstelement.c:
5593         * gst/gstelementfactory.c:
5594         * gst/gstelementfactory.h:
5595         * gst/gstevent.c:
5596         * gst/gstghostpad.h:
5597         * gst/gstindex.h:
5598         * gst/gstinterface.h:
5599         * gst/gstminiobject.c:
5600         * gst/gstminiobject.h:
5601         * gst/gstpad.c:
5602         * gst/gstpad.h:
5603         * gst/gstpadtemplate.h:
5604         * gst/gstpipeline.h:
5605         * gst/gstpluginfeature.h:
5606         * gst/gstquery.h:
5607         * gst/gstqueue.h:
5608         * gst/gsttaglist.c:
5609         * gst/gsttaglist.h:
5610         * gst/gsttagsetter.c:
5611         * gst/gsttagsetter.h:
5612         * gst/gsttrace.c:
5613         * gst/gsttrace.h:
5614         * gst/gsttypefind.h:
5615         * gst/gsturi.h:
5616         * gst/gstvalue.c:
5617         * gst/net/gstnetclientclock.c:
5618         * gst/net/gstnetclientclock.h:
5619         * gst/net/gstnettimepacket.c:
5620         * gst/net/gstnettimeprovider.c:
5621         * gst/net/gstnettimeprovider.h:
5622         Doc fixes.
5623
5624 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5625
5626         * configure.ac: back to HEAD
5627
5628 === release 0.9.6 ===
5629
5630 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
5631
5632         * configure.ac:
5633           releasing 0.9.6, "Always On Time"
5634
5635 2005-11-23  Wim Taymans  <wim@fluendo.com>
5636
5637         * docs/gst/gstreamer-sections.txt:
5638         * gst/glib-compat.c:
5639         * gst/gsttagsetter.c:
5640         * gst/gstvalue.c:
5641         * gst/net/gstnetclientclock.c:
5642         * gst/net/gstnettimepacket.h:
5643         Doc updates.
5644
5645 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5646
5647         * docs/faq/using.xml:
5648         * docs/libs/tmpl/gstcontrol.sgml:
5649         * docs/manual/advanced-dparams.xml:
5650         * docs/manual/appendix-checklist.xml:
5651         * docs/manual/basics-elements.xml:
5652         * docs/pwg/other-source.xml:
5653         * docs/random/moving-plugins:
5654         * gst/gstpad.c:
5655         * tools/gst-launch.1.in:
5656           remove mentions of sinesrc
5657
5658 2005-11-23  Michael Smith <msmith@fluendo.com>
5659
5660         * docs/gst/gstreamer-sections.txt:
5661           Update for new API and API changes.
5662         * gst/gstobject.h:
5663           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5664         * gst/gstvalue.c:
5665           Documentation typo fix.
5666         * gst/net/gstnettimepacket.c:
5667           Documentation fixes for arguments.
5668
5669 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
5670
5671         * gst/gststructure.c: (gst_structure_get_fraction),
5672         (gst_structure_parse_value),
5673         (gst_structure_fixate_field_nearest_fraction):
5674         * gst/gststructure.h:
5675         * gst/gstutils.c: (gst_util_uint64_scale_int):
5676         * gst/gstutils.h:
5677         * scripts/update-funcnames:
5678         API Changes. 
5679         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
5680         Make gst_structure_fixate_field_nearest_fraction take a numerator
5681         and denominator argument instead of a GValue
5682         add gst_structure_get_fraction helper function.
5683
5684 2005-11-23  Wim Taymans  <wim@fluendo.com>
5685
5686         * docs/design/part-TODO.txt:
5687         Update TODO.
5688
5689         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5690         * gst/net/gstnetclientclock.h:
5691         Use parent fields for timeout and window_size.
5692
5693 2005-11-23  Andy Wingo  <wingo@pobox.com>
5694
5695         * check/net/gstnetclientclock.c (test_functioning): Adjust to
5696         rate_num/rate_denom change.
5697
5698         * gst/net/gstnetclientclock.c
5699         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
5700         OBJECT_LOCK. Don't call add_observation with the lock.
5701
5702         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
5703         fraction.
5704         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
5705         rate fraction.
5706         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
5707         deal with rate as a fraction whose numerator and denominator are
5708         GstClockTime values.
5709         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
5710         master; the other fields are protected by the SLAVE_LOCK.
5711         (do_linear_regression): Note that this must be called with the
5712         SLAVE_LOCK.
5713         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
5714         OBJECT_LOCK. Call set_calibration instead of touching the
5715         variables directly.
5716         (gst_clock_set_property, gst_clock_get_property): Protect
5717         master/slave parameters with the SLAVE_LOCK.
5718
5719         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
5720         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
5721         note that all of the instance variables that add_observation and
5722         the set_master functions use are protected by that lock and not
5723         the OBJECT_LOCK.
5724         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
5725
5726         * gst/gstclock.c (gst_clock_add_observation): No longer requires
5727         the caller to take the object lock.
5728
5729 2005-11-23  Wim Taymans  <wim@fluendo.com>
5730
5731         * gst/gsterror.c: (_gst_core_errors_init):
5732         * gst/gsterror.h:
5733         Add error for clock stuff.
5734
5735         * gst/gstpipeline.c: (gst_pipeline_change_state),
5736         (gst_pipeline_set_clock):
5737         Post clock error when clock cannot be used in a pipeline.
5738
5739 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
5740
5741         * docs/gst/gstreamer-sections.txt:
5742           make two symbols from gstinfo private for the docs
5743         * gst/base/gstcollectpads.h:
5744         * gst/gstutils.c:
5745           fix doc typos, update docs
5746
5747 2005-11-22  Wim Taymans  <wim@fluendo.com>
5748
5749         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5750         (gst_base_sink_wait), (gst_base_sink_do_sync),
5751         (gst_base_sink_handle_event):
5752         * gst/base/gstbasesink.h:
5753         No need to store the clock, the parent element class already
5754         has it.
5755
5756         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
5757         Updates for clock_set returning a gboolean
5758
5759         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
5760         (gst_clock_id_wait_async), (gst_clock_class_init),
5761         (gst_clock_init), (gst_clock_finalize),
5762         (gst_clock_get_internal_time), (gst_clock_get_time),
5763         (gst_clock_slave_callback), (gst_clock_set_master),
5764         (gst_clock_get_master), (do_linear_regression),
5765         (gst_clock_add_observation), (gst_clock_set_property),
5766         (gst_clock_get_property):
5767         * gst/gstclock.h:
5768         Implement master/slave. When setting a clock as a slave, a
5769         periodic timeout is scheduled to sample master and slave times.
5770         Then the slave clock is recalibrated to match offset and rate
5771         of the master clock.
5772         Update logging a bit.
5773         Add flag so that a clock can state that is cannot be slaved to
5774         another clock.
5775
5776         * gst/gstelement.c: (gst_element_set_clock):
5777         * gst/gstelement.h:
5778         The set clock returns a gboolean for when an element cannot
5779         deal with the selected clock in the pipeline. 
5780
5781         * gst/gstpipeline.c: (gst_pipeline_change_state),
5782         (gst_pipeline_set_clock):
5783         * gst/gstpipeline.h:
5784         Handle the case where the selected clock cannot be set on
5785         the pipeline.
5786
5787         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
5788         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
5789         (gst_net_client_clock_set_property),
5790         (gst_net_client_clock_get_property),
5791         (gst_net_client_clock_observe_times):
5792         * gst/net/gstnetclientclock.h:
5793         Use regression code in GstClock parent, remove duplicated
5794         functionality.
5795
5796 2005-11-22  Michael Smith <msmith@fluendo.com>
5797
5798         * gst/gstutils.c: (gst_util_clock_time_scale):
5799         * gst/gstutils.h:
5800         * docs/gst/gstreamer-sections.txt:
5801           Rename method to have extra underscore.
5802
5803 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5804
5805         * gst/elements/Makefile.am:
5806         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
5807         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5808         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
5809         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
5810         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
5811         * gst/elements/gstfakesrc.h:
5812         * gst/gstqueue.c: (queue_leaky_get_type):
5813           correctly fix GEnumValues so that nick is the short lowercase
5814           dashed tag
5815         * tools/gst-inspect.c: (print_element_properties_info):
5816           also show the nick, since it's useful to use from parse_launch
5817           syntax
5818           Fixes #322139
5819
5820 2005-11-22  Michael Smith <msmith@fluendo.com>
5821
5822         * gst/gstutils.c: (gst_util_clocktime_scale):
5823         * gst/gstutils.h:
5824         * docs/gst/gstreamer-sections.txt:
5825           Add util method for scaling a clocktime by a fraction. Useful 
5826           implementation is left as an exercise for the reader.
5827
5828 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5829
5830         * gst/gstvalue.c: (gst_value_collect_fraction_range):
5831         If needed, allocate storage in the destination value during
5832         collection.
5833
5834 2005-11-22  Edward Hervey  <edward@fluendo.com>
5835
5836         * docs/gst/gstreamer-sections.txt:
5837         * gst/Makefile.am:
5838         * gst/gst.h:
5839         * gst/gsturitype.c:
5840         * gst/gsturitype.h:
5841         * gst/gstutils.c: (gst_util_set_object_arg):
5842         * tools/gst-compprep.c: (main):
5843         * tools/gst-inspect.c: (print_element_properties_info):
5844         Removed GstURI, closes bug #321061
5845
5846 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5847
5848         * check/gst/gststructure.c: (GST_START_TEST):
5849         * gst/gststructure.c: (gst_structure_parse_value):
5850           Oops, broke automatic string type parsing.
5851           Add a test to catch it in future.
5852
5853 2005-11-22  Andy Wingo  <wingo@pobox.com>
5854
5855         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
5856         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
5857         Actually rename the function implementations. Grr.
5858
5859 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5860
5861         * check/gst/capslist.h:
5862           Comment test cases
5863         * check/gst/gststructure.c: (GST_START_TEST),
5864         (gst_structure_suite):
5865           Test automatic value type detection in gst_structure_from_string.
5866         * gst/gststructure.c: (gst_structure_parse_value):
5867           Add fraction as a type we try and guess automatically in
5868           caps/structure strings.
5869
5870 2005-11-22  Andy Wingo  <wingo@pobox.com>
5871
5872         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
5873
5874         * gst/gsttagsetter.h:
5875         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
5876         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
5877         (gst_tag_setter_add_tag_valist)
5878         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
5879         _add_values, _add_valist, and _add_valist_values. Since this is an
5880         interface the function suffixes should be more explicit so
5881         language binding don't end up with element.add_valist ->
5882         gst_tag_setter_add_valist, for example. Fixes #322069.
5883
5884 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5885
5886         * check/gst/gstcaps.c: (GST_START_TEST):
5887           Extend caps string tests to check that a caps to string
5888           conversion is reversible and produces the same caps.
5889
5890         * gst/gststructure.c: (gst_structure_value_get_generic_type):
5891           Output "fraction" as the generic type fraction range, so caps
5892           serialisation and deserialisation works.
5893         * check/gst/capslist.h:
5894         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5895           Support 'MIN' and 'MAX' for deserialising fractions.
5896
5897 2005-11-22  Andy Wingo  <wingo@pobox.com>
5898
5899         * gst/gstevent.h (gst_event_new_new_segment)
5900         (gst_event_parse_new_segment, gst_event_new_buffer_size)
5901         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
5902         Renamed from *_newsegment, *_buffersize, *_notarget.
5903
5904         * scripts/update-funcnames: New script, performs the changes
5905         listed above.
5906
5907 2005-11-22  Wim Taymans  <wim@fluendo.com>
5908
5909         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5910         Make sure the GstFlowReturn is returned.
5911
5912         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
5913         (gst_bus_add_signal_watch):
5914         * gst/gstbus.h:
5915         add gst_bus_add_signal_watch_full.
5916
5917         * gst/gstplugin.c: (gst_plugin_load_file):
5918         Small style cleanup.
5919
5920 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5921
5922         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
5923           Block the fakesrc srcpad when we send an event, to avoid
5924           contention on the stream_lock causing random test failures.
5925
5926 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5927
5928         * check/gst/gstvalue.c: (GST_START_TEST):
5929         * gst/gstvalue.c: (gst_value_fraction_subtract):
5930           Fix subtraction.
5931
5932 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
5933
5934         * gst/gst.h:
5935           include "gstchildproxy.h"
5936         * gst/gstchildproxy.h:
5937         * libs/gst/controller/gstcontroller.h:
5938           use G_GNUC_NULL_TERMINATED
5939
5940 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5941
5942         * check/gst/capslist.h:
5943         * check/gst/gstcaps.c: (GST_START_TEST):
5944         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
5945         * gst/gststructure.c: (gst_structure_parse_range),
5946         (gst_structure_fixate_field_nearest_fraction):
5947         * gst/gststructure.h:
5948         * gst/gstvalue.c: (gst_value_init_fraction_range),
5949         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
5950         (gst_value_collect_fraction_range),
5951         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
5952         (gst_value_set_fraction_range_full),
5953         (gst_value_get_fraction_range_min),
5954         (gst_value_get_fraction_range_max),
5955         (gst_value_serialize_fraction_range),
5956         (gst_value_transform_fraction_range_string),
5957         (gst_value_compare_fraction_range),
5958         (gst_value_deserialize_fraction_range),
5959         (gst_value_intersect_fraction_fraction_range),
5960         (gst_value_intersect_fraction_range_fraction_range),
5961         (gst_value_subtract_fraction_fraction_range),
5962         (gst_value_subtract_fraction_range_fraction),
5963         (gst_value_subtract_fraction_range_fraction_range),
5964         (gst_value_collect_fraction), (gst_value_fraction_multiply),
5965         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
5966         (gst_value_transform_string_fraction), (_gst_value_initialize):
5967         * gst/gstvalue.h:
5968           Implement fraction ranges and extend GstFraction to support
5969           arithmetic subtraction, as well as deserialization from integer
5970           strings such as "100"
5971           Add a testsuite as for int and double range set operations
5972
5973 2005-11-21  Andy Wingo  <wingo@pobox.com>
5974
5975         * gst/gsttaglist.h: 
5976         * gst/gstcaps.h: 
5977         * gst/gststructure.h: Add glib-compat.h.
5978
5979 2005-11-21  Wim Taymans  <wim@fluendo.com>
5980
5981         * gst/gstbin.c: (gst_bin_change_state_func):
5982         Fix for #321595
5983
5984 2005-11-21  Wim Taymans  <wim@fluendo.com>
5985
5986         * gst/gstsegment.h:
5987         And add a nice define too.
5988
5989 2005-11-21  Wim Taymans  <wim@fluendo.com>
5990
5991         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
5992         (gst_segment_new), (gst_segment_free), (gst_segment_init),
5993         (gst_segment_set_duration), (gst_segment_set_last_stop),
5994         (gst_segment_set_seek), (gst_segment_set_newsegment),
5995         (gst_segment_to_stream_time), (gst_segment_to_running_time),
5996         (gst_segment_clip):
5997         * gst/gstsegment.h:
5998         Make binding friendly.
5999
6000 2005-11-21  Andy Wingo  <wingo@pobox.com>
6001
6002         * gst/gsttagsetter.h: 
6003         * gst/gsttaglist.h: 
6004         * gst/gststructure.h: 
6005         * gst/gstcaps.h: 
6006         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6007         #319940.
6008
6009         * gst/gsterror.c (_gst_core_errors_init):
6010         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6011         category.
6012
6013         * gst/Makefile.am (gst_headers): Add glib-compat.h.
6014         (noinst_HEADERS): noinst the -private.
6015
6016 2005-11-21  Michael Smith <msmith@fluendo.com>
6017
6018         * gst/gstplugin.h:
6019         * gst/gstregistry.h:
6020           Remove unimplemented declarations for which we can see no sensible
6021           use.
6022
6023 2005-11-21  Andy Wingo  <wingo@pobox.com>
6024
6025         * gst/gst.h: Include glib-compat.h.
6026
6027         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6028
6029         * gst/glib-compat.c: Include the public and the private header.
6030
6031         * gst/glib-compat-private.h: Copied here from glib-compat.h.
6032
6033         * gst/gstvalue.c: 
6034         * gst/gstpad.c: 
6035         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6036
6037         * check/gst/gstevent.c (create_custom_events): Check that
6038         FLUSH_STOP is serialized.
6039
6040         * check/elements/identity.c (event_func): 
6041         * check/elements/fakesrc.c (event_func): No stream lock, the core
6042         takes it.
6043
6044         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6045         stream lock taking, yay.
6046
6047         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6048         ensure that core takes the stream lock.
6049
6050         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6051         lock name change.
6052
6053         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6054         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6055         it already. For the flush start we do take it though so we get the
6056         right preroll state change messages.
6057
6058         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6059         the stream lock here, the core does it for us.
6060
6061         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6062         GST_STREAM_GET_LOCK.
6063         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6064         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6065         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6066         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6067         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6068         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6069
6070         * gst/gstpad.c: Update for stream lock name change.
6071
6072         * gst/base/gstbasesink.c: Update for preroll lock name change.
6073
6074 2005-11-21  Wim Taymans  <wim@fluendo.com>
6075
6076         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6077         (gst_clock_get_master):
6078         * gst/gstclock.h:
6079         * gst/gstsystemclock.c: (gst_system_clock_init):
6080         Convert Clock flags to object flags.
6081         Added methods to manage master/slave clocks.
6082
6083 2005-11-21  Wim Taymans  <wim@fluendo.com>
6084
6085         * check/gst/gstsegment.c: (GST_START_TEST):
6086         * docs/design/part-TODO.txt:
6087         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6088         (gst_base_sink_event), (gst_base_sink_do_sync),
6089         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6090         (gst_base_sink_query), (gst_base_sink_change_state):
6091         * gst/base/gstbasesink.h:
6092         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6093         (gst_base_src_default_newsegment),
6094         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6095         (gst_base_src_get_range), (gst_base_src_loop),
6096         (gst_base_src_change_state):
6097         * gst/base/gstbasesrc.h:
6098         * gst/base/gstbasetransform.c:
6099         (gst_base_transform_prepare_output_buf),
6100         (gst_base_transform_event), (gst_base_transform_change_state):
6101         * gst/base/gstbasetransform.h:
6102         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6103         (gst_collect_pads_event):
6104         * gst/base/gstcollectpads.h:
6105         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6106         (gst_fake_src_create):
6107         * gst/elements/gstfakesrc.h:
6108         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6109         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6110         (gst_segment_set_last_stop), (gst_segment_set_seek),
6111         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6112         (gst_segment_to_running_time), (gst_segment_clip):
6113         * gst/gstsegment.h:
6114         More segment updates, replace code in plugins with segment
6115         helper functions.
6116
6117 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6118
6119         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6120         Don't ignore sscanf results
6121
6122 2005-11-21  Andy Wingo  <wingo@pobox.com>
6123
6124         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6125
6126         * *.h:
6127         * *.c: Ran scripts/update-macros. Oh yes.
6128
6129         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6130         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6131         GST_GET_LOCK, etc.
6132
6133         * scripts/update-macros: New script. Run it on your files to
6134         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6135         well.
6136
6137 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6138
6139         * docs/gst/Makefile.am:
6140         * docs/gst/gstreamer-docs.sgml:
6141         * docs/gst/gstreamer-sections.txt:
6142         * docs/gst/gstreamer.types:
6143         * gst/gstinfo.h:
6144           more docs fixes, add new api to the docs
6145
6146 2005-11-21  Andy Wingo  <wingo@pobox.com>
6147
6148         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6149         state_broadcast call.
6150
6151         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6152
6153 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6154
6155         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6156         function calls for arrays.
6157
6158 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6159
6160         * docs/random/ensonic/media-device-daemon.txt:
6161           wild idea, can this be done?
6162         * docs/gst/gstreamer-sections.txt:
6163         * gst/gsterror.h:
6164         * gst/gstfilter.c:
6165         * gst/gstfilter.h:
6166         * gst/gstplugin.h:
6167         * gst/gstpluginfeature.c:
6168         * gst/gsttrace.c:
6169         * gst/gstvalue.c:
6170         * gst/gstvalue.h:
6171           doc fixes and additions
6172
6173 2005-11-21  Andy Wingo  <wingo@pobox.com>
6174
6175         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6176         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6177         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6178         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6179         private to the basesrc implementation.
6180
6181         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6182         behalf of event function if necessary. It should no longer be
6183         necessary to take the stream lock in pad's event functions. Fixes
6184         #320299.
6185
6186 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6187         * docs/gst/gstreamer-sections.txt:
6188         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6189         (gst_structure_fixate_field_nearest_double),
6190         (gst_structure_fixate_field_boolean):
6191         * gst/gststructure.h:
6192         * win32/common/libgstreamer.def:
6193         * win32/gstreamer.def:
6194
6195         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6196         (#322027)
6197
6198 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6199
6200         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6201         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6202         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6203         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6204         (gst_fdsrc_uri_handler_init):
6205         * gst/elements/gstfdsrc.h:
6206           Port fd:// URI handler from 0.8 to fdsrc
6207
6208 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6209
6210         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6211         (gst_value_serialize_fourcc):
6212         * gst/gstvalue.h:
6213           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6214           consistent with our other format defines (#320324).
6215
6216 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6217
6218         * gst/gstvalue.c: (gst_value_is_fixed):
6219           Revert previous commit. Value lists are by definition
6220           not fixed, as they are a list of possible values.
6221
6222 2005-11-21  Andy Wingo  <wingo@pobox.com>
6223
6224         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6225         during the stable series if we need it. Fixes #319178.
6226
6227         * gst/gstevent.c (gst_event_new_filler): Removed.
6228
6229         * check/gst/gstevent.c: Update comment about filler events.
6230
6231 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6232
6233         * gst/gstvalue.c: (gst_value_is_fixed):
6234           Should handle both value arrays and value lists.
6235
6236 2005-11-21  Andy Wingo  <wingo@pobox.com>
6237
6238         patch by: Alessandro Dessina <alessandro nnva org>
6239
6240         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6241         functions to access arrays. Fixes #321962.
6242
6243 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6244
6245         * docs/gst/gstreamer.types:
6246           gst_collectpads_get_type => gst_collect_pads_get_type.
6247           
6248         * gst/base/gstbasetransform.c:
6249           Remove unused SIGNAL_HANDOFF enum.
6250
6251 2005-11-21  Andy Wingo  <wingo@pobox.com>
6252
6253         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6254         the event type (upstream, downstream, serialized). Renamed
6255         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6256         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6257         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6258
6259         * gst/gstevent.c: Update for new CUSTOM event names.
6260
6261         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6262
6263         * gst/gstevent.h:
6264         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6265         bug #319392.
6266
6267 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6268
6269         * docs/gst/gstreamer-sections.txt:
6270         * win32/common/libgstbase.def:
6271         * win32/libgstbase.def:
6272         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6273         (gst_collect_pads_class_init), (gst_collect_pads_init),
6274         (gst_collect_pads_finalize), (gst_collect_pads_new),
6275         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6276         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6277         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6278         (gst_collect_pads_start), (gst_collect_pads_stop),
6279         (gst_collect_pads_peek), (gst_collect_pads_pop),
6280         (gst_collect_pads_available), (gst_collect_pads_read),
6281         (gst_collect_pads_flush), (gst_collect_pads_event),
6282         (gst_collect_pads_chain):
6283         * gst/base/gstcollectpads.h:
6284           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6285           unimplemented functions as unimplemented. Add padding to
6286           GstCollectData. (#320766, #320423)
6287
6288 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6289
6290         * gst/gstmessage.c:
6291           Improve docs for DURATION message (usage of duration parameter)
6292           (#320113)
6293
6294 2005-11-20  Wim Taymans  <wim@fluendo.com>
6295
6296         * check/Makefile.am:
6297         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6298         (main):
6299         * gst/Makefile.am:
6300         * gst/gst.h:
6301         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6302         (gst_segment_set_seek), (gst_segment_set_newsegment),
6303         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6304         (gst_segment_clip):
6305         * gst/gstsegment.h:
6306         Added segment helper structure and methods. Not fully implemented
6307         yet.
6308         Added segment check.
6309
6310 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
6311
6312         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6313           Add a deserialisation test for fractions
6314         * examples/metadata/read-metadata.c: (message_loop),
6315         (make_pipeline), (main):
6316           Fix up metadata reading sample.
6317         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6318           Debug format fix
6319         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6320           Don't try and fixate empty caps
6321         * gst/gst_private.h:
6322           Wrap in G_BEGIN_DECLS/G_END_DECLS
6323         * gst/gstvalue.c: (gst_value_collect_fraction),
6324         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6325         (gst_value_transform_string_fraction),
6326         (gst_value_compare_fraction):
6327           Add some extra guards to ensure that we don't end up 
6328           with an invalid denominator of 0 in a gstfraction and
6329           that fractions always get reduced.
6330
6331 2005-11-20  Wim Taymans  <wim@fluendo.com>
6332
6333         * docs/gst/gstreamer-sections.txt:
6334         * gst/gstbuffer.h:
6335         * gst/gstelement.c:
6336         * gst/gstformat.c:
6337         * gst/gstformat.h:
6338         * gst/gstindex.h:
6339         * gst/gstquery.c:
6340         * gst/gstquery.h:
6341         * gst/gstvalue.c:
6342         Doc fixes.
6343
6344 2005-11-20  Wim Taymans  <wim@fluendo.com>
6345
6346         * docs/design/part-TODO.txt:
6347         * gst/gstcaps.h:
6348         Make a proper enum of the flag.
6349
6350 2005-11-19  Wim Taymans  <wim@fluendo.com>
6351
6352         * docs/design/part-TODO.txt:
6353         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6354         (gst_format_to_quark), (gst_format_register):
6355         * gst/gstformat.h:
6356         * gst/gstquery.c: (_gst_query_initialize),
6357         (gst_query_type_get_name), (gst_query_type_to_quark),
6358         (gst_query_type_register):
6359         * gst/gstquery.h:
6360         Add type to quark and type to string conversions.
6361
6362 2005-11-19  Andy Wingo  <wingo@pobox.com>
6363
6364         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6365         #320097.
6366
6367 2005-11-19  Wim Taymans  <wim@fluendo.com>
6368
6369         * docs/design/part-TODO.txt:
6370         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6371         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6372         (gst_bin_handle_message_func):
6373         * gst/gstbin.h:
6374         Make message handling overridable.
6375
6376 2005-11-19  Andy Wingo  <wingo@pobox.com>
6377
6378         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6379
6380         * gst/gstclock.h:
6381         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6382         be a GstClockTime.
6383         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6384         is a GstClockTime. Fixes #321710.
6385
6386         * gst/gstclock.h (GstClock): Remove offset property. Add
6387         internal_calibration and external_calibration. Fix padding. Pad
6388         also by GstClockTime so we don't run into problems.
6389
6390         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6391         (gst_clock_get_rate_offset): Remove.
6392         (gst_clock_set_time_adjust): Remove. Fixes #321712.
6393
6394         * gst/gstutils.h:
6395         * gst/gstutils.c (g_static_rec_cond_wait)
6396         (g_static_rec_cond_timed_wait): Removed, no longer needed.
6397
6398         * gst/gstbin.c: Remove terrible continue_state prototype.
6399
6400         * gst/gstelement.h (gst_element_continue_state): Make public.
6401
6402         * gst/gstelement.h:
6403         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6404         by continue_state. Fixes #319389.
6405
6406         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6407         Really fixes #168438. However I don't see anywhere where the
6408         filter function is called... stupid GStreamer...
6409         
6410         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6411         don't have a dispose function, so it won't get called when the
6412         object is unreffed, but oh well!
6413
6414         * gst/gstindex.c (gst_index_set_filter_full): New API function,
6415         allows a destroy function to be set so user_data can be freed.
6416         Fixes #168438.
6417         (gst_index_set_filter): Call gst_index_set_filter_full.
6418
6419         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6420
6421         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6422         string should produce an error, given the lack of a way to
6423         represent NULL strings. Fixes #165650.
6424         
6425         * gst/gstvalue.h: 
6426         * gst/gstvalue.c (gst_value_array_append_value) 
6427         (gst_value_array_prepend_value, gst_value_array_get_size) 
6428         (gst_value_array_get_value): New API, copied from
6429         gst_value_list_*, only operates on arrays.
6430         (gst_value_list_append_value, gst_value_list_prepend_value) 
6431         (gst_value_list_concat, gst_value_list_get_size) 
6432         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6433
6434         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6435         init_list, because it works on both.
6436         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6437         (gst_value_copy_list_or_array): Renamed from copy_list.
6438         (gst_value_free_list_or_array): Renamed from free_list.
6439         (gst_value_collect_list_or_array): Renamed from collect_list.
6440         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6441         (gst_value_list_or_array_peek_pointer): Renamed from
6442         list_peek_pointer.
6443         (_gst_value_array_value_table, _gst_value_list_value_table):
6444         Update value table functions.
6445         (gst_value_compare_list_or_array): Renamed from compare_list.
6446
6447         * gsttaglist.h: Whoops, foreach function returns void. Also fix
6448         some constness.
6449
6450         * gst/gsttaglist.c:
6451         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6452         GstTagList*. Fixes #143472.
6453
6454         * gst/gststructure.h: Clarify what the foreach/map functions can
6455         or can't do to their arguments.
6456
6457 2005-11-18  Wim Taymans  <wim@fluendo.com>
6458
6459         * gst/gstclock.c: (gst_clock_set_calibration),
6460         (gst_clock_get_calibration):
6461         Doc and API fixes.
6462         Calibration can be set with internal time equal to current
6463         internal time too.
6464
6465 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6466
6467         * gst/gsterror.c:
6468         * gst/gsterror.h:
6469           document
6470
6471 2005-11-18  Andy Wingo  <wingo@pobox.com>
6472
6473         * configure.ac: 
6474         * pkgconfig/gstreamer-net.pc.in:
6475         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6476         * pkgconfig/Makefile.am: Add net pkgconfig files.
6477
6478 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
6479
6480         * gst/gstcaps.c:
6481         * gst/gstghostpad.c:
6482         * gst/gsttrace.c:
6483         * gst/gstvalue.c:
6484         * gst/gstvalue.h:
6485           docs fixes
6486
6487 2005-11-18  Andy Wingo  <wingo@pobox.com>
6488
6489         * gst/net/gstnetclientclock.c: Turn off debugging.
6490
6491         * check/net/gstnetclientclock.c (test_functioning): Assert that the
6492         times connverge somewhat. Can't make a real test.
6493
6494         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6495         integer arithmetic. Return the minimum of the domain, which can be
6496         set as "internal" for gst_clock_set_calibration.
6497         (gst_net_client_clock_observe_times): Call _set_calibration.
6498         (gst_net_client_clock_new): Call _set_calibration instead of
6499         rate_offset.
6500
6501         * check/net/gstnetclientclock.c (test_functioning): Use the right
6502         adjustment api.
6503
6504         * gst/gstclock.h:
6505         * gst/gstclock.c (gst_clock_get_calibration) 
6506         (gst_clock_set_calibration): New functions, obsolete the ones I
6507         added yesterday. Doh. Precision issues mean we have to extrapolate
6508         from a point in the more recent past than 1970.
6509         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
6510         obsolete.
6511         (gst_clock_adjust_unlocked): Use the right calibration data.
6512
6513 2005-11-18  Edward Hervey  <edward@fluendo.com>
6514
6515         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
6516         Also reset the ->current_* values in READY->PAUSED
6517
6518 2005-11-18  Andy Wingo  <wingo@pobox.com>
6519
6520         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
6521         Whoops, check the right fd. Also add some debugging.
6522         (gst_net_client_clock_observe_times): Adjust for int64 offset.
6523         (do_linear_regression): Add a crapload of debugging. Subtract off
6524         the minimum values from the input series to discard unneeded bits.
6525         Use only int arithmetic. There is still double arithmetic when
6526         calculating the intercept that needs fixing. Return boolean to
6527         indicate success; FALSE would mean the domain or range is too
6528         great. Still needs fixes.
6529
6530 2005-11-18  Wim Taymans  <wim@fluendo.com>
6531
6532         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6533         For the current position in stream time, we need to subtract
6534         accumulated time.
6535         
6536         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6537         Release lock before calling the callback function of async
6538         entries.
6539
6540 2005-11-18  Andy Wingo  <wingo@pobox.com>
6541
6542         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
6543         Port goes all the way to MAXUINT16.
6544
6545         * gst/net/gstnettimeprovider.c: Make the port range the same as
6546         for the kernel: 0 assigns, otherwise ports are less than
6547         MAXUINT16.
6548
6549         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6550         port change.
6551
6552         * check/net/gstnetclientclock.c (test_functioning): Add the start
6553         of another test. 
6554
6555 2005-11-18  Wim Taymans  <wim@fluendo.com>
6556
6557         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6558         (gst_bin_remove_func), (bin_bus_handler):
6559         * gst/gstbin.h:
6560         Removing a clock provider from a bin, triggers a clock lost message
6561         so that a new clock will be selected.
6562         Adding a clock to a bin triggers a clock provider message.
6563         Make sure we reselect a clock when we received a clock lost message.
6564         Keep a reference to the element that provided the clock.
6565
6566 2005-11-18  Andy Wingo  <wingo@pobox.com>
6567
6568         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6569         the clock initially so it produces values around the base time.
6570         (gst_net_client_clock_class_init): Typo fix.
6571         (gst_net_client_clock_thread): Add note on when the socket gets
6572         closed.
6573
6574 2005-11-17  Wim Taymans  <wim@fluendo.com>
6575
6576         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6577         Free remote and local time arrays.
6578
6579 2005-11-17  Wim Taymans  <wim@fluendo.com>
6580
6581         * gst/net/gstnetclientclock.c: (do_linear_regression),
6582         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6583         Fix compilation, uninitialized vars and a forgotten continue.
6584
6585 2005-11-17  Andy Wingo  <wingo@pobox.com>
6586
6587         * check/Makefile.am (check_PROGRAMS): 
6588         * check/net/gstnetclientclock.c: Add a most minimal test for the
6589         net client clock. More to come later.
6590
6591         * gst/net/gstnet.h: 
6592         * gst/net/Makefile.am: Add netclientclock.
6593
6594         * gst/net/gstnetclientclock.h:
6595         * gst/net/gstnetclientclock.c: New files, implement an untested
6596         GstClock that takes its time from a network time provider.
6597         Implements the algorithm in network-clock.scm.
6598
6599         * tests/network-clock.scm (*window-size*): Rename from
6600         *queue-length*.
6601         * tests/network-clock.scm (network-time): 
6602         * tests/network-clock-utils.scm (q-push): Update callers.
6603
6604 2005-11-17  Wim Taymans  <wim@fluendo.com>
6605
6606         * gst/gstbin.c: (gst_bin_provide_clock_func),
6607         (gst_bin_sort_iterator_new):
6608         And unref the child too..
6609
6610 2005-11-17  Wim Taymans  <wim@fluendo.com>
6611
6612         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6613         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6614         Refactor the sort iterator so it can be used while holding the
6615         LOCK too.
6616         Make clock selection select a clock closest to the source.
6617
6618 2005-11-17  Michael Smith <msmith@fluendo.com>
6619
6620         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6621         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6622         * gst/gstclock.h:
6623           Anonymous structs are a gcc (and some other compilers) extension, so
6624           don't use them. Since this is only for ABI-compatibility, and our
6625           API/ABI freeze is over in a few days, this whole thing will only
6626           last a few days, so don't bother trying to think up a meaningful
6627           name for the struct.
6628
6629 2005-11-17  Andy Wingo  <wingo@pobox.com>
6630
6631         * gst/gstclock.h (GstClock): Add rate and offset properties,
6632         preserving ABI stability. Add rate/offset accessors. Will file bug
6633         for the freeze break.
6634
6635         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6636         and offset, trying to keep precision and avoiding
6637         underflow/overflow.
6638         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6639         functions. Make gst_clock_set_time_adjust obsolete.
6640         (gst_clock_set_time_adjust): Note that this function is obsolete.
6641         Will file bug soon.
6642
6643         * gst/base/gstbasetransform.h: Make the ABI-stability hack
6644         greppable by using GST_PADDING-1+1.
6645
6646 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
6647
6648         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6649
6650         * gst/gstmessage.c: (gst_message_parse_clock_lost):
6651           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6652
6653         * gst/gstpadtemplate.h:
6654         * gst/gstpluginfeature.h:
6655           Don't use c++ style comments in headers (#321638).
6656
6657 2005-11-16  Andy Wingo  <wingo@pobox.com>
6658
6659         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6660         buffer.
6661
6662         * check/net/gstnettimeprovider.c: Check to see that the time
6663         provider actually provides times. Works, yo!
6664
6665 2005-11-16  Wim Taymans  <wim@fluendo.com>
6666
6667         * check/Makefile.am:
6668         Enable more tests.
6669
6670         * check/elements/fakesrc.c: (GST_START_TEST):
6671         Set element to NULL before disposing it.
6672
6673 2005-11-16  Andy Wingo  <wingo@pobox.com>
6674
6675         * gst/net/Makefile.am:
6676         * gst/net/gstnet.h:
6677         * gst/net/gstnettimeprovider.c: 
6678         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
6679         provider, include it from gstnet.h, and add it to the build.
6680
6681         * gst/net/gstnettimepacket.h: 
6682         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
6683         sending and receiving.
6684
6685 2005-11-16  Wim Taymans  <wim@fluendo.com>
6686
6687         * check/Makefile.am:
6688         Enable valgrind check.
6689
6690         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
6691         (gst_fake_src_alloc_buffer):
6692         Fix memleak.
6693
6694 2005-11-16  Wim Taymans  <wim@fluendo.com>
6695
6696         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
6697         Call parent finalize too.
6698
6699 2005-11-16  Wim Taymans  <wim@fluendo.com>
6700
6701         * check/Makefile.am:
6702         Enable valgrind check that should work fine now.
6703
6704         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6705         * gst/gstqueue.c: (gst_queue_init):
6706         Fix memleaks in pad allocation.
6707
6708 2005-11-16  Andy Wingo  <wingo@pobox.com>
6709
6710         * gst/net/Makefile.am:
6711         * gst/net/gstnet.h: New part of core to hold network elements and
6712         objects. Put in core because it exposes API that applications want
6713         to use. The library is named libgstnet-tempname right now because
6714         of the existing libgstnet in gst-plugins-base. Solution is
6715         probably to rename the one in plugins-base; will file a bug for
6716         the freeze break.
6717
6718         * gst/net/gstnettimeprovider.c: 
6719         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
6720         get_time call over the network.
6721
6722         * configure.ac: 
6723         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
6724
6725         * check/Makefile.am:
6726         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
6727         get additions shortly.
6728
6729 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6730
6731         * gst/gstpad.c: (gst_pad_new_from_static_template):
6732         * gst/gstpad.h:
6733           add gst_pad_new_from_static_template functions
6734         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
6735         (gst_check_setup_sink_pad):
6736         * gst/elements/gsttee.c: (gst_tee_init):
6737           and use them
6738
6739 2005-11-16  Wim Taymans  <wim@fluendo.com>
6740
6741         * gst/gstpad.c: (gst_pad_pause_task):
6742         Removed warning, it's not really an error either.
6743
6744 2005-11-16  Wim Taymans  <wim@fluendo.com>
6745
6746         * gst/base/gstbasetransform.c:
6747         (gst_base_transform_prepare_output_buf),
6748         (gst_base_transform_event):
6749         Check if the caps are NULL, this can happen if the element
6750         is shutting down and the pad caps are set to NULL.
6751
6752 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6753
6754         * gst/elements/gsttee.c: (gst_tee_init):
6755           fix pad template leak in tee
6756
6757 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6758
6759         * gst/glib-compat.c: (g_value_dup_gst_object):
6760         * gst/glib-compat.h:
6761         * gst/gstpad.c: (gst_pad_set_property):
6762           use gst_object_ref when setting the pad template; this will
6763           trigger the pad template leaks on GLib 2.6 and the slaves
6764
6765 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6766
6767         * gst/glib-compat.c: (gst_flags_get_first_value):
6768         * gst/glib-compat.h:
6769         * gst/gstregistryxml.c:
6770           remove functions copied from GLib 2.6
6771
6772 2005-11-16  Michael Smith <msmith@fluendo.com>
6773
6774         * gst/Makefile.am:
6775           Don't link against VALGRIND_LIBS. That was always the wrong thing to
6776           do, but only breaks with newer valgrind versions. We're not a
6777           valgrind tool, we have no link-time dependencies on libcoregrind.
6778
6779 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6780
6781         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6782           some debug changes
6783         * gst/gstmessage.h:
6784           typo fixes
6785
6786 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6787
6788         * gst/base/gstbasesrc.c: (gst_base_src_init):
6789         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6790         * gst/gstqueue.c: (gst_queue_init):
6791         * gst/gstregistryxml.c: (load_feature):
6792           Revert all these unrefs, they don't even pass make check !
6793
6794 2005-11-15  Johan Dahlin  <johan@gnome.org>
6795
6796         * gst/base/gstbasesrc.c: (gst_base_src_init):
6797         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6798         * gst/gstqueue.c: (gst_queue_init): 
6799         Free pad templates, fixes a couple of leaks.
6800
6801 2005-11-15  Daniel Fischer  <dan at f3c dot com>
6802
6803         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6804
6805         * gst/gstpad.c: (gst_pad_get_property):
6806           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
6807           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
6808           (#321452)
6809
6810 2005-11-15  Wim Taymans  <wim@fluendo.com>
6811
6812         * gst/gstevent.c:
6813         Small doc update.
6814
6815 2005-11-15  Andy Wingo  <wingo@pobox.com>
6816
6817         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
6818
6819         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
6820         using GST_CLOCK_TIME_NONE to disable base time management.
6821         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
6822         time if it was NONE before.
6823         (gst_pipeline_change_state): Only munge the base time if
6824         stream_time != GST_CLOCK_TIME_NONE.
6825
6826         * check/gst/gstpipeline.c (test_base_time): Punt around the
6827         problem of the probe not being called, because that's not the
6828         issue I'm looking at. Add a check that setting stream_time to NONE
6829         disables base time management.
6830         
6831 2005-11-15  Wim Taymans  <wim@fluendo.com>
6832
6833         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6834         segment_stop == -1 at startup.
6835
6836         * gst/base/gstbasetransform.c: (gst_base_transform_event),
6837         (gst_base_transform_change_state):
6838         Init segment values at start.
6839
6840 2005-11-15  Wim Taymans  <wim@fluendo.com>
6841
6842         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6843         0 segment values are 0 in any format.
6844
6845         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6846         * gst/base/gstbasetransform.h:
6847         Parse newsegment correctly in basetransform
6848
6849         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6850         Sync to clock using updated segment values.
6851
6852 2005-11-15  Andy Wingo  <wingo@pobox.com>
6853
6854         * check/gst/gstpipeline.c (test_base_time): Add check that the
6855         base time and stream time are reset correctly.
6856
6857 2005-11-15  Wim Taymans  <wim@fluendo.com>
6858
6859         * docs/design/part-TODO.txt:
6860         Some more TODO items.
6861
6862 2005-11-15  Andy Wingo  <wingo@pobox.com>
6863
6864         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
6865         error if the user selected "no clock" as the clocking method.
6866
6867         * check/gst/gstpipeline.c (test_base_time): New test for buffer
6868         timestamps with live capture.
6869
6870         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
6871         is 0 but we are a live source, timestamp the buffers using the
6872         element's clock.
6873
6874 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
6875
6876         * docs/gst/gstreamer-sections.txt:
6877         * gst/gsterror.c:
6878         * gst/gstghostpad.c:
6879         * gst/gstobject.h:
6880         * gst/gstxml.c:
6881           more section docs
6882
6883 2005-11-14  Wim Taymans  <wim@fluendo.com>
6884
6885         * common/gst.supp:
6886           add suppressions from Wim's Debian machine
6887
6888 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6889
6890         * common/gst.supp:
6891           add suppressions from Andy's AMD64 Ubuntu machine
6892
6893 2005-11-14  Andy Wingo  <wingo@pobox.com>
6894
6895         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
6896         STATE_LOCK not necessary. Fixes #311489.
6897
6898         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
6899         #305291.
6900
6901         * gst/gstindex.c (gst_index_add_object): Note in the docs that
6902         this function is not implemented.
6903
6904 2005-11-14  Julien MOUTTE  <julien@moutte.net>
6905
6906         * gst/base/gstbasetransform.c:
6907         (gst_base_transform_prepare_output_buf):
6908         Ref the source pad caps while we need them.
6909         Fixes (#321386)
6910
6911 2005-11-11  Wim Taymans  <wim@fluendo.com>
6912
6913         * docs/gst/gstreamer-sections.txt:
6914         Added some docs for GstCollectData.
6915
6916         * gst/base/gstadapter.c:
6917         Some small code example fix.
6918
6919         * gst/base/gstcollectpads.c:
6920         * gst/base/gstcollectpads.h:
6921         Document some more.
6922
6923 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
6924
6925         * configure.ac: back to HEAD
6926
6927 === release 0.9.5 ===
6928
6929 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
6930
6931         * configure.ac:
6932           releasing 0.9.5, "Bike Lunch Day"
6933
6934 2005-11-11  Wim Taymans  <wim@fluendo.com>
6935
6936         * gst/gstbuffer.c: (_gst_buffer_copy):
6937         Copy more flags.
6938
6939         * gst/gstcaps.c: (gst_caps_is_equal):
6940         Fix some docs.
6941         Make _is_equal fast in the trivial cases.
6942
6943         * gst/gstminiobject.c:
6944         * gst/gstminiobject.h:
6945         More docs. Spifify .h file.
6946
6947         * gst/gstutils.c:
6948         Small doc update.
6949
6950 2005-11-11  Wim Taymans  <wim@fluendo.com>
6951
6952         * gst/base/gstbasetransform.c:
6953         (gst_base_transform_prepare_output_buf),
6954         (gst_base_transform_handle_buffer):
6955         Small cleanups.
6956         If we're processing a buffer and need to allocate an output
6957         buffer, we cannot accept a format change. If we did get a 
6958         format change, we have to alloc a buffer ourselves of the 
6959         right size.
6960
6961 2005-11-11  Wim Taymans  <wim@fluendo.com>
6962
6963         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
6964         While checking the flag for reentrancy in the gstcaps function
6965         is nice to detect recursive invocations, it also makes it 
6966         impossible to call getcaps from multiple threads, which must be
6967         possible. So, checking for recursive calls has to go.
6968
6969 2005-11-11  Michael Smith <msmith@fluendo.com>
6970
6971         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6972           Don't sync on buffers that fall partially outside our current
6973           segment. Prevents an assertion failure/abort playing some files.
6974
6975 2005-11-10  Andy Wingo  <wingo@pobox.com>
6976
6977         * check/gst/gstbin.c (test_message_state_changed_children): Style
6978         fix..
6979
6980         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
6981         gst_bus_poll with the signal watch. Ensures that poll and a signal
6982         watch see the same messages.
6983
6984         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
6985         a poll and a watch at the same time get the same messages.
6986
6987 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6988
6989         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
6990         * gst/gstcaps.c: (gst_caps_intersect):
6991           Don't call gst_caps_do_simplify - it doesn't respect order of caps
6992           and it's not needed.
6993
6994 2005-11-10  Wim Taymans  <wim@fluendo.com>
6995
6996         * docs/design/part-TODO.txt:
6997         Updated todo.
6998
6999 2005-11-10  Wim Taymans  <wim@fluendo.com>
7000
7001         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7002         * gst/base/gstbasesrc.c: (gst_base_src_wait),
7003         (gst_base_src_do_sync), (gst_base_src_get_range):
7004         Implement clock sync in base class.
7005
7006 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7007
7008         patch by: Tim-Philipp Müller <tim at centricular dot net>
7009
7010         * gst/gststructure.c: (gst_structure_parse_field),
7011         (gst_structure_from_string):
7012           Forward-port a 0.8 patch to handle escaped spaces in structure string,
7013           so that gst_parse_launch() can deal with spaces in filtered link
7014           caps (fixes #164479)
7015         * check/gst/capslist.h:
7016         * check/gst/gststructure.c: (GST_START_TEST):
7017           add unit tests for this change
7018
7019 2005-11-10  Wim Taymans  <wim@fluendo.com>
7020
7021         * docs/gst/gstreamer-sections.txt:
7022         * gst/gstelement.c:
7023         * gst/gstelement.h:
7024         Fix docs, move some STATE macros to private.
7025
7026 2005-11-10  Wim Taymans  <wim@fluendo.com>
7027
7028         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7029         Added check for bug #317341
7030
7031         * gst/gstbuffer.c:
7032         * gst/gstbuffer.h:
7033         Some more spiffifying.
7034
7035         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7036         Call peer linkfunction if we are a source pad. Totally fixes
7037         #317341
7038
7039         * gst/gstpad.c:
7040         Update docs, source pads should call the peer linkfunction
7041         so they can atomically perform the pad link.
7042
7043 2005-11-09  Wim Taymans  <wim@fluendo.com>
7044
7045         * gst/gstbuffer.c:
7046         * gst/gstbuffer.h:
7047         Uber-spiffy-spiffify some more.
7048
7049 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
7050
7051         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7052         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7053         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7054         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7055         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7056         * gst/gstpad.c: (gst_pad_init):
7057           Use GST_DEBUG_FUNCPTR() more extensively.
7058
7059 2005-11-09  Wim Taymans  <wim@fluendo.com>
7060
7061         * gst/gstobject.c: (gst_object_class_init):
7062         * gst/gstobject.h:
7063         Documentation fixes.
7064
7065 2005-11-09  Edward Hervey  <edward@fluendo.com>
7066
7067         * gst/gsttypefindfactory.c:
7068         Fix docs.
7069         
7070 2005-11-09  Edward Hervey  <edward@fluendo.com>
7071
7072         * gst/base/gsttypefindhelper.c:
7073         * gst/gsttypefind.c:
7074         * gst/gsttypefind.h:
7075         Fix docs.
7076
7077 2005-11-09  Wim Taymans  <wim@fluendo.com>
7078
7079         * gst/gstiterator.c:
7080         Fix revision data.
7081
7082         * gst/gsttask.c:
7083         * gst/gsttask.h:
7084         Fix docs.
7085
7086 2005-11-09  Wim Taymans  <wim@fluendo.com>
7087
7088         * gst/gstevent.h:
7089         * gst/gsturi.h:
7090         Fix docs.
7091
7092 2005-11-09  Wim Taymans  <wim@fluendo.com>
7093
7094         * docs/gst/gstreamer-sections.txt:
7095         Moved the message async delivery private lock and cond
7096         to the private section.
7097
7098         * gst/gstmessage.c:
7099         * gst/gstmessage.h:
7100         Fixed docs.
7101
7102 2005-11-09  Edward Hervey  <edward@fluendo.com>
7103
7104         * docs/gst/gstreamer-sections.txt:
7105         * gst/gsturi.c:
7106         * gst/gsturi.h:
7107         Document GstURIHandler
7108
7109 2005-11-09  Wim Taymans  <wim@fluendo.com>
7110
7111         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7112         (gst_iterator_find_custom):
7113         * gst/gstiterator.h:
7114         Fix iterator docs.
7115
7116 2005-11-09  Wim Taymans  <wim@fluendo.com>
7117
7118         * gst/gstbin.h:
7119         Document another field.
7120
7121         * gst/gststructure.c:
7122         * gst/gststructure.h:
7123         Document.
7124
7125 2005-11-09  Wim Taymans  <wim@fluendo.com>
7126
7127         * gst/gstbin.h:
7128         Documented structs.
7129
7130 2005-11-09  Wim Taymans  <wim@fluendo.com>
7131
7132         * docs/gst/gstreamer-sections.txt:
7133         Added some new macros.
7134
7135         * gst/gstclock.c:
7136         * gst/gstclock.h:
7137         * gst/gstobject.h:
7138         Docs updates.
7139
7140 2005-11-09  Wim Taymans  <wim@fluendo.com>
7141
7142         * docs/design/part-TODO.txt:
7143         Some more items for the TODO
7144
7145         * gst/gstcaps.c:
7146         * gst/gstcaps.h:
7147         Document GstCaps.
7148
7149 2005-11-09  Andy Wingo  <wingo@pobox.com>
7150
7151         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7152         to work on something else now tho...
7153
7154         * gst/base/gstadapter.c: More adapter docs.
7155
7156         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7157         (gst_file_sink_stop): New functions, replace the state change
7158         handler.
7159         (gst_file_sink_class_init): Hook up the start and stop functions.
7160         (gst_file_sink_base_init): Don't set the state change handler any
7161         more. It was a bit ugly too, being set from here...
7162         (gst_file_sink_get_property, gst_file_sink_set_property):
7163         Cleanups...
7164         (gst_file_sink_set_location): More robust check that doesn't call
7165         GST_STATE. Ugggggg.
7166
7167 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7168
7169         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7170           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7171
7172 2005-11-08  Wim Taymans  <wim@fluendo.com>
7173
7174         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7175         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7176         (gst_base_sink_chain), (gst_base_sink_change_state):
7177         * gst/base/gstbasesink.h:
7178         * gst/base/gstbasesrc.h:
7179         * gst/gstelement.h:
7180         * gst/gstevent.h:
7181         Avoid excessive typechecking in macros.
7182
7183         * gst/gstminiobject.c: (gst_mini_object_get_type),
7184         (gst_mini_object_init), (gst_mini_object_new),
7185         (gst_mini_object_free):
7186         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7187         (gst_object_finalize):
7188         Remove cruft code, optimize alloc_trace.
7189
7190 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7191
7192         * docs/faq/gst-uninstalled:
7193           fix up PS1 for systems that try to reset it
7194
7195 2005-11-07  Wim Taymans  <wim@fluendo.com>
7196
7197         * gst/base/gstbasesrc.c: (gst_base_src_init),
7198         (gst_base_src_get_range):
7199         Set the segment_end to -1 initially. Fixed typefind.
7200
7201 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7202
7203         * gst/base/gstadapter.c:
7204           Debug category should be 'adapter', not 'GstAdapter'.
7205           
7206         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7207         (gst_collectpads_class_init), (gst_collectpads_init),
7208         (gst_collectpads_peek), (gst_collectpads_pop),
7209         (gst_collectpads_event), (gst_collectpads_chain):
7210           Add debug category and some debugging output. Use boilerplate
7211           macros. Remove some extraneous words from docs.
7212
7213 2005-11-05  Andy Wingo  <wingo@pobox.com>
7214
7215         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7216         macro.
7217
7218 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7219
7220         * docs/gst/gstreamer-sections.txt:
7221         * gst/gstcaps.h:
7222         * gst/gstinfo.c:
7223         * gst/gstminiobject.h:
7224         * gst/gstobject.h:
7225         * gst/gstutils.h:
7226           more docs added
7227
7228 2005-11-04  Wim Taymans  <wim@fluendo.com>
7229
7230         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7231         Small update to stop at the configured segment_end
7232         position.
7233
7234 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7235
7236         * gst/gstregistry.c:
7237         * gst/gstregistry.h:
7238           added missing docs
7239
7240 2005-11-04  Edward Hervey  <edward@fluendo.com>
7241
7242         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7243         Check if we are doing a segment seek and have arrived at the
7244         end of that segment.
7245
7246 2005-11-04  Wim Taymans  <wim@fluendo.com>
7247
7248         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7249         Don't leak a mutex unlock in case of an error.
7250
7251         * gst/gstbus.h:
7252         Doc fixes.
7253
7254 2005-11-04  Wim Taymans  <wim@fluendo.com>
7255
7256         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7257         (gst_bus_post):
7258         Get the context to wake up only once.
7259
7260 2005-11-03  Wim Taymans  <wim@fluendo.com>
7261
7262         * check/states/sinks.c: (GST_START_TEST):
7263         Uncomment fixed check.
7264
7265         * docs/design/part-TODO.txt:
7266         Updated TODO.
7267
7268         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7269         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7270         (gst_base_sink_get_position):
7271         If we are going to PLAYING, post the right pending state
7272         when we post the intermediate paused message.
7273
7274         * gst/gstelement.c: (gst_element_continue_state),
7275         (gst_element_set_state_func), (gst_element_change_state):
7276         Don't post state changes that were between the same state
7277         and were not ASYNC.
7278
7279 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7280
7281         * docs/gst/gstreamer-sections.txt:
7282         * gst/gstcaps.h:
7283         * gst/gstinfo.c:
7284         * gst/gstminiobject.h:
7285         * gst/gstobject.h:
7286         * gst/gstutils.h:
7287           more docs and doc style fixes
7288
7289 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7290
7291         * docs/gst/gstreamer-sections.txt:
7292         * gst/gstelement.c:
7293         * gst/gstminiobject.c:
7294         doc fixes
7295
7296 2005-11-03  Andy Wingo  <wingo@pobox.com>
7297
7298         * check/states/sinks.c (test_livesrc_sink): Add checks that the
7299         state-changed messages actually have the right order and the right
7300         values.
7301
7302 2005-11-03  Wim Taymans  <wim@fluendo.com>
7303
7304         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7305         Added some more checks. Specifically the case where NO_PREROLL
7306         elements are in the pipeline.
7307
7308         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7309         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7310         (gst_base_sink_get_position):
7311         Post READY->PAUSED state change messages too.
7312         Fix bug where VOID was posted as pending state...
7313
7314         * gst/gstbin.c: (gst_bin_recalc_state):
7315         use _element_continue_state() to continue the state change.
7316
7317         * gst/gstelement.c: (gst_element_continue_state),
7318         (gst_element_commit_state), (gst_element_set_state_func),
7319         (gst_element_change_state), (gst_element_change_state_func):
7320         Lots of state change cleanups, assign the STATE_RETURN in
7321         a new continue_state() function that also propagates the
7322         last return value from a state change to the app.
7323         Update some debug statements with proper category.
7324
7325 2005-11-03  Wim Taymans  <wim@fluendo.com>
7326
7327         * docs/design/part-events.txt:
7328         * docs/design/part-gstpipeline.txt:
7329         * docs/design/part-messages.txt:
7330         * docs/design/part-overview.txt:
7331         * docs/design/part-seeking.txt:
7332         * docs/design/part-states.txt:
7333         * docs/design/part-trickmodes.txt:
7334         * docs/manual/advanced-position.xml:
7335         Small docs updates.
7336
7337         * gst/gstobject.h:
7338         People think !! is ugly, this looks better.
7339
7340         * gst/gstpad.c: (gst_pad_set_blocked_async):
7341         Remove !! since it's fixed elsewhere now.
7342
7343 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7344
7345         * gst/gstminiobject.h:
7346         * gst/gstobject.h:
7347           Add !! to _FLAG_IS_SET macros to make the result boolean.
7348
7349 2005-11-03  Edward Hervey  <edward@fluendo.com>
7350
7351         * gst/gstpad.c: (gst_pad_set_blocked_async):
7352         comparing a flag and a gboolean rarely returns coherent results...
7353         Added two characters (!!) to make that work correctly.
7354         
7355 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7356
7357         * gst/gstbus.c: (gst_bus_class_init):
7358           Fix some typos.
7359           
7360         * gst/gstqueue.c: (gst_queue_loop):
7361           Don't assume a miniobject that isn't a buffer is an
7362           event (it could be that there is a refcounting
7363           problem somewhere and the pointer is stale and
7364           refers to an already destroyed miniobject).
7365
7366 2005-11-03  Julien MOUTTE  <julien@moutte.net>
7367
7368         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7369
7370 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7371
7372         * docs/manual/advanced-position.xml:
7373           Update seek example and explanations to current 0.9 API.
7374
7375         * gst/elements/gsttypefindelement.c:
7376         (gst_type_find_element_activate):
7377           Remove FIXME comment now that the found caps
7378           are unreffed.
7379
7380 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7381
7382         * gst/gstregistryxml.c: (load_feature):
7383           Add another GST_STR_NULL instance
7384
7385 2005-11-02  Edward Hervey  <edward@fluendo.com>
7386
7387         * gst/gstpad.c: (handle_pad_block):
7388         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7389         
7390 2005-11-02  Wim Taymans  <wim@fluendo.com>
7391
7392         * gst/gstbin.c:
7393         Fix typo in docs.
7394
7395         * gst/gstelement.c: (gst_element_commit_state):
7396         Remove unused value.
7397
7398         * gst/gstiterator.c:
7399         Mention that the returned element is reffed in the docs.
7400
7401 2005-11-02  Wim Taymans  <wim@fluendo.com>
7402
7403         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7404         (gst_pad_push), (gst_pad_push_event):
7405         Unlock blocked pads when they are flushed.
7406
7407 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7408
7409         * docs/README:
7410         * docs/gst/gstreamer-sections.txt:
7411         * gst/gstbin.c:
7412           doc updates
7413         * gst/gstregistry.c: (gst_registry_scan_path_level):
7414           fix for a nasty little missed situation where an installed plug-in
7415           which was in the cache did not get overridden by an uninstalled one
7416           which was earlier in the plugin path because the newly created plugin
7417           for the uninstalled one (not in the registry) didn't get its
7418           ->registered set to TRUE
7419
7420 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7421
7422         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7423         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7424         (gst_collectpads_is_active), (gst_collectpads_collect),
7425         (gst_collectpads_collect_range), (gst_collectpads_start),
7426         (gst_collectpads_stop), (gst_collectpads_peek),
7427         (gst_collectpads_pop), (gst_collectpads_available),
7428         (gst_collectpads_read), (gst_collectpads_flush):
7429           Guard public API with assertions.
7430         
7431         * gst/gstpad.c:
7432           Fix docs for gst_pad_set_link_function().
7433
7434 2005-11-02  Johan Dahlin  <johan@gnome.org>
7435
7436         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
7437         Unref found_caps after we used it.
7438
7439 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7440
7441         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7442           Don't try to ref NULL.
7443
7444 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7445
7446         * win32/common/config.h.in:
7447           provide a GST_FUNCTION that just gives a string for now
7448
7449 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7450
7451         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7452         (gst_object_flags_get_type), (register_gst_bin_flags),
7453         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7454         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7455         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7456         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7457         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7458         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7459         (gst_clock_flags_get_type), (register_gst_state),
7460         (gst_state_get_type), (register_gst_state_change_return),
7461         (gst_state_change_return_get_type), (register_gst_state_change),
7462         (gst_state_change_get_type), (register_gst_element_flags),
7463         (gst_element_flags_get_type), (register_gst_core_error),
7464         (gst_core_error_get_type), (register_gst_library_error),
7465         (gst_library_error_get_type), (register_gst_resource_error),
7466         (gst_resource_error_get_type), (register_gst_stream_error),
7467         (gst_stream_error_get_type), (register_gst_event_type),
7468         (gst_event_type_get_type), (register_gst_seek_type),
7469         (gst_seek_type_get_type), (register_gst_seek_flags),
7470         (gst_seek_flags_get_type), (register_gst_format),
7471         (gst_format_get_type), (register_gst_index_certainty),
7472         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7473         (gst_index_entry_type_get_type),
7474         (register_gst_index_lookup_method),
7475         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7476         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7477         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7478         (gst_index_flags_get_type), (register_gst_debug_level),
7479         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7480         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7481         (gst_iterator_result_get_type), (register_gst_iterator_item),
7482         (gst_iterator_item_get_type), (register_gst_message_type),
7483         (gst_message_type_get_type), (register_gst_mini_object_flags),
7484         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7485         (gst_pad_link_return_get_type), (register_gst_flow_return),
7486         (gst_flow_return_get_type), (register_gst_activate_mode),
7487         (gst_activate_mode_get_type), (register_gst_pad_direction),
7488         (gst_pad_direction_get_type), (register_gst_pad_flags),
7489         (gst_pad_flags_get_type), (register_gst_pad_presence),
7490         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7491         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7492         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7493         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7494         (gst_plugin_flags_get_type), (register_gst_rank),
7495         (gst_rank_get_type), (register_gst_query_type),
7496         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7497         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7498         (gst_tag_flag_get_type), (register_gst_task_state),
7499         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7500         (gst_alloc_trace_flags_get_type),
7501         (register_gst_type_find_probability),
7502         (gst_type_find_probability_get_type), (register_gst_uri_type),
7503         (gst_uri_type_get_type), (register_gst_parse_error),
7504         (gst_parse_error_get_type):
7505         * win32/common/gstversion.h:
7506           update win32 copies
7507
7508 2005-11-01  Luca Ognibene  <luogni@tin.it>
7509
7510         * gst/gst.c:
7511           fix docs. popt is dead, long live GOption.
7512
7513 2005-10-31  Wim Taymans  <wim@fluendo.com>
7514
7515         * gst/gstbuffer.h:
7516         Small doc fix.
7517
7518 2005-10-31  Andy Wingo  <wingo@pobox.com>
7519
7520         * Boo!
7521
7522         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7523
7524         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
7525         need to serialize property notifications on GLib 2.8. GLib 2.6 has
7526         the possibility of deadlocks here if code calling notify() or
7527         set() has a lock that can be taken in another notify handler (ABBA
7528         with class lock and e.g. python GIL state lock).
7529
7530 2005-10-28  Julien MOUTTE  <julien@moutte.net>
7531
7532         * gst/gstbus.c: Doc updates.
7533
7534 2005-10-28  Wim Taymans  <wim@fluendo.com>
7535
7536         * docs/design/part-TODO.txt:
7537         * gst/gstiterator.c:
7538         * gst/gstsystemclock.c:
7539         * gst/gstsystemclock.h:
7540         Doc updates.
7541
7542 2005-10-28  Edward Hervey  <edward@fluendo.com>
7543
7544         * docs/gst/gstreamer-docs.sgml:
7545         * docs/gst/gstreamer-sections.txt:
7546         the GstURIType documentation page is private, it only defines GstURIType
7547         which should be defined in the GstURIHandler page
7548         
7549 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7550
7551         * gst/gstbin.c: (gst_bin_class_init):
7552         * gst/gstbin.h:
7553         * gst/gstutils.c:
7554         Documentation updates.
7555
7556 2005-10-28  Wim Taymans  <wim@fluendo.com>
7557
7558         * docs/gst/gstreamer-sections.txt:
7559         * gst/gstclock.c:
7560         * gst/gstclock.h:
7561         Documented the clocks.
7562
7563 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
7564
7565         * docs/gst/gstreamer-sections.txt:
7566           move some macros to private sections
7567         * gst/gstminiobject.c:
7568         * gst/gstminiobject.h:
7569           add descriptions provided by ds and some more
7570         * gst/gstpad.h:
7571           mark macro as to be removed
7572
7573 2005-10-28  Wim Taymans  <wim@fluendo.com>
7574
7575         * docs/design/part-TODO.txt:
7576         Add an item to TODO.
7577
7578         * gst/gstiterator.c: (gst_iterator_fold),
7579         (gst_iterator_find_custom):
7580         * gst/gstiterator.h:
7581         Add iterator docs.
7582
7583 2005-10-28  Wim Taymans  <wim@fluendo.com>
7584
7585         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7586         (gst_base_transform_init):
7587         Don't leak class.
7588
7589         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7590         An EOS event marks the queue as completely filled.
7591
7592 2005-10-27  Wim Taymans  <wim@fluendo.com>
7593
7594         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7595         (gst_base_sink_do_sync), (gst_base_sink_get_position):
7596         Some more debugging.
7597
7598         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7599         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7600         (gst_base_transform_event), (gst_base_transform_getrange),
7601         (gst_base_transform_chain):
7602         * gst/base/gstbasetransform.h:
7603         Fix debugging,
7604         Protect transform and concurrent buffer alloc with a new lock.
7605         Try not to break ABI/API.
7606
7607 2005-10-27  Wim Taymans  <wim@fluendo.com>
7608
7609         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7610         (gst_base_src_init), (gst_base_src_query),
7611         (gst_base_src_default_newsegment),
7612         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7613         (gst_base_src_send_event), (gst_base_src_event_handler),
7614         (gst_base_src_pad_get_range), (gst_base_src_loop),
7615         (gst_base_src_unlock), (gst_base_src_default_negotiate),
7616         (gst_base_src_start), (gst_base_src_deactivate),
7617         (gst_base_src_activate_push), (gst_base_src_change_state):
7618         Move some stuff around and cleanup things.
7619
7620 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
7621
7622         * gst/base/gstbasesrc.c: (gst_base_src_query):
7623           Add missing break statements.
7624
7625 2005-10-27  Wim Taymans  <wim@fluendo.com>
7626
7627         * check/gst/gstbin.c: (GST_START_TEST):
7628         An extra refcount is taken in basesrc.
7629
7630         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7631         (gst_base_src_get_range), (gst_base_src_pad_get_range),
7632         (gst_base_src_loop):
7633         Small cleanups, check for flushing after being unlocked from the 
7634         LIVE_LOCK. take refcounts correctly (not yet everywhere).
7635         Don't send out EOS when going to READY.
7636
7637 2005-10-27  Wim Taymans  <wim@fluendo.com>
7638
7639         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7640         (gst_base_sink_get_position):
7641         Some more debug.
7642
7643         * gst/gstbin.c: (message_check), (bin_replace_message),
7644         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7645         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7646         (bin_query_duration_init), (bin_query_duration_fold),
7647         (bin_query_duration_done), (bin_query_generic_fold),
7648         (gst_bin_query):
7649         * tools/gst-launch.c: (main):
7650         Remove old option.
7651
7652 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
7653
7654         * examples/controller/audio-example.c: (main):
7655         * examples/queue/queue.c: (event_loop):
7656         * gst/base/gstbasetransform.h:
7657         * gst/gstelement.c: (gst_element_send_event):
7658         * gst/gstevent.h:
7659         * gst/gstpad.c: (gst_pad_send_event):
7660           fixing examples
7661           fixing docs typos
7662           changing log priority in error situations
7663
7664 2005-10-25  Wim Taymans  <wim@fluendo.com>
7665
7666         * gst/gstbin.c: (message_check), (bin_replace_message),
7667         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7668         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7669         (bin_query_duration_init), (bin_query_duration_fold),
7670         (bin_query_duration_done), (bin_query_generic_fold),
7671         (gst_bin_query):
7672         Some doc and debug updates.
7673         Cache previously requested query DURATION for speed. invalidate
7674         cached duration if element posts a DURATION message.
7675
7676 2005-10-25  Wim Taymans  <wim@fluendo.com>
7677
7678         * docs/design/part-TODO.txt:
7679         Update TODO.
7680
7681         * gst/gstbin.c: (message_check), (bin_replace_message),
7682         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7683         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7684         (bin_query_duration_init), (bin_query_duration_fold),
7685         (bin_query_duration_done), (bin_query_generic_fold),
7686         (gst_bin_query):
7687         Handle SEGMENT_START/DONE messages correctly.
7688         More evolved query algorithm that handles duration queries
7689         correctly.
7690
7691         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
7692         (gst_element_get_state_func), (gst_element_abort_state),
7693         (gst_element_commit_state), (gst_element_lost_state):
7694         Some more debugging.
7695
7696         * gst/gstmessage.h:
7697         Added doc.
7698
7699 2005-10-25  Wim Taymans  <wim@fluendo.com>
7700
7701         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7702         Don't use invalid stream_time.
7703
7704         * gst/gstevent.c: (gst_event_new_newsegment):
7705         stream_time in newsegment cannot be undefined.
7706
7707 2005-10-24  Wim Taymans  <wim@fluendo.com>
7708
7709         * gst/gstbus.c:
7710         Doc fix.
7711
7712         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7713         (gst_queue_loop):
7714         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
7715
7716 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
7717
7718         * docs/libs/tmpl/gstdparam.sgml:
7719         * docs/libs/tmpl/gstdplinint.sgml:
7720         * docs/libs/tmpl/gstdpman.sgml:
7721         * docs/libs/tmpl/gstdpsmooth.sgml:
7722         * docs/libs/tmpl/gstunitconvert.sgml:
7723           these are obsolete
7724
7725 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7726
7727         * configure.ac:
7728           back to HEAD
7729
7730 === release 0.9.4 ===
7731
7732 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7733
7734         * configure.ac:
7735           releasing 0.9.4, "Tyrannosaurus Rex"
7736
7737 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
7738
7739         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7740         (gst_file_sink_get_current_offset):
7741           Use fseeko() and ftello() if available. When falling back on
7742           lseek() to get the current offset, fflush() first to make sure
7743           everything is up-to-date and we get the right offset.
7744
7745 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7746
7747         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7748         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7749         * gst/gsterror.c: (_gst_stream_errors_init):
7750         * gst/gsterror.h:
7751         * gst/gstqueue.c: (gst_queue_loop):
7752         * po/POTFILES.in:
7753           remove prematurely added error category and clean up the instances
7754
7755 2005-10-21  Wim Taymans  <wim@fluendo.com>
7756
7757         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7758         (gst_base_sink_get_position), (gst_base_sink_query),
7759         (gst_base_sink_change_state):
7760         Simply set the right flag when going to playing, that's all
7761         we need to do instead of calling a function inside the object
7762         lock (that could take the lock as well and deadlock)
7763
7764 2005-10-21  Wim Taymans  <wim@fluendo.com>
7765
7766         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
7767         (gst_base_src_loop):
7768         Don't warn, the peer element knows what to do best when
7769         the seek failed, it might try something else.
7770
7771 2005-10-21  Wim Taymans  <wim@fluendo.com>
7772
7773         * gst/base/gstbasesrc.c: (gst_base_src_init),
7774         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7775         Fix seeking.
7776
7777 2005-10-21  Wim Taymans  <wim@fluendo.com>
7778
7779         * docs/design/part-segments.txt:
7780         More docs.
7781
7782         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7783         Correctly set caps, even on the subbufer.
7784
7785 2005-10-21  Wim Taymans  <wim@fluendo.com>
7786
7787         * docs/gst/gstreamer-docs.sgml:
7788         * docs/gst/gstreamer-sections.txt:
7789         * gst/gstelement.h:
7790         * gst/gstevent.c:
7791         * gst/gstevent.h:
7792         * gst/gstmessage.h:
7793         * gst/gstpad.h:
7794         * gst/gstparse.h:
7795         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
7796         * gst/gsttask.h:
7797         * gst/gstutils.c:
7798         * gst/gstutils.h:
7799         And 2% more doc coverage.
7800
7801 2005-10-21  Andy Wingo  <wingo@pobox.com>
7802
7803         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
7804         position reporting.
7805
7806 2005-10-20  Wim Taymans  <wim@fluendo.com>
7807
7808         * gst/gsterror.c: (gst_error_get_message):
7809         * gst/gstparse.h:
7810         * gst/gstquery.h:
7811         * gst/gststructure.c:
7812         * gst/gsttrace.c:
7813         * gst/gstutils.c:
7814         More docs.
7815
7816 2005-10-20  Wim Taymans  <wim@fluendo.com>
7817
7818         * gst/gstbuffer.h:
7819         * gst/gstpad.c:
7820         * gst/gstparse.c:
7821         Another 1% more coverage.
7822
7823 2005-10-20  Wim Taymans  <wim@fluendo.com>
7824
7825         * docs/gst/gstreamer-sections.txt:
7826         * gst/gstelement.c: (gst_element_get_state_func),
7827         (gst_element_abort_state), (gst_element_commit_state),
7828         (gst_element_lost_state):
7829         * gst/gstevent.h:
7830         * gst/gstquery.c: (gst_query_set_position),
7831         (gst_query_parse_position), (gst_query_set_duration),
7832         (gst_query_parse_duration), (gst_query_new_convert):
7833         * gst/gstutils.c:
7834         Yay! 1% more docs coverage.
7835
7836 2005-10-20  Wim Taymans  <wim@fluendo.com>
7837
7838         * gst/gstpad.h:
7839         * gst/gstquery.c: (gst_query_set_position),
7840         (gst_query_parse_position), (gst_query_set_duration),
7841         (gst_query_parse_duration), (gst_query_new_convert):
7842         * gst/gstquery.h:
7843         * gst/gstutils.c: (gst_element_query_convert):
7844         * gst/gstutils.h:
7845         Docs and consistency fixes.
7846
7847 2005-10-20  Wim Taymans  <wim@fluendo.com>
7848
7849         * gst/gsttask.c:
7850         * gst/gsttask.h:
7851         More docs.
7852
7853 2005-10-20  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),
7858         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
7859         Reworked the message handling a bit, cache the messages instead of
7860         only the senders. alows us to do more in the future.
7861
7862 2005-10-20  Wim Taymans  <wim@fluendo.com>
7863
7864         * docs/design/part-TODO.txt:
7865         Update TODO
7866
7867         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7868         (gst_base_sink_query):
7869         Don't use clock time to report position when in EOS.
7870
7871 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
7872
7873         * tools/gst-inspect.c: (print_interfaces),
7874         (print_element_properties_info), (print_element_info):
7875           Fix interface output with gst-inspect -a; don't print
7876           newlines after double/float properties.
7877
7878 2005-10-20  Wim Taymans  <wim@fluendo.com>
7879
7880         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7881         (gst_base_sink_query):
7882         Speed up current position calculation.
7883
7884         * gst/base/gstbasesrc.c: (gst_base_src_query),
7885         (gst_base_src_default_newsegment):
7886         Correctly set stream position in newsegment.
7887
7888         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
7889         (update_degree), (gst_bin_sort_iterator_next),
7890         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
7891         * gst/gstmessage.c: (gst_message_new_custom):
7892         Clean up debugging info
7893
7894         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7895         (gst_queue_loop), (gst_queue_handle_src_query):
7896         Pause task faster.
7897
7898 2005-10-19  Wim Taymans  <wim@fluendo.com>
7899
7900         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7901         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
7902         Fix query handling again.
7903
7904 2005-10-19  Wim Taymans  <wim@fluendo.com>
7905
7906         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7907         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
7908         * gst/base/gstbasesrc.c: (gst_base_src_query):
7909         * gst/elements/gstfilesink.c: (gst_file_sink_query):
7910         * gst/elements/gsttypefindelement.c:
7911         (gst_type_find_handle_src_query), (find_element_get_length),
7912         (gst_type_find_element_activate):
7913         API change fix.
7914
7915         * gst/gstquery.c: (gst_query_new_position),
7916         (gst_query_set_position), (gst_query_parse_position),
7917         (gst_query_new_duration), (gst_query_set_duration),
7918         (gst_query_parse_duration), (gst_query_set_segment),
7919         (gst_query_parse_segment):
7920         * gst/gstquery.h:
7921         Bundling query position/duration is not a good idea since duration
7922         does not change much and we don't want to recalculate it for every
7923         position query, so they are separated again..
7924         Base value in segment query is not needed.
7925
7926         * gst/gstqueue.c: (gst_queue_handle_src_query):
7927         * gst/gstutils.c: (gst_element_query_position),
7928         (gst_element_query_duration), (gst_pad_query_position),
7929         (gst_pad_query_duration):
7930         * gst/gstutils.h:
7931         Updates for query API change.
7932         Added some docs here and there.
7933
7934 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
7935
7936         * check/gst/gstbin.c: (GST_START_TEST):
7937         * check/gst/gstghostpad.c: (GST_START_TEST):
7938         * check/pipelines/cleanup.c: (GST_START_TEST):
7939           wait on thread to die so we can check refcount correctly
7940
7941 2005-10-18  Wim Taymans  <wim@fluendo.com>
7942
7943         * check/pipelines/stress.c: (GST_START_TEST):
7944         Make check a little more time consuming.
7945
7946 2005-10-18  Wim Taymans  <wim@fluendo.com>
7947
7948         * check/Makefile.am:
7949         * check/pipelines/stress.c: (GST_START_TEST),
7950         (simple_launch_lines_suite), (main):
7951         Small state change torture test.
7952
7953         * docs/design/part-states.txt:
7954         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7955         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
7956         (gst_base_sink_change_state):
7957         Never take state lock from streaming thread, clean up ugly
7958         hacks. Unfortunatly core does not yet support nice ways to
7959         async commit state.
7960         
7961         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
7962         (bin_bus_handler):
7963         Start state recalc if a STATE_DIRTY message is posted, but only
7964         on the toplevel bin.
7965
7966         * gst/gstelement.c: (gst_element_sync_state_with_parent),
7967         (gst_element_get_state_func), (gst_element_abort_state),
7968         (gst_element_commit_state), (gst_element_lost_state),
7969         (gst_element_set_state_func), (gst_element_change_state):
7970         * gst/gstelement.h:
7971         State variables are now protected with the LOCK, the state
7972         lock is only used to serialize _set_state().
7973
7974 2005-10-18  Wim Taymans  <wim@fluendo.com>
7975
7976         * check/gst/gstbin.c: (GST_START_TEST):
7977         * check/gst/gstmessage.c: (GST_START_TEST):
7978         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
7979         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
7980         (bin_bus_handler):
7981         * gst/gstelement.c: (gst_element_abort_state),
7982         (gst_element_commit_state), (gst_element_lost_state):
7983         * gst/gstmessage.c: (gst_message_new_state_changed),
7984         (gst_message_new_state_dirty), (gst_message_new_segment_start),
7985         (gst_message_new_segment_done), (gst_message_new_duration),
7986         (gst_message_parse_state_changed),
7987         (gst_message_parse_segment_start),
7988         (gst_message_parse_segment_done), (gst_message_parse_duration):
7989         * gst/gstmessage.h:
7990         * tools/gst-launch.c: (event_loop):
7991         Seriously, this is better than a previous commit as we only need
7992         to notify the fact that an element changed state in a streaming
7993         thread, marking the state of the parents dirty, hence the 
7994         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
7995         message.
7996
7997 2005-10-18  Wim Taymans  <wim@fluendo.com>
7998
7999         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8000         (gst_bin_recalc_func):
8001         * gst/gstelement.c: (gst_element_set_clock),
8002         (gst_element_abort_state), (gst_element_lost_state):
8003         Cleanups, prepare for state change fixes.
8004
8005 2005-10-18  Wim Taymans  <wim@fluendo.com>
8006
8007         * gst/gstbin.h:
8008         * gst/gstelement.c: (gst_element_class_init),
8009         (gst_element_set_state), (gst_element_set_state_func):
8010         * gst/gstelement.h:
8011         Pending ABI changes.
8012         GThreadPool in GstBinClass to monitor async state changes.
8013         state_cookie in GstElement to detect concurrent gst/set state.
8014         set_state is now virtual too in case a very complicated element
8015         has to be constructed.
8016
8017 2005-10-18  Wim Taymans  <wim@fluendo.com>
8018
8019         * check/gst/gstbin.c: (GST_START_TEST):
8020         * check/gst/gstmessage.c: (GST_START_TEST):
8021         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8022         * gst/gstbin.c: (bin_bus_handler):
8023         * gst/gstelement.c: (gst_element_commit_state),
8024         (gst_element_lost_state):
8025         * gst/gstmessage.c: (gst_message_new_state_changed),
8026         (gst_message_new_segment_start), (gst_message_new_segment_done),
8027         (gst_message_new_duration), (gst_message_parse_state_changed),
8028         (gst_message_parse_segment_start),
8029         (gst_message_parse_segment_done), (gst_message_parse_duration):
8030         * gst/gstmessage.h:
8031         * tools/gst-launch.c: (event_loop):
8032         Make messages future proof.
8033         state-change gets a flag if it was a message comming from the
8034         streaming thread.
8035         segment-start/stop can also be specified in other formats.
8036         A message to notify an app that a pipeline changed playback 
8037         duration.
8038         Also fix a GstMessage leak in -launch
8039
8040 2005-10-18  Andy Wingo  <wingo@pobox.com>
8041
8042         * gst/gstelement.c (gst_element_dispose): More helpful message.
8043
8044 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8045
8046         reviewed by: <delete if not using a buddy>
8047
8048         * common/gtk-doc.mak:
8049
8050 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8051
8052         * gst/gstregistry.c: (gst_registry_scan_path_level):
8053           unref a plug-in we get that was already initialized
8054
8055 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
8056
8057         * docs/gst/gstreamer-sections.txt:
8058         * docs/libs/gstreamer-libs-sections.txt:
8059         * gst/gstelement.h:
8060           add new api entries
8061           hide internal macro
8062
8063 2005-10-17  Andy Wingo  <wingo@pobox.com>
8064
8065         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8066         cleanup.
8067
8068         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8069
8070         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8071
8072         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8073         (gst_element_get_state_func): Better debug message.
8074         (gst_element_commit_state): s/INFO/DEBUG/.
8075         (gst_element_lost_state, gst_element_change_state): 
8076
8077         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8078         (gst_message_new_custom): s/INFO/LOG/.
8079
8080 2005-10-17  Michael Smith <msmith@fluendo.com>
8081
8082         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8083           Check if end time is valid using end time, not start time.
8084
8085 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8086
8087         * check/gst-libs/controller.c: (GST_START_TEST),
8088         (gst_controller_suite):
8089         * libs/gst/controller/gstcontroller.c:
8090         (gst_controlled_property_set_interpolation_mode):
8091         * libs/gst/controller/gstcontroller.h:
8092         * libs/gst/controller/gstinterpolation.c:
8093         * testsuite/controller/.cvsignore:
8094         * testsuite/controller/Makefile.am:
8095         * testsuite/controller/interpolator.c:
8096           merge controller testsuites
8097           fix broken tests
8098           remove mem-chunk from docs
8099
8100 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8101
8102         * gst/gstmemchunk.c:
8103         * gst/gstmemchunk.h:
8104         * gst/gsttrashstack.c:
8105         * gst/gsttrashstack.h:
8106           out.  get out.  you're fired.  to the Attic !
8107
8108 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8109
8110         * gst/gstcaps.c: (gst_caps_intersect):
8111           fix signedness issues in a (hopefully) correct way
8112         * gst/gstelement.c: (gst_element_pads_activate):
8113           some debugging
8114         * gst/gstobject.c: (gst_object_set_parent):
8115           some debugging
8116
8117 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8118
8119         * gst/gstvalue.h: Fix prototypes.
8120
8121 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8122
8123         * docs/gst/gstreamer-sections.txt:
8124         * gst/gst.c: (gst_version_string):
8125         * gst/gst.h:
8126         * gst/gstversion.h.in:
8127         * win32/common/libgstreamer.def:
8128           add gst_version_string ()
8129
8130 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8131
8132         * configure.ac:
8133           clean up further
8134         * gst/gst.c: (init_post):
8135         * win32/common/config.h.in:
8136           it's PLUGINDIR now
8137         * gst/gstcaps.c: (gst_caps_intersect):
8138           use gint64, the range could be bigger than a guint
8139
8140 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8141
8142         * gst/gstclock.h:
8143           document potential problem in 2038
8144
8145 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8146
8147         * gst/gstcaps.c: (gst_caps_intersect):
8148           Fix guint j diving under 0
8149
8150 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8151
8152         * configure.ac:
8153         * win32/common/config.h:
8154         * win32/common/config.h.in:
8155           check for process.h, declares getpid() on Windows
8156         * gst/gstinfo.c:
8157           include process.h if we have it
8158         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8159         * gst/gstmemchunk.h:
8160           fix signedness issues
8161         * win32/common/libgstreamer.def:
8162           fix get_type's
8163
8164 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8165
8166         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8167         fix. Because of unsigned ints, caps intersection was going nuts and
8168         trying to access structures with G_MAXUINT index. That fixes
8169         videotestsrc ! ffmpegcolorspace ! fakesink
8170         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8171         consistency.
8172
8173 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8174
8175         * configure.ac:
8176           use the gettext macro
8177         * gst/elements/gstelements.c:
8178         * gst/gst.c:
8179         * gst/indexers/gstindexers.c:
8180           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8181         * win32/common/config.h:
8182           updated config.h
8183         * win32/common/config.h.in:
8184           add the template to generate config.h
8185         * win32/common/gstenumtypes.c:
8186         * win32/common/gstversion.h:
8187           updated copies
8188
8189 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8190
8191         * gst/gst.c: (gst_version):
8192         * gst/gstversion.h.in:
8193           add the nano
8194
8195 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8196
8197         * gst/gstevent.h:
8198           Oops, add missing closing bracket.
8199
8200 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8201
8202         * configure.ac:
8203           use common m4's for argument checking
8204
8205 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8206
8207         * docs/gst/gstreamer-sections.txt:
8208         * gst/gstevent.h:
8209           Add GST_EVENT_TYPE_NAME() macro.
8210
8211 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8212
8213         * gst/gstinfo.c:
8214         * gst/gstpluginfeature.c:
8215         * gst/gsttask.c:
8216           privatize more symbols
8217
8218 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8219
8220         * configure.ac:
8221           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8222           everything that uses GStreamer API should have the includes
8223
8224 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8225
8226         * docs/gst/gstreamer-sections.txt:
8227         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8228         * gst/gstvalue.h:
8229           give each value a _get_type, removes the DATA exports
8230
8231 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8232
8233         * gst/gst.c:
8234         * gst/gst.h:
8235           remove _gst_registry_auto_load, not used anymore
8236         * gst/gstbin.c: (gst_bin_get_type):
8237         * gst/gstbin.h:
8238         * gst/gstelement.c: (gst_element_get_type):
8239         * gst/gstelement.h:
8240         * gst/gstobject.c: (gst_object_get_type):
8241         * gst/gstobject.h:
8242         * gst/gstpad.c: (gst_pad_get_type):
8243         * gst/gstpad.h:
8244           make _get_type functions similar, fixes data export from library
8245
8246 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8247
8248         * configure.ac:
8249           correctly make conditionals
8250         * gst/elements/Makefile.am:
8251         * gst/elements/gstelements.c:
8252           fix typo causing fdsrc not to build
8253
8254 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8255
8256         * testsuite/Makefile.am:
8257         * testsuite/bytestream/.cvsignore:
8258         * testsuite/bytestream/Makefile.am:
8259         * testsuite/bytestream/filepadsink.c:
8260         * testsuite/bytestream/gstbstest.c:
8261         * testsuite/bytestream/test1.c:
8262         * testsuite/bytestream/testfile1:
8263         * testsuite/caps/normalisation.c:
8264         * testsuite/caps/random.c: (main):
8265         * testsuite/cleanup/.cvsignore:
8266         * testsuite/cleanup/Makefile.am:
8267         * testsuite/cleanup/cleanup1.c:
8268         * testsuite/cleanup/cleanup2.c:
8269         * testsuite/cleanup/cleanup3.c:
8270         * testsuite/cleanup/cleanup4.c:
8271         * testsuite/cleanup/cleanup5.c:
8272         * testsuite/controller/interpolator.c:
8273         * testsuite/debug/printf_extension.c: (main):
8274         * testsuite/elements/tee.c:
8275         * testsuite/negotiation/.cvsignore:
8276         * testsuite/negotiation/Makefile.am:
8277         * testsuite/negotiation/pad_link.c:
8278         * testsuite/pad/Makefile.am:
8279         * testsuite/pad/chainnopull.c:
8280         * testsuite/pad/getnopush.c:
8281         * testsuite/pad/link.c:
8282         * testsuite/refcounting/sched.c: (create_pipeline):
8283         * testsuite/registry/Makefile.am:
8284         * testsuite/registry/gst-print-formats.c:
8285         * testsuite/schedulers/.cvsignore:
8286         * testsuite/schedulers/142183-2.c:
8287         * testsuite/schedulers/142183.c:
8288         * testsuite/schedulers/143777-2.c:
8289         * testsuite/schedulers/143777.c:
8290         * testsuite/schedulers/147713.c:
8291         * testsuite/schedulers/147819.c:
8292         * testsuite/schedulers/147894-2.c:
8293         * testsuite/schedulers/147894.c:
8294         * testsuite/schedulers/Makefile.am:
8295         * testsuite/schedulers/group_link.c:
8296         * testsuite/schedulers/queue_link.c:
8297         * testsuite/schedulers/relink.c:
8298         * testsuite/schedulers/unlink.c:
8299         * testsuite/schedulers/unref.c:
8300         * testsuite/schedulers/useless_iteration.c:
8301         * testsuite/states/bin.c:
8302           clean out/remove some stuff from the testsuite directories
8303
8304 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8305
8306         * configure.ac:
8307           check for some headers
8308         * gst/elements/Makefile.am:
8309         * gst/elements/gstelements.c:
8310           don't compile fdsrc without sys/socket.h
8311         * gst/indexers/Makefile.am:
8312         * gst/indexers/gstindexers.c: (plugin_init):
8313           don't compile fileindex without mmap
8314
8315 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8316
8317         * configure.ac:
8318           reorganize
8319           clean up
8320           document more
8321           remove cruft
8322         * check/Makefile.am:
8323         * docs/gst/Makefile.am:
8324         * examples/helloworld/Makefile.am:
8325         * gst/Makefile.am:
8326         * gst/base/Makefile.am:
8327         * gst/check/Makefile.am:
8328         * gst/elements/Makefile.am:
8329         * gst/indexers/Makefile.am:
8330         * gst/parse/Makefile.am:
8331         * libs/gst/controller/Makefile.am:
8332         * libs/gst/dataprotocol/Makefile.am:
8333         * examples/helloworld/helloworld.c: (event_loop):
8334           compile fixes, though it's not being compiled currently
8335
8336 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8337
8338         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8339           Add some simple tests for the new taglist date API.
8340
8341 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8342
8343         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8344         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8345           Beautify 'last-message' output: print 'none' for buffer timestamps
8346           and durations if none is set; improve alignment with next messages.
8347
8348 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8349
8350         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8351         * gst/gstpluginfeature.h:
8352         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8353         * gst/gstregistry.h:
8354         * docs/gst/gstreamer-sections.txt:
8355           Add new API to check plugin feature version requirements.
8356
8357         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8358           Some basic tests for the above.         
8359
8360 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8361
8362         * gst/gststructure.c: (gst_structure_to_string):
8363           guard against NULL printf - happens when for example
8364           a message structure with GstClock gets serialized
8365
8366 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8367
8368         * gst/base/gstcollectpads.c: (gst_collectpads_event):
8369           Fix presumable copy'n'pasto.
8370
8371 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8372
8373         * gst/elements/gstfakesrc.h:
8374         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8375         * gst/elements/gsttypefindelement.c:
8376           fix some signedness
8377         * gst/elements/gstfilesink.c: (gst_file_sink_render):
8378           I wonder if this could actually write +2GB files before
8379
8380 2005-10-13  Andy Wingo  <wingo@pobox.com>
8381
8382         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8383         Fix Timmeke Waymans bug.
8384         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8385         string of the proper length to gst_caps_from_string. There's a
8386         potential for, before this fix, that this could cause someone
8387         connecting over the network to cause a segfault if the payload is
8388         not NUL-terminated.
8389
8390 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8391
8392         * docs/design/draft-push-pull.txt:
8393         * docs/design/part-overview.txt:
8394         * docs/random/TODO-pre-0.9:
8395         * docs/random/old/ChangeLog.gstreamer:
8396         * gst/base/gstpushsrc.c:
8397         * gst/gstclock.c:
8398           fixed typos
8399
8400 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8401
8402         * gst/glib-compat.c: (gst_flags_get_first_value):
8403         * gst/glib-compat.h:
8404         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8405         (gst_value_compare_double), (gst_value_serialize_flags):
8406           GLib 2.6 g_flags_get_first_value has a bug that triggers an
8407           infinite loop
8408
8409 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8410
8411         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8412         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8413           fix up debugging
8414         * tools/gst-launch.c: (event_loop):
8415           print out clock nicely
8416
8417 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8418
8419         * docs/gst/gstreamer-sections.txt:
8420         * gst/gsttaglist.h:
8421         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8422         (gst_tag_list_get_date_index):
8423           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8424           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8425
8426 2005-10-13  Julien MOUTTE  <julien@moutte.net>
8427
8428         * gst/base/gstcollectpads.c: (gst_collectpads_event),
8429         (gst_collectpads_chain):
8430         * gst/base/gstcollectpads.h: Handle newsegment and store informations
8431         in CollectData.
8432
8433 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8434
8435         * docs/gst/gstreamer-sections.txt:
8436         * gst/gst.c:
8437         * gst/gsterror.h:
8438         * tools/gst-inspect.c: (main):
8439         * tools/gst-launch.c: (main):
8440         * tools/gst-run.c: (main):
8441         * tools/gst-xmlinspect.c: (main):
8442           fix GOption context leaks
8443           doc fixes
8444
8445 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8446
8447         * gst/gstbus.c:
8448           use HAVE_UNISTD_H
8449         * win32/common/config.h:
8450           update config
8451         * win32/vs6/grammar.dsp:
8452         * win32/vs6/libgstelements.dsp:
8453         * win32/vs6/libgstreamer.dsp:
8454           update vs6 files
8455
8456 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8457
8458         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8459         * gst/base/gstbasesrc.c: (gst_base_src_query):
8460           fix more guint64<->gdouble conversions
8461
8462 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8463
8464         * Makefile.am:
8465           add win32-update target
8466         * win32/common/gstconfig.h:
8467         * win32/common/gstenumtypes.c:
8468         * win32/common/gstenumtypes.h:
8469         * win32/common/gstversion.h:
8470           add files that visual studio can't generate
8471
8472 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8473
8474         * Makefile.am:
8475           add a win32-update target
8476         * configure.ac:
8477
8478 2005-10-12  Wim Taymans  <wim@fluendo.com>
8479
8480         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8481         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8482         * gst/gstelement.c: (gst_element_commit_state),
8483         (gst_element_set_state):
8484         Protect flags with proper lock.
8485         unref provided cached clock in dispose.
8486
8487 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8488
8489         * gst/gst.c:
8490         * gst/gstminiobject.h:
8491         * gst/gstpad.h:
8492         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8493           removed unused flags from miniobject
8494           doc fixes
8495
8496 2005-10-12  Wim Taymans  <wim@fluendo.com>
8497
8498         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8499         (gst_file_sink_event), (gst_file_sink_render):
8500         Flush before seeking.
8501
8502 2005-10-12  Andy Wingo  <wingo@pobox.com>
8503
8504         * gst/gst.c (gst_init_check): Ignore unknown options, as has
8505         always been the case.
8506
8507 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8508
8509         * check/gst/gstbin.c: (GST_START_TEST):
8510         * docs/gst/gstreamer-sections.txt:
8511         * gst/base/gstbasesink.c: (gst_base_sink_init):
8512         * gst/base/gstbasesrc.c: (gst_base_src_init),
8513         (gst_base_src_get_range), (gst_base_src_check_get_range),
8514         (gst_base_src_start), (gst_base_src_stop):
8515         * gst/base/gstbasesrc.h:
8516         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
8517         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8518         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
8519         (bin_bus_handler):
8520         * gst/gstbin.h:
8521         * gst/gstbuffer.h:
8522         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8523         * gst/gstbus.h:
8524         * gst/gstelement.c: (gst_element_is_locked_state),
8525         (gst_element_set_locked_state), (gst_element_commit_state),
8526         (gst_element_set_state):
8527         * gst/gstelement.h:
8528         * gst/gstindex.c: (gst_index_init):
8529         * gst/gstindex.h:
8530         * gst/gstminiobject.h:
8531         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
8532         (gst_object_set_parent):
8533         * gst/gstobject.h:
8534         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
8535         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
8536         * gst/gstpad.h:
8537         * gst/gstpadtemplate.h:
8538         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
8539         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8540         * gst/gstpipeline.h:
8541         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8542         (gst_file_index_commit):
8543         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
8544         * testsuite/pad/link.c: (gst_test_src_init),
8545         (gst_test_filter_init), (gst_test_sink_init):
8546         * testsuite/states/locked.c: (main):
8547           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
8548           moved bitshift from macro to enum definition
8549
8550 2005-10-12  Wim Taymans  <wim@fluendo.com>
8551
8552         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8553         * gst/elements/gstfilesink.c: (gst_file_sink_event),
8554         (gst_file_sink_render):
8555         Some more debugging info.
8556
8557 2005-10-12  Wim Taymans  <wim@fluendo.com>
8558
8559         * docs/design/part-states.txt:
8560         * tools/gst-launch.c: (main):
8561         Some doc updates.
8562         Revert non-intentional change.
8563
8564 2005-10-12  Wim Taymans  <wim@fluendo.com>
8565
8566         * check/gst/gstbin.c: (GST_START_TEST):
8567         * check/gst/gstelement.c: (GST_START_TEST):
8568         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8569         * check/gst/gstghostpad.c: (GST_START_TEST):
8570         * check/gst/gstpipeline.c: (GST_START_TEST):
8571         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8572         * check/states/sinks.c: (GST_START_TEST):
8573         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8574         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8575         (gst_bin_remove_func), (gst_bin_get_state_func),
8576         (gst_bin_recalc_state), (gst_bin_change_state_func),
8577         (bin_bus_handler):
8578         * gst/gstelement.c: (gst_element_get_state_func),
8579         (gst_element_get_state), (gst_element_abort_state),
8580         (gst_element_commit_state), (gst_element_set_state),
8581         (gst_element_change_state), (gst_element_change_state_func):
8582         * gst/gstelement.h:
8583         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8584         (gst_pipeline_provide_clock_func):
8585         * gst/gstutils.c: (gst_element_link_pads_filtered):
8586         * tools/gst-launch.c: (main):
8587         * tools/gst-typefind.c: (main):
8588         Use GstClockTime in _get_state() instead of GTimeVal.
8589         Remove old code in gstutils.c
8590
8591 2005-10-12  Andy Wingo  <wingo@pobox.com>
8592
8593         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8594         removed.
8595
8596         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8597         there is no task. Shouldn't affect any code, as nothing in our
8598         plugins checks this return value.
8599         (gst_pad_stop_task): Also take the stream lock if the pad has no
8600         task. Docs updated.
8601
8602 2005-10-12  Wim Taymans  <wim@fluendo.com>
8603
8604         * gst/gstpad.c: (pre_activate), (post_activate),
8605         (gst_pad_activate_pull), (gst_pad_activate_push):
8606         Cleanup activation code. Reset old state if
8607         activation failed.
8608
8609 2005-10-12  Wim Taymans  <wim@fluendo.com>
8610
8611         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8612         (gst_base_sink_change_state):
8613         No need to prerol after receiving EOS.
8614
8615         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8616         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8617         * gst/elements/gstidentity.c: (gst_identity_event):
8618         Print events more verbosely.
8619
8620 2005-10-12  Wim Taymans  <wim@fluendo.com>
8621
8622         * check/Makefile.am:
8623         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8624         * check/states/sinks2.c:
8625         Moved sinks2 testcode in sinks check.
8626
8627         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8628         (gst_bin_remove_func), (gst_bin_recalc_state),
8629         (gst_bin_change_state_func), (bin_bus_handler):
8630         Fix potential race condition when _get_state() iterated over an
8631         ASYNC element right before it posted a state completion.
8632
8633         * gst/gstclock.h:
8634         Do proper cast here.
8635
8636         * gst/gstevent.c: (gst_event_new_newsegment),
8637         (gst_event_parse_newsegment):
8638         A playback rate of 0.0 is not allowed.
8639
8640 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8641
8642         * win32/common/config.h:
8643         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8644         (_trewinddir), (_ttelldir), (_tseekdir):
8645         * win32/common/dirent.h:
8646         * win32/common/gtchar.h:
8647         * win32/common/libgstbase.def:
8648         * win32/common/libgstreamer.def:
8649         * win32/vs6/grammar.dsp:
8650         * win32/vs6/gst_inspect.dsp:
8651         * win32/vs6/gst_launch.dsp:
8652         * win32/vs6/gstreamer.dsw:
8653         * win32/vs6/libgstbase.dsp:
8654         * win32/vs6/libgstelements.dsp:
8655         * win32/vs6/libgstreamer.dsp:
8656           Visual Studio 6 project files, and a new common directory.
8657           Phear.
8658
8659 2005-10-11  Wim Taymans  <wim@fluendo.com>
8660
8661         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8662         (gst_base_sink_do_sync), (gst_base_sink_query),
8663         (gst_base_sink_change_state):
8664         * gst/base/gstbasesink.h:
8665         Correctly parse newsegment info.
8666
8667 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8668
8669         * gst/gst.c: (init_post):
8670           split plugin paths correctly
8671
8672 2005-10-11  Wim Taymans  <wim@fluendo.com>
8673
8674         * check/gst/gstevent.c: (GST_START_TEST):
8675         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8676         (gst_base_sink_change_state):
8677         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
8678         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8679         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8680         * gst/gstevent.c: (gst_event_new_newsegment),
8681         (gst_event_parse_newsegment):
8682         * gst/gstevent.h:
8683         Added extra flag to newsegment for future API freeze.
8684         Updated check and base elements.
8685
8686 2005-10-11  Julien MOUTTE  <julien@moutte.net>
8687
8688         * gst/base/gstcollectpads.c: (gst_collectpads_init),
8689         (gst_collectpads_add_pad), (gst_collectpads_pop),
8690         (gst_collectpads_event), (gst_collectpads_chain):
8691         * gst/base/gstcollectpads.h: Handle EOS correctly.
8692
8693 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8694
8695         * tools/gst-launch.c: (main):
8696           more null protecting
8697
8698 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8699
8700         * gst/gst-i18n-lib.h:
8701           check for ENABLE_NLS, not GETTEXT_PACKAGE
8702         * gst/gstregistry.c: (gst_registry_add_plugin),
8703         (gst_registry_scan_path_level),
8704         (_gst_registry_remove_cache_plugins):
8705           protect possibly NULL strings
8706         * gst/parse/types.h:
8707           config.h already included before
8708         * tools/gst-inspect.c: (main):
8709           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
8710           check for ENABLE_NLS, not GETTEXT_PACKAGE
8711         * tools/gst-launch.c: (main):
8712           check for ENABLE_NLS, not GETTEXT_PACKAGE
8713
8714 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8715
8716         * configure.ac:
8717           if we don't have glib, fail before testing 2.8
8718         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
8719           fix a leak, should fix plugins-base testsuite
8720
8721 2005-10-11  Andy Wingo  <wingo@pobox.com>
8722
8723         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
8724         take the mode we're going to as an arg. Go head and set the mode
8725         and flushing flags now, so that if the activate function starts a
8726         thread all the flags will be in the right state.
8727         (post_activate): Renamed also. Just handle making sure streaming
8728         finishes for the deactivation case, and setting the deactivated
8729         mode.
8730         (gst_pad_set_active): Complain loudly if deactivation fails.
8731         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
8732         (gst_pad_activate_push): Adapt to pre/post_activate changes,
8733         remove the terrible hack.
8734
8735 2005-10-11  Wim Taymans  <wim@fluendo.com>
8736
8737         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8738         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
8739         (gst_bin_recalc_state), (gst_bin_change_state_func),
8740         (gst_bin_dispose), (bin_bus_handler):
8741         * gst/gstbin.h:
8742         Prepare to make current EOS message queue more generic.
8743         Fix some typos.
8744
8745         * gst/gstevent.c: (gst_event_new_newsegment),
8746         (gst_event_parse_newsegment):
8747         * gst/gstevent.h:
8748         Rename base to stream_time.
8749
8750         * gst/gstmessage.h:
8751         Fix typo in docs.
8752
8753 2005-10-11  Wim Taymans  <wim@fluendo.com>
8754
8755         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8756         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
8757         (gst_bin_change_state_func), (bin_bus_handler):
8758         * gst/gstbin.h:
8759         Work on proper clock selection.
8760
8761 2005-10-11  Edward Hervey  <edward@fluendo.com>
8762
8763         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
8764         * libs/gst/controller/gstcontroller.h:
8765         Added GList* version of _remove_properties() in order to be able to wrap
8766         it in bindings.
8767
8768 2005-10-11  Wim Taymans  <wim@fluendo.com>
8769
8770         * docs/design/part-states.txt:
8771         Some more docs.
8772
8773         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
8774         (gst_bin_change_state_func), (bin_bus_handler):
8775         Doc updates. Don't distribute the same clock over and over again.
8776
8777         * gst/gstclock.c:
8778         * gst/gstclock.h:
8779         Doc updates.
8780
8781         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
8782         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
8783         (gst_pad_send_event):
8784         * gst/gstpad.h:
8785         Make probe emission threadsafe again.
8786         Register quarks and move _get_name() from utils.
8787         Doc updates.
8788
8789         * gst/gstpipeline.c: (gst_pipeline_class_init),
8790         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8791         Only redistribute the clock of it changed.
8792
8793         * gst/gstsystemclock.h:
8794         Doc updates. 
8795
8796         * gst/gstutils.c:
8797         * gst/gstutils.h:
8798         Moved the _flow_get_name() to GstPad.
8799
8800 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8801
8802         * check/gst-libs/gdp.c: (GST_START_TEST):
8803         * check/gst/gstcaps.c: (GST_START_TEST):
8804         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8805         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
8806         (gst_dp_packet_from_caps):
8807           fix more valgrind warnings before turning up the heat
8808
8809 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8810
8811         * gst/parse/grammar.y:
8812           some cleanup before the hacking
8813
8814 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8815
8816         * gst/base/gstbasesrc.c: (gst_base_src_query):
8817           use conversions
8818         * gst/gstutils.c: (gst_guint64_to_gdouble),
8819         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
8820         * gst/gstutils.h:
8821           externalize, basesrc uses it
8822           obviously the implementation needs testing
8823
8824 2005-10-10  Wim Taymans  <wim@fluendo.com>
8825
8826         * tests/sched/Makefile.am:
8827         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
8828         (make_pipeline3), (make_pipeline4), (print_elem), (main):
8829
8830 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8831
8832         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
8833           apparently converting from guint64 to double is not implemented
8834           on MSVC
8835
8836 2005-10-10  Wim Taymans  <wim@fluendo.com>
8837
8838         * check/Makefile.am:
8839         * check/generic/states.c: (GST_START_TEST):
8840         * check/gst/gstbin.c: (GST_START_TEST):
8841         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8842         * check/states/sinks.c: (GST_START_TEST):
8843         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
8844         (main):
8845         Check fixes, use API as stated in design docs, remove hacks.
8846
8847         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8848         (gst_base_sink_change_state):
8849         Catch stopping our task while we're shutting down.
8850
8851         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8852         (gst_bin_remove_func), (gst_bin_get_state_func),
8853         (gst_bin_recalc_state), (gst_bin_change_state_func),
8854         (bin_bus_handler):
8855         * gst/gstbin.h:
8856         * gst/gstelement.c: (gst_element_init),
8857         (gst_element_get_state_func), (gst_element_abort_state),
8858         (gst_element_commit_state), (gst_element_lost_state),
8859         (gst_element_set_state), (gst_element_change_state),
8860         (gst_element_change_state_func):
8861         * gst/gstelement.h:
8862         New state change algorithm (see #318116)
8863
8864         * gst/gstpipeline.c: (gst_pipeline_class_init),
8865         (gst_pipeline_init), (gst_pipeline_set_property),
8866         (gst_pipeline_get_property), (do_pipeline_seek),
8867         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8868         * gst/gstpipeline.h:
8869         Remove crude state change hacks.
8870
8871         * gst/gstutils.h:
8872         Remove crude hacks.
8873
8874         * tools/gst-launch.c: (main):
8875         Fixes for state change. Needs some more work to fully use the
8876         new stuff.
8877
8878 2005-10-10  Andy Wingo  <wingo@pobox.com>
8879
8880         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
8881
8882         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
8883         this flag, but it's not even in GLib 2.6. Odd. Hack around the
8884         issue.
8885
8886 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8887
8888         * gst/gstiterator.c: (gst_iterator_new):
8889           Fix my previous commit: GTypes passed to gst_iterator_new()
8890           can be fundamental types.
8891
8892 2005-10-10  Wim Taymans  <wim@fluendo.com>
8893
8894         * gst/gstelement.c: (gst_element_iterate_pad_list),
8895         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
8896         (gst_element_iterate_sink_pads):
8897         Use src/sink pads lists for the respective iterators instead
8898         of filtering.
8899
8900 2005-10-10  Andy Wingo  <wingo@pobox.com>
8901
8902         Merged in popt removal + GOption addition patch from Ronald, bug
8903         #169772.
8904
8905         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
8906         GstElement macros around, remove popt-related symbols, add goption
8907         stuff.
8908
8909         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
8910         
8911         * docs/gst/Makefile.am:
8912         * docs/libs/Makefile.am: No POPT_CFLAGS.
8913         
8914         * examples/manual/Makefile.am:
8915         * docs/manual/basics-init.xml: Doc updates with an example.
8916         
8917         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
8918         (gst_init), (parse_one_option), (parse_goption_arg):
8919         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
8920         bit of hand merging and debugging to get the GOption stuff working
8921         tho.
8922         
8923         * tests/Makefile.am:
8924         * tools/Makefile.am:
8925         * tools/gst-inspect.c: (main):
8926         * tools/gst-launch.c: (main):
8927         * tools/gst-run.c: (main):
8928         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
8929
8930 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8931
8932         * gst/gstiterator.c: (gst_iterator_new):
8933           Add assertions to make sure passed GType is likely to really
8934           be a GType (as the compiler won't catch it if the size and
8935           GType arguments get mixed up, see #318447).
8936
8937 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
8938
8939         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
8940
8941         * gst/gstbin.c: (gst_bin_iterate_sorted):
8942           Pass GType and size arguments to gst_iterator_new() in the right
8943           order (maybe we should make _new() take the GType as first argument
8944           just like _new_list()?) (#318447).
8945           
8946
8947 2005-10-10  Wim Taymans  <wim@fluendo.com>
8948
8949         * gst/gstelement.c: (gst_element_finalize):
8950         And free the GStaticRecMutex too
8951
8952 2005-10-10  Andy Wingo  <wingo@pobox.com>
8953
8954         * gst/gstelement.c (gst_element_init, gst_element_finalize):
8955         Allocate and free the mutex properly.
8956
8957         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
8958         New macros.
8959         (GstElement): The state_lock is now recursive. Rebuild your
8960         plugins, suckers. Old macros adapted.
8961
8962         * docs/gst/gstreamer-sections.txt: Doc updates.
8963
8964         * gst/gstutils.h:
8965         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
8966         (g_static_rec_cond_wait): Ported from state changes patch, while
8967         we wait on bug #317802 to be solved in a well-distributed GLib.
8968
8969         * gst/gstelement.c (gst_element_change_state_func): Renamed from
8970         gst_element_change_state, variable name changes.
8971         (gst_element_change_state): Split out of gst_element_set_state in
8972         preparation for the state change merge. Doesn't pay attention to
8973         the 'transition' argument.
8974         (gst_element_set_state): Updates, hopefully purely cosmetic.
8975         (gst_element_sync_state_with_parent): MT-safety. Ported from the
8976         state change patch.
8977         (gst_element_get_state_func): Renamed from get_state, cosmetic
8978         changes.
8979
8980 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8981
8982         * gst/elements/gstelements.c:
8983         * win32/GStreamer.vcproj:
8984         * win32/config.h:
8985         * win32/dirent.c: (_tseekdir):
8986         * win32/gst-inspect.vcproj:
8987         * win32/gst-launch.vcproj:
8988         * win32/gstconfig.h:
8989         * win32/gstelements.vcproj:
8990         * win32/gstenumtypes.c: (gst_object_flags_get_type):
8991         * win32/gstreamer.def:
8992         * win32/msvc71.sln:
8993           updates for the win32 build (patch from Sebastien Moutte)
8994
8995 2005-10-10  Andy Wingo  <wingo@pobox.com>
8996
8997         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
8998         gst_bin_get_state, cleaned up (but no logic changes).
8999         (bin_element_is_sink): Comment updates.
9000         (sink_iterator_filter): Remove needless cast.
9001         (gst_bin_iterate_sinks): Doc update.
9002         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9003         cleaned up (but no logic changes).
9004
9005         * check/states/sinks.c (test_src_sink): Cleanups from the state
9006         change patch.
9007         (test_livesrc_sink): Sync on the state.
9008
9009         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9010         the state change patch.
9011
9012         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9013         change patch.
9014
9015         * check/gst/gstbin.c: Merge in some style fixes and additional
9016         checks from Wim's state change patch.
9017
9018 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9019
9020         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9021         (gst_type_find_helper):
9022           Check whether we have the requested data already in our list of
9023           cached buffers before pulling a new buffer; also make the buffer
9024           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9025
9026 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9027
9028         * gst/gstcaps.c:
9029         * gst/gstevent.c:
9030           doc updates
9031         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9032           don't use long long, it's not portable.  Replacing with
9033           gint64 seems to work; let's hope no skeletons fall out of the closet.
9034
9035 2005-10-10  Andy Wingo  <wingo@pobox.com>
9036
9037         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9038
9039 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
9040
9041         * docs/gst/gstreamer-sections.txt:
9042         * gst/gstevent.c:
9043         * gst/gstevent.h:
9044         * gst/gstinfo.c:
9045         * gst/gstinfo.h:
9046         * gst/gstmessage.c: (gst_message_parse_state_changed):
9047         * gst/gstpad.c:
9048         * gst/gstpad.h:
9049           more docs, fix compilation
9050
9051 2005-10-09  Philippe Khalaf <burger@speedy.org>
9052         * gst/gstmessage.c:
9053           Fixed a few forgotten variables on previous commit
9054
9055 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9056
9057         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9058           Fix evil typefind crasher: getrange() might return a short
9059           buffer at the end of a file, but gst_type_find_peek() must
9060           either return the full data as requested or NULL, but
9061           never a short buffer.
9062
9063 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9064
9065         * gst/gstmessage.c: (gst_message_new_state_changed),
9066         (gst_message_parse_state_changed):
9067         * gst/gstmessage.h:
9068           don't use "new", it's a C++ keyword
9069
9070 2005-10-08  Wim Taymans  <wim@fluendo.com>
9071
9072         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9073         * gst/gstelement.c: (gst_element_post_message):
9074         * gst/gstpipeline.c: (gst_pipeline_change_state):
9075         Small docs and debug updates.
9076
9077 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9078
9079         * docs/gst/gstreamer-sections.txt:
9080         * gst/gstelementfactory.c:
9081         * gst/gstevent.c:
9082         * gst/gsttaglist.c:
9083           more docs
9084
9085 2005-10-08  Wim Taymans  <wim@fluendo.com>
9086
9087         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9088         (gst_bin_dispose), (bin_bus_handler):
9089         Fix typos, add comments.
9090         Clear EOS list when going to PAUSED from any direction and do it
9091         in a threadsafe way.
9092         Get base time in a threadsafe way too.
9093         Fix confusing debug in the change_state function.
9094         Various other small cleanups.
9095         
9096         * gst/gstelement.c: (gst_element_post_message):
9097         Fix very verbose bus posting code.
9098
9099         * gst/gstpipeline.c: (gst_pipeline_class_init),
9100         (gst_pipeline_set_property), (gst_pipeline_get_property),
9101         (gst_pipeline_change_state):
9102         Small ARG_ -> PROP_ cleanup
9103
9104 2005-10-08  Wim Taymans  <wim@fluendo.com>
9105
9106         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9107         Do a less CPU demanding EOS check because we can.
9108
9109 2005-10-08  Wim Taymans  <wim@fluendo.com>
9110
9111         * libs/gst/dataprotocol/dataprotocol.c:
9112         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9113         (gst_dp_packet_from_event):
9114         * libs/gst/dataprotocol/dataprotocol.h:
9115         * libs/gst/dataprotocol/dp-private.h:
9116         It's about time we bump the version number.
9117         Since event types don't fit in the guint8 anymore describing
9118         the payload type, make payload type 16 bits wide.
9119
9120 2005-10-08  Wim Taymans  <wim@fluendo.com>
9121
9122         * docs/design/part-TODO.txt:
9123         * docs/design/part-clocks.txt:
9124         * docs/design/part-events.txt:
9125         * docs/design/part-gstbin.txt:
9126         * docs/design/part-gstelement.txt:
9127         * docs/design/part-gstpipeline.txt:
9128         * docs/design/part-live-source.txt:
9129         * docs/design/part-messages.txt:
9130         * docs/design/part-overview.txt:
9131         * docs/design/part-states.txt:
9132         Many doc updates.
9133
9134 2005-10-08  Wim Taymans  <wim@fluendo.com>
9135
9136         * gst/gstevent.c:
9137         * gst/gstevent.h:
9138         Fix event quark registration.
9139         Add some space between events so we can insert them in the
9140         right groups.
9141
9142 2005-10-08  Wim Taymans  <wim@fluendo.com>
9143
9144         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9145         (gst_base_sink_handle_buffer):
9146         Better log message.
9147
9148         * gst/gstbus.h:
9149         * gst/gstelement.h:
9150         More docs.
9151
9152         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9153         (gst_queue_set_property), (gst_queue_get_property):
9154         * gst/gstqueue.h:
9155         Remove old unused properties.
9156
9157 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9158         * docs/gst/gstreamer-sections.txt:
9159         * gst/gstmessage.c:
9160         * gst/gstmessage.h:
9161         * gst/gstminiobject.c:
9162         * gst/gstminiobject.h:
9163         * gst/gstobject.h:
9164         * gst/gstpad.h:
9165         * gst/gstutils.h:
9166           lots of new docs and doc fixes
9167
9168 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9169
9170         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9171         * gst/gstplugin.h:
9172         * gst/gstregistry.c: (gst_registry_lookup_locked),
9173         (gst_registry_scan_path_level):
9174         * gst/gstregistryxml.c: (load_plugin):
9175           Only ever load one plugin for a given plugin basename.
9176           This ensures correct overriding of GST_PLUGIN_PATH over
9177           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9178           system installed plugins.
9179
9180 2005-10-08  Wim Taymans  <wim@fluendo.com>
9181
9182         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9183         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9184         Prepare for doing QOS.
9185
9186 2005-10-08  Wim Taymans  <wim@fluendo.com>
9187
9188         * check/gst/gstbin.c: (GST_START_TEST):
9189         * check/pipelines/cleanup.c: (GST_START_TEST):
9190         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9191         Allow new clock message too.
9192
9193 2005-10-08  Wim Taymans  <wim@fluendo.com>
9194
9195         * gst/gstmessage.c: (gst_message_new_error),
9196         (gst_message_new_warning), (gst_message_new_tag),
9197         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9198         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9199         (gst_message_new_segment_start), (gst_message_new_segment_done),
9200         (gst_message_parse_state_changed),
9201         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9202         (gst_message_parse_new_clock):
9203         * gst/gstmessage.h:
9204         Also carry the clock in question.
9205
9206 2005-10-08  Wim Taymans  <wim@fluendo.com>
9207
9208         * gst/gstmessage.c: (gst_message_new_custom),
9209         (gst_message_new_eos), (gst_message_new_error),
9210         (gst_message_new_warning), (gst_message_new_tag),
9211         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9212         (gst_message_new_new_clock), (gst_message_new_segment_start),
9213         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9214         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9215         * gst/gstmessage.h:
9216         Clean up.
9217         Added clock related messages.
9218
9219         * gst/gstpipeline.c: (gst_pipeline_change_state):
9220         Post message when the clock changed.
9221
9222         * tools/gst-launch.c: (event_loop):
9223         Print new clock.
9224
9225 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9226
9227         * tools/gst-inspect.c: (print_element_properties_info):
9228           Can't pass NULL strings to g_print() on windows.
9229
9230 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9231
9232         * docs/Makefile.am:
9233         * docs/gst/Makefile.am:
9234         * docs/gst/gstreamer-docs.sgml:
9235         * docs/gst/running.xml:
9236         * docs/version.entities.in:
9237           add a chapter on running GStreamer.
9238           document GST_DEBUG and GST_PLUGIN* env vars
9239
9240 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9241
9242         * Makefile.am:
9243           remove include dir
9244         * configure.ac:
9245           remove PLUGINS_BUILDDIR stuff
9246         * gst/gst.c: (init_post):
9247           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9248         * idiottest.mak:
9249           remove, it was condescending and not needed
9250
9251 2005-10-08  Wim Taymans  <wim@fluendo.com>
9252
9253         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9254         (gst_base_sink_handle_object), (gst_base_sink_event),
9255         (gst_base_sink_wait), (gst_base_sink_handle_event),
9256         (gst_base_sink_change_state):
9257         * gst/base/gstbasesink.h:
9258         Repost EOS message while going to PLAYING if still EOS.
9259         Make sure that when receiving a FLUSH_START we don't attempt
9260         to sync on the clock anymore.
9261
9262 2005-10-08  Wim Taymans  <wim@fluendo.com>
9263
9264         * tools/gst-launch.c: (event_loop):
9265         Better message printout.
9266
9267 2005-10-08  Wim Taymans  <wim@fluendo.com>
9268
9269         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9270         (gst_bin_child_proxy_get_children_count):
9271         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9272         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9273         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9274         (gst_child_proxy_set_valist):
9275         * gst/parse/grammar.y:
9276         Make ChildProxy threadsafe and fix mem leaks.
9277
9278 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9279
9280         * gst/gst.c: (init_post):
9281           debug the GST_PLUGIN_ env vars
9282
9283 2005-10-08  Wim Taymans  <wim@fluendo.com>
9284
9285         * check/gst/gstbin.c: (GST_START_TEST):
9286         * check/gst/gstmessage.c: (GST_START_TEST):
9287         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9288         * gst/gstelement.c: (gst_element_commit_state),
9289         (gst_element_lost_state):
9290         * gst/gstmessage.c: (gst_message_new_state_changed),
9291         (gst_message_parse_state_changed):
9292         * gst/gstmessage.h:
9293         * tools/gst-launch.c: (event_loop):
9294         Added extra field to STATE_CHANGE message with the pending
9295         state, which will be different from the new state soon.
9296
9297 2005-10-08  Wim Taymans  <wim@fluendo.com>
9298
9299         * gst/gstbus.c: (gst_bus_pop):
9300         * gst/gstclock.c:
9301         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9302         Small cleanups and doc updates.
9303
9304 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9305
9306         * gst/gst.c: (init_pre):
9307         * gst/gstbin.c: (gst_bin_add_func):
9308           log distributing clocks and base time
9309         * gst/gstregistry.c: (gst_registry_add_plugin),
9310         (gst_registry_scan_path_level), (gst_registry_scan_path):
9311           clean up the debugging output a little
9312         * gst/gstutils.c: (gst_element_state_get_name):
9313           warn about a memleak (I've actually seen this be used, though
9314           it was probably a bug)
9315
9316 2005-10-07  Wim Taymans  <wim@fluendo.com>
9317
9318         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9319         (gst_base_src_init), (gst_base_src_default_newsegment),
9320         (gst_base_src_newsegment), (gst_base_src_do_seek),
9321         (gst_base_src_loop), (gst_base_src_start):
9322         * gst/base/gstbasesrc.h:
9323         Make the newsegment event customizable by subclasses.
9324
9325 2005-10-07  Wim Taymans  <wim@fluendo.com>
9326
9327         * gst/gstevent.c: (gst_event_new_buffersize),
9328         (gst_event_parse_buffersize):
9329         * gst/gstevent.h:
9330         New event for future idea.
9331
9332 2005-10-07  Andy Wingo  <wingo@pobox.com>
9333
9334         * gst/gstelement.c (gst_element_post_message): Doc update.
9335
9336         * docs/gst/gstreamer-sections.txt: Update.
9337
9338         * gst/gstmessage.c (gst_message_new_application): Made into a
9339         function like honest API calls.
9340         (gst_message_new_element): New message type.
9341
9342         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9343
9344         * check/elements/fakesrc.c (test_no_preroll): New check, checks
9345         that setting a live fakesrc to PAUSED returns NO_PREROLL both
9346         times.
9347
9348         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9349         NO_PREROLL from gst_element_change_state to fall through.
9350
9351 2005-10-07  Wim Taymans  <wim@fluendo.com>
9352
9353         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9354         (gst_ghost_pad_do_activate_push):
9355         Activating a ghostpad with no internal pad in push mode
9356         is ok.
9357
9358 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9359
9360         * gst/gstobject.h:
9361           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9362           Fixes compilation on Windows.
9363
9364 2005-10-07  Michael Smith <msmith@fluendo.com>
9365
9366         * tools/gst-inspect.c:
9367           Print out feature and plugin count at the end when printing out
9368           all features.
9369
9370 2005-10-04  Michael Smith <msmith@fluendo.com>
9371
9372         * gst/gsterror.c: (_gst_stream_errors_init):
9373           Add another error string used in a few existing plugins.
9374
9375         * gst/gstplugin.c:
9376         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9377         * tools/gst-inspect.c: (print_element_info):
9378           When a feature disappears from a plugin (and the feature exists in
9379           the cached registry file), things went horribly wrong. This isn't a
9380           complete fix, we should actually be removing the 'missing' features
9381           from the features list when we load the actual plugin. That's not
9382           yet implemented. 
9383
9384 2005-10-04  Johan Dahlin  <johan@gnome.org>
9385
9386         * check/gst/gstiterator.c: (GST_START_TEST):
9387         * gst/gstbin.c: (gst_bin_iterate_elements),
9388         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9389         * gst/gstelement.c: (gst_element_iterate_pads):
9390         * gst/gstformat.c: (gst_format_iterate_definitions):
9391         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9392         (gst_iterator_new_list), (gst_iterator_filter):
9393         * gst/gstiterator.h:
9394         * gst/gstquery.c: (gst_query_type_iterate_definitions):
9395         Add a GType to GstIterator, update callsites and tests.
9396
9397 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9398
9399         * gst/gstpad.c: (gst_pad_event_default_dispatch):
9400           give events a chance to be handled by event probes when the pad
9401           is not linked
9402
9403 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9404
9405         * gst/gstevent.c: (gst_event_type_get_name),
9406         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9407         * gst/gstevent.h:
9408           add string representations for event types
9409
9410 2005-10-06  Wim Taymans  <wim@fluendo.com>
9411
9412         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9413         Don't use NULL pointers.
9414
9415 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9416
9417         * gst/gst_private.h:
9418         * gst/gstbus.c:
9419         * gst/gstelement.c:
9420         * gst/gstinfo.c:
9421         * gst/gstpluginfeature.c:
9422           widen the debug category in output to fit the biggest one we have
9423           add a bus category and use it
9424           play with the colors
9425           fix up some categories
9426
9427 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9428
9429         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9430           add push activation of sink ghost pads.
9431           Andye, please verify
9432
9433 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9434
9435         * gst/gstutils.c: (gst_element_link_pads):
9436           fix a bug in the case where neither element has a pad
9437         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9438           add a test for that case
9439
9440 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9441
9442         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9443           emit have-data before checking for peers.  This allows
9444           for probe handlers to connect elements.  This helps autopluggers.
9445         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9446         (gst_pad_suite):
9447           add six checks, linked/unlinked with no/true/false probe
9448
9449 2005-10-04  Wim Taymans  <wim@fluendo.com>
9450
9451         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9452         (gst_fake_sink_event), (gst_fake_sink_preroll),
9453         (gst_fake_sink_render), (gst_fake_sink_change_state):
9454         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9455         (gst_fake_src_get_property), (gst_fake_src_create),
9456         (gst_fake_src_stop):
9457         * gst/elements/gstidentity.c: (gst_identity_stop):
9458         Protect last_message with lock.
9459
9460 2005-10-04  Edward Hervey  <edward@fluendo.com>
9461
9462         * gst/gstformat.h: 
9463         Added precision in the comments for GST_FORMAT_DEFAULT
9464
9465 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
9466
9467         * tools/gst-launch.c: (main):
9468           Don't try to run erroneous pipelines.
9469
9470 2005-10-04  Julien MOUTTE  <julien@moutte.net>
9471
9472         * gst/gstbus.c: We don't need this header.
9473
9474 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9475
9476         * configure.ac:
9477           back to development
9478
9479 === release 0.9.3 ===
9480
9481 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9482
9483         * README:
9484         * configure.ac:
9485           Releasing 0.9.3, "Unregistered"
9486
9487 2005-10-03  Andy Wingo  <wingo@pobox.com>
9488
9489         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9490         whereby calling a pad's activatepush() function can start a thread
9491         that starts to push or pull before the pad gets the FLUSHING flag
9492         unset. Hack around it by holding the stream lock until the flag is
9493         set. Need to replace this with a proper solution. Together with
9494         the ghost pad fixes, this fixes mp3 playing/tagreading.
9495
9496         * docs/design/part-gstghostpad.txt: Add a note about activation of
9497         proxy pads outside of ghost pads.
9498
9499         * gst/gstghostpad.c: Implement the ghost pad activation design.
9500
9501 2005-10-02  Andy Wingo  <wingo@pobox.com>
9502
9503         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9504         It is volatile, after all.
9505
9506         * docs/design/part-gstghostpad.txt: Flesh out activation with
9507         ghost pads.
9508
9509         * gst/base/gstbasesrc.c (gst_base_src_init): Use
9510         GST_DEBUG_FUNCPTR.
9511
9512 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9513
9514         * configure.ac:
9515           Fix (unused) AM_CONDITIONAL tests.
9516
9517 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
9518
9519         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9520
9521         * gst/gstutils.c: (gst_pad_query_convert):
9522           Add assertion that makes sure src_val is >=0, just like
9523           gst_query_new_convert() has. (#315895)
9524
9525 2005-09-30  Edward Hervey  <edward@fluendo.com>
9526
9527         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
9528         Let's not iterate pads we're not interested in, it avoids getting 
9529         sky-high refcounts on sinkpad.
9530
9531 2005-09-30  Wim Taymans  <wim@fluendo.com>
9532
9533         * gst/gstelement.c: (gst_element_set_state),
9534         (gst_element_change_state):
9535         Small tweak, element in ASYNC remains ASYNC.
9536
9537 2005-09-30  Wim Taymans  <wim@fluendo.com>
9538
9539         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9540         Only error is an error.
9541
9542         * gst/gstbin.c: (gst_bin_change_state):
9543         Better debugging.
9544
9545         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
9546         Also call pad_block in pad alloc.
9547
9548         * gst/gstutils.c: (gst_flow_get_name):
9549         Better debugging.
9550
9551 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9552
9553         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9554         (gst_base_src_get_range):
9555           Fix documentation typos. Add some more debug info.
9556
9557 2005-09-29  David Schleef  <ds@schleef.org>
9558
9559         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9560           more end-user friendly.
9561         * tools/gst-inspect.c: (main): Check if command-line argument is
9562           a file and attempt to load that file as a plugin.
9563
9564 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9565
9566         * check/gst/gstbin.c:
9567         * check/states/sinks.c:
9568           fix tests for the new warning
9569         * check/gst/gstpipeline.c:
9570           add a test for pipeline and bus interaction
9571         * gst/gstelement.c:
9572           elements should be NULL if they get disposed; add a warning if not
9573
9574 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9575
9576         * gst/gstobject.c:
9577           for 2.6 refcounting, make debug log more correct by printing
9578           the actual refcounts at the time of swap (Wim)
9579
9580 2005-09-29  Andy Wingo  <wingo@pobox.com>
9581
9582         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9583         removes signal watches previously added via
9584         gst_bus_add_signal_watch.
9585         (gst_bus_add_signal_watch): Don't return the source id, just store
9586         it on the bus if there wasn't an id already.
9587
9588         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9589         add_signal_watch and remove_signal_watch.
9590
9591 2005-09-29  Edward Hervey  <edward@fluendo.com>
9592
9593         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
9594         Better if we actually iterate the list :)
9595
9596 2005-09-29  Wim Taymans  <wim@fluendo.com>
9597
9598         * check/gst/gstbin.c: (GST_START_TEST):
9599         Change for new bus API.
9600
9601         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9602         (send_messages), (GST_START_TEST), (gstbus_suite):
9603         Change for new bus signal API.
9604
9605         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9606         (gst_bus_source_prepare), (gst_bus_source_check),
9607         (gst_bus_create_watch), (gst_bus_add_watch_full),
9608         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9609         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9610         * gst/gstbus.h:
9611         Remove support for multiple GSources operating on different
9612         message types as it is too complex and unneeded when using
9613         signals.
9614         Added support for receiving signals from the bus.
9615
9616 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9617
9618         * docs/libs/tmpl/gstdataprotocol.sgml:
9619         * docs/manual/advanced-dataaccess.xml:
9620         * gst/elements/gstcapsfilter.c:
9621         * gst/gstutils.c:
9622           rename filter-caps to caps property
9623
9624 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9625
9626         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9627           More robust fraction string parsing.
9628
9629         * docs/pwg/appendix-porting.xml:
9630           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9631
9632 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9633
9634         * gst/gstcaps.c: (gst_caps_do_simplify):
9635           Thou shalt not free a structure and then continue using it
9636           in the next loop iteration.
9637
9638         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9639         (gst_caps_suite):
9640           Add test case for caps simplification.
9641
9642 2005-09-29  Wim Taymans  <wim@fluendo.com>
9643
9644         * check/gst/gstbin.c: (GST_START_TEST):
9645         Oops.
9646
9647 2005-09-29  Wim Taymans  <wim@fluendo.com>
9648
9649         * check/gst/gstbin.c: (GST_START_TEST):
9650         Add bus to bin.
9651
9652         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9653         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9654         (find_element), (gst_bin_sort_iterator_next),
9655         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9656         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9657         (gst_bin_change_state), (gst_bin_dispose):
9658         A bin does not have a bus, it gets the bus from the parent.
9659
9660         * gst/gstelement.c: (gst_element_requires_clock),
9661         (gst_element_provides_clock), (gst_element_is_indexable),
9662         (gst_element_is_locked_state), (gst_element_change_state),
9663         (gst_element_set_bus_func):
9664         Small cleanups.
9665
9666         * gst/gstpipeline.c: (gst_pipeline_class_init),
9667         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9668         The pipeline provides a bus.
9669
9670 2005-09-28  Johan Dahlin  <johan@gnome.org>
9671
9672         * gst/gstmessage.c (gst_message_parse_state_changed): Use
9673         gst_structure_get_enum instead of gst_structure_get_int
9674
9675         * gst/gststructure.c (gst_structure_get_enum): Impl.
9676
9677         * gst/gststructure.h (gst_structure_get_enum): Add
9678
9679         * docs/gst/gstreamer-sections.txt: Ditto
9680
9681         * gst/gstmessage.c (gst_message_new_state_changed): Use
9682         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
9683         which does introspection.
9684         Reviewed by Christian Schaller
9685
9686 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9687
9688         * gst/gstinfo.c: (gst_debug_log_default):
9689           don't do dummy g_strdup()s
9690         * libs/gst/controller/gstcontroller.c:
9691         (on_object_controlled_property_changed),
9692         (gst_controlled_property_new), (gst_controller_new_valist),
9693         (gst_controller_new_list),
9694         (gst_controller_remove_properties_valist), (gst_controller_set),
9695         (gst_controller_get), (gst_controller_sync_values),
9696         (gst_controller_get_value_array), (_gst_controller_class_init),
9697         (gst_controller_get_type):
9698         * libs/gst/controller/gstcontroller.h:
9699         * libs/gst/controller/gstinterpolation.c:
9700         (gst_controlled_property_find_timed_value_node):
9701           convert // to /**/ comments
9702
9703 2005-09-28  Wim Taymans  <wim@fluendo.com>
9704
9705         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
9706         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
9707         (gst_bus_sync_signal_handler):
9708         * gst/gstbus.h:
9709         Added async-message and sync-message signals to the bus.
9710         Added helper BusFunc to emit signals for all posted messages.
9711
9712         * gst/gstmessage.c: (gst_message_type_get_name),
9713         (gst_message_type_to_quark), (gst_message_get_type):
9714         * gst/gstmessage.h:
9715         Register quarks for message names.
9716
9717 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9718
9719         * docs/libs/gstreamer-libs-sections.txt:
9720         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9721         (gst_controller_new_list):
9722         * libs/gst/controller/gstcontroller.h:
9723           added another constructor for language bindings
9724
9725 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9726
9727         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9728           add another check
9729         * gst/gstbus.c:
9730           add some doc
9731         * gst/gstinfo.c: (_gst_debug_init):
9732           slightly more readable color for refcount debugging
9733
9734 2005-09-28  Wim Taymans  <wim@fluendo.com>
9735
9736         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9737         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9738         (find_element), (gst_bin_sort_iterator_next),
9739         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9740         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9741         (gst_bin_change_state), (gst_bin_dispose):
9742         Small doc fixes. get_clock -> provide_clock.
9743
9744         * gst/gstelement.c: (gst_element_class_init),
9745         (gst_element_provides_clock), (gst_element_provide_clock),
9746         (gst_element_get_clock), (gst_element_commit_state),
9747         (gst_element_lost_state):
9748         * gst/gstelement.h:
9749         Make get/set_clock() symetric. Add provide_clock vmethod since
9750         that is actually what this function does.
9751
9752         * gst/gstpipeline.c: (gst_pipeline_class_init),
9753         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
9754         (gst_pipeline_get_clock):
9755         get_clock -> provide_clock.
9756
9757 2005-09-28  Andy Wingo  <wingo@pobox.com>
9758
9759         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
9760         lieu of real docs...
9761
9762         * gst/elements/gstfdsrc.c: Cleaned up a bit.
9763
9764 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
9765
9766         * gst/elements/gstcapsfilter.c:
9767         * gst/elements/gstfakesink.c:
9768         * gst/elements/gstfakesrc.c:
9769         * gst/elements/gstfdsink.c:
9770         * gst/elements/gstfdsrc.c:
9771         * gst/elements/gstfilesink.c:
9772         * gst/elements/gstfilesrc.c:
9773         * gst/elements/gstidentity.c:
9774         * gst/elements/gsttee.c:
9775         * gst/elements/gsttypefindelement.c:
9776           Make element details static.
9777
9778 2005-09-28  Wim Taymans  <wim@fluendo.com>
9779
9780         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9781         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9782         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9783         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9784         (gst_bin_change_state), (gst_bin_dispose):
9785         Some documentation updates.
9786         Clean up dispose handlers.
9787
9788         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
9789         * gst/gstpad.c: (gst_pad_dispose):
9790         Clean up dispose handler.
9791
9792         * gst/gstpipeline.c: (gst_pipeline_change_state):
9793         Removed spurious UNLOCK.
9794
9795 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
9796
9797         * docs/gst/gstreamer-sections.txt:
9798         * gst/base/gstbasesrc.h:
9799         * gst/gstelement.h:
9800         * gst/gstevent.h:
9801         * gst/gstobject.h:
9802         * gst/gstpad.h:
9803         * gst/gstpipeline.c:
9804         * gst/gstpipeline.h:
9805         * gst/gstutils.h:
9806         * gst/gstxml.h:
9807           added two new functions to the docs
9808                 documents all undocumented GstXXXFlags
9809                 completed some incomplete docs 
9810
9811 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9812
9813         * gst/gstbin.c: (gst_bin_dispose):
9814         * gst/gstelement.c: (gst_element_dispose):
9815           remove now useless and leaky resurrection code in dispose
9816         * gst/base/gstbasesrc.c: (gst_base_src_init):
9817         * gst/gstelementfactory.c: (gst_element_factory_create):
9818         * gst/gstobject.c: (gst_object_set_parent):
9819           add some debugging
9820
9821 2005-09-27  Wim Taymans  <wim@fluendo.com>
9822
9823         * docs/design/part-TODO.txt:
9824         Update TODO.
9825
9826         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9827         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9828         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9829         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9830         (gst_bin_change_state):
9831         * gst/gstelement.h:
9832         Remove element variable, we keep element info in the iterator now.
9833
9834 2005-09-27  Andy Wingo  <wingo@pobox.com>
9835
9836         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
9837         values.
9838
9839 2005-09-27  Wim Taymans  <wim@fluendo.com>
9840
9841         * check/gst/gstbin.c: (GST_START_TEST):
9842         Enable check that works now.
9843
9844         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9845         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9846         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9847         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9848         (gst_bin_change_state):
9849         * gst/gstbin.h:
9850         Redid the state change algorithm using a topological sort algo.
9851         Handles all cases correctly.
9852         Exposed iterator for state change order.
9853
9854         * gst/gstelement.h:
9855         Temp storage for state changes. Need to get rid of this soon.
9856
9857 2005-09-27  Wim Taymans  <wim@fluendo.com>
9858
9859         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
9860         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
9861         (link_fold_func), (gst_pad_proxy_setcaps):
9862         Leak fixes, the fold functions need to unref the passed object and
9863         _get_parent_*() returns ref to parent.
9864
9865 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9866
9867         * check/gst/gstbuffer.c: (test_make_writable):
9868           Plug leak in test case and fix 'make check-valgrind'
9869
9870 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9871
9872         * gst/gstbuffer.c: (gst_subbuffer_init):
9873           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
9874           works correctly in all circumstances (we could have just copied
9875           the parent buffer's readonly flag, but conceptually it seems
9876           cleaner to mark all subbuffers as read-only). (based on patch
9877           by Alessandro Decina, #314710).
9878         
9879         * check/gst/gstbuffer.c: (create_read_only_buffer),
9880         (test_make_writable), (test_subbuffer_make_writable),
9881         (gst_test_suite):
9882           Add some tests for gst_buffer_make_writable().
9883
9884 2005-09-27  Wim Taymans  <wim@fluendo.com>
9885
9886         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
9887         use gst_object_has_ancestor().
9888
9889         * gst/gstobject.c: (gst_object_has_ancestor):
9890         * gst/gstobject.h:
9891         gst_object_has_ancestor() copied from gstbin.c as it is a
9892         usefull function.
9893
9894         * tests/instantiate/create.c: (create_all_elements):
9895         * tests/lat.c: (handoff_src), (handoff_sink):
9896         * tests/sched/runxml.c: (main):
9897         * tests/seeking/seeking1.c: (main):
9898         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9899         (main):
9900         Fix compilation of some tests.
9901
9902 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9903
9904         * gst/gsterror.h:
9905           Remove comment. GST_TYPE_G_ERROR is here to stay,
9906           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
9907           (#316961, #300610).
9908
9909 2005-09-26  Wim Taymans  <wim@fluendo.com>
9910
9911         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
9912         Added check that shows error in state change order.
9913
9914 2005-09-26  Wim Taymans  <wim@fluendo.com>
9915
9916         * gst/gstbin.c: (gst_bin_change_state):
9917         Make state change function use 3 queues again, we were
9918         adding elements in the wrong order.
9919
9920         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
9921         Some debug info,
9922
9923         * gst/gstpad.c: (gst_pad_dispose):
9924         Added some debug info first.
9925
9926 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
9927
9928         * docs/design/draft-push-pull.txt:
9929         * docs/design/part-events.txt:
9930         * docs/design/part-overview.txt:
9931         * docs/design/part-scheduling.txt:
9932           Replace all _pull_region() with _pull_range()
9933           
9934 2005-09-26  Andy Wingo  <wingo@pobox.com>
9935
9936         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
9937
9938         * check/gst-libs/controller.c: Update for controller api change.
9939
9940         * configure.ac: 
9941         * tests/Makefile.am:
9942         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
9943         over by GLib bug 118439.
9944         
9945         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
9946         routines to a function.
9947
9948         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
9949
9950         * libs/gst/controller/gsthelper.c:
9951         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
9952         (gst_object_sync_values): Renamed from sink_values. Ugh.
9953
9954         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
9955
9956         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
9957         Renamed from controller_key, as it is exported.
9958
9959         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
9960
9961 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
9962
9963         * gst/Makefile.am:
9964         * gst/gst.h:
9965         * gst/gstpad.h:
9966         * gst/gstpadtemplate.h:
9967         * gst/gstquery.c:
9968         * gst/gstquery.h:
9969         * gst/gstqueryutils.c:
9970         * gst/gstqueryutils.h:
9971           remove queryutils headers after moving the two used functions
9972           to gstquery.  also fixes build problem for gstsiddec
9973
9974 2005-09-26  Michael Smith <msmith@fluendo.com>
9975
9976         * tools/gst-launch.1.in:
9977         Correct documentation in manpage of debug syntax
9978
9979 2005-09-26  Wim Taymans  <wim@fluendo.com>
9980
9981         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
9982         (gst_base_src_is_seekable), (gst_base_src_change_state):
9983         Some more debugging info.
9984
9985 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9986
9987         * docs/gst/gstreamer-sections.txt:
9988         * gst/base/gstbasetransform.h:
9989         * gst/gstindex.h:
9990           added more docs
9991
9992 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
9993
9994         * docs/gst/.cvsignore:
9995         * docs/gst/tmpl/.cvsignore:
9996         * docs/gst/tmpl/gstpipeline.sgml:
9997         * docs/gst/tmpl/gstplugin.sgml:
9998         * gst/gstpipeline.c:
9999         * gst/gstplugin.c:
10000         * gst/gstplugin.h:
10001           inlined the last two docs files
10002           removed the tmpl directory from cvs (no more conflicts here!)
10003
10004 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10005
10006         * docs/gst/gstreamer-sections.txt:
10007         * docs/gst/tmpl/.cvsignore:
10008         * docs/gst/tmpl/gstpad.sgml:
10009         * docs/gst/tmpl/gstpadtemplate.sgml:
10010         * gst/Makefile.am:
10011         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10012         (gst_pad_finalize), (gst_pad_set_pad_template):
10013         * gst/gstpad.h:
10014         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10015         (gst_pad_template_class_init), (gst_pad_template_init),
10016         (gst_pad_template_dispose), (name_is_valid),
10017         (gst_static_pad_template_get), (gst_pad_template_new),
10018         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10019         (gst_pad_template_pad_created):
10020         * gst/gstpadtemplate.h:
10021           inlined two more docs
10022           factored gstpadtemplate out of gstpad
10023
10024 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
10025
10026         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10027         (test_children_state_change_order_semi_sink):
10028           Fix test case: we can't rely on a fixed state change order when
10029           going from READY => PAUSED because the sink might commit its 
10030           new state first when the first buffer created by the source 
10031           reaches the sink before the source has finished its change state.
10032           (Test case still fails at times, see #316856, comment 5 onwards)
10033
10034 2005-09-24  Wim Taymans  <wim@fluendo.com>
10035
10036         * docs/design/part-events.txt:
10037         * docs/design/part-gstbus.txt:
10038         * docs/design/part-gstpipeline.txt:
10039         * docs/design/part-messages.txt:
10040         * docs/design/part-overview.txt:
10041         * docs/design/part-segments.txt:
10042         * gst/gstbin.c:
10043         * gst/gstbuffer.c:
10044         * gst/gstclock.c:
10045         * gst/gstelement.c:
10046         * gst/gstevent.c:
10047         * gst/gstfilter.c:
10048         * gst/gstiterator.c:
10049         Various documentation updates.
10050
10051 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10052
10053         * gst/gstclock.h:
10054           Well, that's embarassing.  Luckily we weren't using
10055           GST_CLOCK_DIFF anywhere.
10056
10057 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10058
10059         * common/gtk-doc.mak:
10060           don't fail on building XML, FC4 slave shows a bunch of doc
10061           missing bits that I don't get
10062         * gst/gstpad.c:
10063         * gst/gstpipeline.c:
10064         * gst/gststructure.c:
10065           some doc updates
10066
10067 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10068
10069         * docs/design/part-gstbin.txt:
10070         * docs/design/part-gstbus.txt:
10071         * gst/gstbus.c:
10072           Add blurb about how the bus goes into flushing mode and
10073           drops all messages when its bin goes from READY into NULL 
10074           state.
10075
10076 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10077
10078         * docs/gst/gstreamer-sections.txt:
10079         * gst/gststructure.c: (gst_structure_get_clock_time):
10080         * gst/gststructure.h:
10081           add a method to get a GstClockTime out of a structure
10082
10083 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10084
10085         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10086         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10087           Added test to check state change order in bins (can still be made
10088           to fail here under heavy disk load; bails out with 'Push on pad
10089           fakesink:sink0, but it was not activated in push mode').
10090
10091         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10092           Fix state change order when there is only a semi sink (#316856)
10093
10094         * gst/gstbus.c: (gst_bus_class_init):
10095           Use _class_peek_parent(), not _class_ref(); fix docs to say
10096           'default main context' instead of 'mainloop' where that is
10097           what's meant.
10098
10099         * gst/gstelement.c: (gst_element_commit_state),
10100         (gst_element_set_state):
10101           Fix typos in debug messages
10102
10103 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10104
10105         * docs/README:
10106         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10107         * gst/gstpluginfeature.c:
10108         * gst/gstutils.c:
10109           various doc updates
10110         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10111           change an assert into an error until it gets fixed properly
10112
10113 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10114
10115         * docs/gst/gstreamer-sections.txt:
10116         * docs/gst/tmpl/.cvsignore:
10117         * docs/gst/tmpl/gstelement.sgml:
10118         * docs/gst/tmpl/gstinfo.sgml:
10119         * docs/gst/tmpl/gstobject.sgml:
10120         * gst/gstelement.c:
10121         * gst/gstelement.h:
10122         * gst/gstinfo.c:
10123         * gst/gstinfo.h:
10124         * gst/gstobject.c: (gst_object_class_init):
10125         * gst/gstobject.h:
10126           inlined 3 more biiiig doc files and added some missing docs on the fly
10127
10128 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10129
10130         * check/gst/.cvsignore:
10131         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10132         * gst/gstregistryxml.c: (load_plugin),
10133         (gst_registry_xml_save_plugin):
10134           put back source in registry.  add checks for find_plugin.
10135         * testsuite/states/bin.c: (assert_state), (empty_bin),
10136         (test_adding_one_element), (main):
10137         * testsuite/states/locked.c: (main):
10138           some compile/run fixes
10139
10140 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10141
10142         * check/gst/gstvalue.c: (GST_START_TEST):
10143           fix leaks in the test itself
10144
10145 2005-09-22  Wim Taymans  <wim@fluendo.com>
10146
10147         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10148         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10149         (gst_base_sink_query):
10150         Prepare for more accurate position reporting and query
10151         handling.
10152
10153         * gst/gstelement.c: (gst_element_send_event),
10154         (gst_element_set_state):
10155         Add some comment.
10156
10157 2005-09-22  Wim Taymans  <wim@fluendo.com>
10158
10159         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10160         (gst_query_parse_segment):
10161         * gst/gstquery.h:
10162         More documentation.
10163         Add segment query for future use.
10164
10165 2005-09-22  Wim Taymans  <wim@fluendo.com>
10166
10167         * gst/gstbin.c: (gst_bin_add_func):
10168         Some more debug info.
10169
10170         * gst/gstelement.c: (gst_element_send_event):
10171         Simplify send_event
10172
10173         * gst/gstelement.h:
10174         Don't know how flags got broken.
10175
10176         * gst/gstquery.h:
10177         Added new query.
10178
10179 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10180
10181         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10182           Add simplistic test suite for GST_TYPE_DATE serialisation and
10183           deserialisation.
10184
10185 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10186
10187         * docs/gst/gstreamer-sections.txt:
10188         * gst/gststructure.c: (gst_structure_set_valist),
10189         (gst_structure_get_date):
10190         * gst/gststructure.h:
10191         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10192         (gst_date_copy), (gst_value_compare_date),
10193         (gst_value_serialize_date), (gst_value_deserialize_date),
10194         (gst_value_transform_date_string),
10195         (gst_value_transform_string_date), (_gst_value_initialize):
10196         * gst/gstvalue.h:
10197           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10198           bunch of utility functions along with a hack that checks that
10199           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10200           is required. Part of the grand scheme in #170777.
10201
10202 2005-09-22  Andy Wingo  <wingo@pobox.com>
10203
10204         * gst/gstconfig.h.in: Psych out gtk-doc.
10205
10206         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10207
10208         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10209
10210         * tools/gst-inspect.c (print_element_list): Plug some
10211         inconsequential leaks.
10212
10213         * gst/gstregistry.c (gst_registry_get_default): Doc.
10214
10215         * check/gst/gstplugin.c: 
10216         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10217         * gst/gstelementfactory.c (gst_element_factory_create): 
10218         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10219         refcount changes.
10220
10221         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10222         (gst_plugin_feature_load): Doc, don't eat refs.
10223
10224         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10225         (gst_plugin_list_free): Doc.
10226         (gst_plugin_load_file): Doc updates.
10227
10228         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10229         accessors returning refcounted objects, return a ref.
10230
10231         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10232         accessor for caps. IDEMPOTENCE. Oh yes.
10233
10234 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10235
10236         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10237
10238         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10239         (_gst_debug_register_funcptr):
10240           Add mutex to serialise access to the hash table with
10241           the function pointer => function name string mapping;
10242           make that hash table static scope (#316809).
10243
10244         * gst/registries/.cvsignore:
10245           Remove left-over file.
10246
10247 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10248
10249         * docs/pwg/appendix-porting.xml:
10250           And something about newsegment events and caps-on-buffers to
10251           the porting guide (feel free to improve).
10252
10253 2005-09-21  Andy Wingo  <wingo@pobox.com>
10254
10255         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10256         data and event probes on the same pad.
10257         (test_buffer_probe_once): Test that removing probes from within
10258         the probe functions works.
10259
10260 2005-09-21  Andy Wingo  <wingo@pobox.com>
10261
10262         * check/gst/gstutils.c: New file.
10263         (test_buffer_probe_n_times): A simple buffer probe test. More to
10264         come, foolios.
10265
10266         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10267         have-data::buffer, not have-data.
10268         (gst_pad_add_event_probe): Likewise for have-data::event.
10269         (gst_pad_add_data_probe): More docs. The part about 'resolving the
10270         peer' isn't quite right yet though.
10271         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
10272         (gst_pad_remove_data_probe): Change to take the guint handler_id
10273         as their arg, not the function+data, which is more glib-like.
10274
10275         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10276         the signal emission to indicate if the data is a buffer or an
10277         event.
10278         (gst_pad_get_type): Initialize buffer and event quarks.
10279         (gst_pad_class_init): have-data is now a detailed signal, yes it
10280         is.
10281
10282 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10283
10284         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10285         * gst/gstutils.c: (gst_util_set_value_from_string),
10286         (gst_util_set_object_arg):
10287           Don't put functional code in g_return_if_fail() or
10288           g_return_val_if_fail() statements, otherwise things will 
10289           break when G_DISABLE_CHECKS is defined during compilation.
10290
10291 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10292
10293         * docs/gst/tmpl/.cvsignore:
10294         * docs/gst/tmpl/gstvalue.sgml:
10295         * gst/gstvalue.c:
10296         * gst/gstvalue.h:
10297           inlied another one and added  some obvious docs
10298
10299 2005-09-21  Wim Taymans  <wim@fluendo.com>
10300
10301         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10302         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10303         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10304         (gst_fdsrc_get_property), (gst_fdsrc_create):
10305         * gst/elements/gstfdsrc.h:
10306         Properly implement fdsrc. Removed signal and timeout,
10307         better implemented somewhere else.
10308
10309 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10310
10311         * docs/gst/tmpl/.cvsignore:
10312         * docs/gst/tmpl/gstimplementsinterface.sgml:
10313         * gst/gstinterface.c:
10314           inlined more docs
10315
10316 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10317
10318         * docs/gst/gstreamer-sections.txt:
10319         * docs/gst/tmpl/.cvsignore:
10320         * docs/gst/tmpl/gstenumtypes.sgml:
10321           remove obsolete doc file
10322
10323 2005-09-21  David Schleef  <ds@schleef.org>
10324
10325         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10326         little beer, fix a little leak.
10327
10328 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10329
10330         * docs/gst/gstreamer-docs.sgml:
10331         * docs/gst/gstreamer-sections.txt:
10332         * docs/gst/tmpl/.cvsignore:
10333         * gst/Makefile.am:
10334         * gst/gst.h:
10335         * gst/gstbin.c:
10336         * gst/gstelement.h:
10337         * gst/gstindex.c: (gst_index_class_init):
10338         * gst/gstindex.h:
10339         * gst/gstindexfactory.c: (gst_index_factory_get_type),
10340         (gst_index_factory_class_init), (gst_index_factory_init),
10341         (gst_index_factory_finalize), (gst_index_factory_new),
10342         (gst_index_factory_destroy), (gst_index_factory_find),
10343         (gst_index_factory_create), (gst_index_factory_make):
10344         * gst/gstindexfactory.h:
10345         * gst/gstpluginfeature.c:
10346         * gst/gstpluginfeature.h:
10347         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10348           more docs inlined, splitted gstindex.{c,h}
10349
10350 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10351
10352         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10353           fix a leak
10354
10355 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10356
10357         * gst/elements/gstfilesink.c: (gst_file_sink_init):
10358           Set sync to FALSE by default.
10359
10360 2005-09-20  Wim Taymans  <wim@fluendo.com>
10361
10362         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10363         (gst_base_sink_init):
10364         Make sync property settable from subclass.
10365
10366         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10367         (gst_fake_sink_change_state):
10368         Set sync to FALSE by default.
10369
10370 2005-09-20  Wim Taymans  <wim@fluendo.com>
10371
10372         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10373         * tools/gst-launch.c: (main):
10374         The timeout handler should have lower priority than the source
10375         so we don't timeout before popping a message with 0 timeout.
10376         Dump error messages after failed state change.
10377
10378 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10379
10380         * tools/gst-inspect.c: (print_element_properties_info):
10381           Fix two typos.
10382
10383 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10384
10385         * check/gst/gstevent.c:
10386         * gst/elements/gstfakesink.c:
10387         * gst/elements/gstfakesink.h:
10388           remove the sync property from fakesink.
10389           has the side effect of setting sync TRUE
10390           for fakesink, which is a change.  Anyone who knows how
10391           to fix this nicely in a GObject-y way, feel free.
10392
10393 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10394
10395         * docs/gst/gstreamer-docs.sgml:
10396           remove probe refsection
10397
10398 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10399
10400         * check/Makefile.am:
10401           disable valgrinding the controller test again
10402         * docs/gst/gstreamer-sections.txt:
10403           update for api-changes
10404
10405 2005-09-20  Wim Taymans  <wim@fluendo.com>
10406
10407         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10408         (gst_base_sink_set_property), (gst_base_sink_get_property),
10409         (gst_base_sink_do_sync):
10410         * gst/base/gstbasesink.h:
10411         Added sync property to basesink to disable clock sync.
10412
10413 2005-09-20  Andy Wingo  <wingo@pobox.com>
10414
10415         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10416         eating the caller's refcount.
10417
10418         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
10419         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10420         refcount.
10421
10422         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10423         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10424         of GLib 2.8 public, so we can know which refcount to check in
10425         tests.
10426
10427         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10428         (gst_object_init): Only set the gst refcount if we're going ahead
10429         with the refcount hack.
10430
10431 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10432
10433         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10434         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10435           more leaks plumbed, added more debug-logging
10436         * gst/gstmacros.h:
10437           whitespace fix
10438
10439 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10440
10441         * gst/gstmessage.c:
10442           remove include of gstmemchunk.h
10443
10444 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10445
10446         * gst/gstclock.c: (_gst_clock_id_free):
10447           Commit from the Political Party For More Atomic CVS Commits,
10448           so that people don't waste too much of their day fishing
10449           out obvious leaks out of massive commits.
10450           Oh, and fix a pretty damn obvious leak in the memchunk
10451           removal code.
10452
10453 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10454
10455         * check/Makefile.am:
10456         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10457           plug mem-leak, re-add to valgrindable tests
10458
10459 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10460
10461         * gst/gstplugin.h:
10462           unbreak the build for those who have chronic arthritis
10463           and typing "make check" is just too taxing on the hands
10464
10465 2005-09-20  Andy Wingo  <wingo@pobox.com>
10466
10467         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10468         really want it out, you should fix plugins at the same time.
10469
10470 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
10471
10472         * configure.ac:
10473         * docs/gst/gstreamer-sections.txt:
10474         * gst/gstobject.c:
10475           added missing symbols to api docs
10476           disable ref-count hack if we have glib >= 2.8
10477
10478 2005-09-19  David Schleef  <ds@schleef.org>
10479
10480         * docs/gst/Makefile.am: Ignore a few more internal headers
10481         * docs/gst/gstreamer-docs.sgml: Remove old sections
10482         * docs/gst/gstreamer-sections.txt: Remove old sections
10483         * docs/gst/tmpl/gstobject.sgml: update
10484         * docs/gst/tmpl/gstplugin.sgml: update
10485         * docs/gst/tmpl/gstpluginfeature.sgml: update
10486         * docs/random/ds/0.9-suggested-changes: update.
10487         * gst/Makefile.am: remove memchunk and trashstack, since they're
10488           not used.
10489         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10490         * gst/gst.h: don't include some headers
10491         * gst/gstchildproxy.c: add gstmarshal.h
10492         * gst/gstclock.c: Don't use memchunks
10493         * gst/gstminiobject.c: Add some docs
10494         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10495         * gst/gstobject.h: same
10496         * gst/gstplugin.c: include gstmacros.h
10497         * gst/gstplugin.h: don't include gstmacros.h, since it's private
10498         * gst/gstquery.c: don't use memchunks
10499         * gst/gstregistry.c: rename gst_registry_deinit()
10500         * gst/gstregistry.h: same
10501
10502 2005-09-19  David Schleef  <ds@schleef.org>
10503
10504         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10505         * docs/libs/gstreamer-libs-sections.txt:
10506         * docs/libs/tmpl/gstgetbits.sgml:
10507         * docs/libs/tmpl/gstputbits.sgml:
10508
10509 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
10510
10511         * win32/gstenumtypes.c:
10512         * win32/gstenumtypes.h:
10513           Update.
10514
10515 2005-09-19  Wim Taymans  <wim@fluendo.com>
10516
10517         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
10518         Automatically PAUSE and RESUME a pipeline when a flushing seek
10519         is performed.
10520
10521 2005-09-19  Andy Wingo  <wingo@pobox.com>
10522
10523         * gst/gstregistry.h: Spacing fixen.
10524
10525 2005-09-19  Wim Taymans  <wim@fluendo.com>
10526
10527         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
10528         Handle state change failure more correctly.
10529
10530 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10531
10532         * check/Makefile.am:
10533         * check/pipelines/cleanup.c: (run_pipeline):
10534         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10535         (GST_START_TEST):
10536           enable cleanup again after fixing the leak
10537         * docs/README:
10538           some more info on docs
10539
10540 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10541
10542         * check/Makefile.am:
10543           re-enable tests now that leaks are plugged
10544         * check/gst/gst.c:
10545         * check/gst/gstbin.c:
10546         * check/gst/gstpipeline.c:
10547           add some more tests while fixing leaks
10548         * common/check.mak:
10549           make sure binaries are uptodate when valgrinding/gdbing
10550         * gst/gst.c:
10551         * gst/gstelementfactory.c:
10552           remove a ref too many, and add a FIXME for when we get
10553           round to disposing of classes
10554         * gst/gstplugin.c:
10555           fix the refcounting when loading a plugin from a file and
10556           the code pretends that the pointer is the same even though
10557           of course it can change
10558         * gst/gstpluginfeature.c:
10559           unref plugins marked cached (a bit confusing as a name)
10560           as the docs state should be done
10561           various doc additions to explain refcounting
10562         * gst/gstregistry.c:
10563         * gst/gstregistryxml.c:
10564           debugging
10565
10566 2005-09-19  Wim Taymans  <wim@fluendo.com>
10567
10568         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10569         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10570         (send_messages), (GST_START_TEST), (gstbus_suite):
10571         * check/gst/gstpipeline.c: (GST_START_TEST):
10572         * check/pipelines/cleanup.c: (run_pipeline):
10573         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10574         (GST_START_TEST):
10575         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10576         (gst_bus_source_check), (gst_bus_source_dispatch),
10577         (gst_bus_create_watch), (gst_bus_add_watch_full),
10578         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10579         * gst/gstbus.h:
10580         * tools/gst-launch.c: (event_loop):
10581         * tools/gst-md5sum.c: (event_loop):
10582         GstBusHandler -> GstBusFunc, return value has the same meaning as
10583         any other GSource (FALSE == remove source).
10584         _add_watch() and _add_watch_full() now take a MessageType mask to
10585         only handle specific types of messages.
10586         _poll() returns the GstMessage instead of the message type to avoid
10587         race conditions.
10588         _have_pending() takes a MessageType mask now too.
10589         Added testsuite for multiple bus watches.
10590         Fix testsuites and applications for new bus API.
10591
10592 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10593
10594         * check/Makefile.am:
10595           mark a bunch of the tests as to fix until we fix them
10596
10597 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10598
10599         * common/check.mak:
10600           use GST_PLUGIN settings for valgrind tests as well, so we're
10601           valgrinding the correct thing
10602         * gst/gst.c: (init_post):
10603           plug another leak
10604
10605 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10606
10607         * gst/gst.c: (init_post), (gst_deinit):
10608         * gst/gstelementfactory.c: (gst_element_factory_class_init),
10609         (gst_element_factory_finalize), (gst_element_factory_cleanup):
10610         * gst/gstindex.c: (gst_index_factory_class_init),
10611         (gst_index_factory_finalize):
10612         * gst/gstobject.c: (gst_object_dispose):
10613         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10614         (gst_plugin_load_file), (gst_plugin_desc_free):
10615         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10616         (gst_plugin_feature_finalize):
10617         * gst/gstregistry.c: (gst_registry_class_init),
10618         (gst_registry_init), (gst_registry_finalize),
10619         (gst_registry_get_default), (gst_registry_deinit):
10620         * gst/gstregistry.h:
10621         * gst/gstregistryxml.c: (load_feature), (load_plugin):
10622           various cleanups and memleak plugging.  make valgrind is happy now.
10623
10624 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10625
10626         * common/check.mak:
10627           add a check-valgrind target
10628
10629 2005-09-18  David Schleef  <ds@schleef.org>
10630
10631         * tools/gst-inspect.c: Revert the GOption code.
10632
10633 2005-09-17  David Schleef  <ds@schleef.org>
10634
10635         * check/Makefile.am: Fix environment variables.
10636         * check/gst/gstplugin.c: Fix for API changes.
10637         * tools/gst-inspect.c: Fix for API changes.
10638         * tools/gst-xmlinspect.c: Fix for API changes.
10639         * gst/gstelementfactory.c:
10640         * gst/gstplugin.c:
10641         * gst/gstplugin.h:
10642         * gst/gstpluginfeature.c:
10643         * gst/gstpluginfeature.h:
10644         * gst/gstregistry.c:
10645         * gst/gstregistry.h:
10646         * gst/gstregistryxml.c:
10647         * gst/gsttypefind.c:
10648         * gst/gsttypefindfactory.c:
10649         * gst/indexers/gstfileindex.c:
10650         * gst/indexers/gstmemindex.c:
10651         * gst/schedulers/Makefile.am:
10652           Change registry to keep track of both plugins and features,
10653           removing the feature tracking from plugins themselves.
10654
10655 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10656
10657         * check/Makefile.am:
10658         * tools/gst-register.1.in:
10659           remove gst-register
10660
10661 2005-09-15  David Schleef  <ds@schleef.org>
10662
10663         * check/gst/gstplugin.c:
10664         * gst/gstelementfactory.c:
10665         * gst/gstplugin.c:
10666         * gst/gstpluginfeature.c:
10667         * gst/gstregistry.c:
10668           Getting tired of debugging.  Disabled all the unreffing of
10669           plugins and features, which fixes the segfaults, but of
10670           course leaks like crazy.  At least playbin works.
10671
10672 2005-09-15  David Schleef  <ds@schleef.org>
10673
10674         * check/gst/gstplugin.c: (register_check_elements),
10675         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10676         More testing
10677         * gst/elements/gsttypefindelement.c: Fix refcounting.
10678         * gst/gsttypefind.c:
10679         * gst/gsttypefindfactory.c:
10680         * gst/gsttypefindfactory.h:
10681
10682 2005-09-15  David Schleef  <ds@schleef.org>
10683
10684         * gst/gstindex.c: get refcounting correct.
10685         * gst/gstregistry.c: Handle the case where a feature/plugin is
10686           not found.
10687
10688 2005-09-15  David Schleef  <ds@schleef.org>
10689
10690         * check/Makefile.am:
10691         * check/gst/gstplugin.c: Add test
10692         * gst/gstplugin.c: Fix problems noticed by testsuite
10693         * gst/gstplugin.h:
10694         * gst/gstregistry.c: 
10695         * gst/gstregistry.h:
10696
10697 2005-09-15  David Schleef  <ds@schleef.org>
10698
10699         * gst/gstplugin.c: Implement semi-decent recounting and locking
10700           in plugins and plugin features.
10701         * gst/gstplugin.h:
10702         * gst/gstpluginfeature.c:
10703         * gst/gstpluginfeature.h:
10704         * gst/gstregistry.c:
10705
10706 2005-09-15  Michael Smith <msmith@fluendo.com>
10707
10708         * gst/gstregistry.c: (gst_registry_get_feature_list):
10709           Implement this. Makes oggdemux work; decodebin still broken.
10710
10711 2005-09-14  David Schleef  <ds@schleef.org>
10712
10713         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
10714           #316076)
10715         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
10716         * gst/check/Makefile.am:
10717         * libs/gst/controller/Makefile.am:
10718         * libs/gst/dataprotocol/Makefile.am:
10719
10720 2005-09-14  David Schleef  <ds@schleef.org>
10721
10722         * configure.ac: Remove getbits library.  Nothing uses it, and
10723           it should be in something like liboil if someone did want
10724           to use it.
10725         * libs/gst/Makefile.am:
10726         * libs/gst/getbits/Makefile.am:
10727         * libs/gst/getbits/gbtest.c:
10728         * libs/gst/getbits/getbits.c:
10729         * libs/gst/getbits/getbits.h:
10730         * libs/gst/getbits/gstgetbits_generic.c:
10731         * libs/gst/getbits/gstgetbits_i386.s:
10732         * libs/gst/getbits/gstgetbits_inl.h:
10733
10734 2005-09-14  David Schleef  <ds@schleef.org>
10735
10736         * gst/Makefile.am: Dist glib-compat.h
10737
10738 2005-09-14  David Schleef  <ds@schleef.org>
10739
10740         * configure.ac: Remove gst/registries, since it's no longer used.
10741         * gst/registries/Makefile.am:
10742         * gst/registries/gstlibxmlregistry.c:
10743         * gst/registries/gstlibxmlregistry.h:
10744         * gst/registries/gstxmlregistry.c:
10745         * gst/registries/gstxmlregistry.h:
10746         * gst/registries/registrytest.c:
10747
10748 2005-09-14  David Schleef  <ds@schleef.org>
10749
10750         * gst/glib-compat.h:
10751         * gst/gstregistryxml.c:
10752           Convergence is near.  Seriously.
10753
10754 2005-09-14  David Schleef  <ds@schleef.org>
10755
10756         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10757         * gst/glib-compat.h:
10758           Attempt #4 to appease the buildbots.
10759
10760 2005-09-14  David Schleef  <ds@schleef.org>
10761
10762         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10763           Attempt #3.
10764
10765 2005-09-14  David Schleef  <ds@schleef.org>
10766
10767         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10768         Attempt #2.
10769
10770 2005-09-14  David Schleef  <ds@schleef.org>
10771
10772         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
10773           the new functions.
10774
10775 2005-09-14  David Schleef  <ds@schleef.org>
10776
10777         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10778         * gst/glib-compat.h: Add some functions that are in newer versions
10779           of glib than we care to require.
10780         * gst/gstregistryxml.c: Use them.
10781
10782 2005-09-14  David Schleef  <ds@schleef.org>
10783
10784         * po/POTFILES.in: remove gst-register.c
10785
10786 2005-09-14  David Schleef  <ds@schleef.org>
10787
10788         * docs/gst/gstreamer-docs.sgml:
10789         * docs/gst/gstreamer-sections.txt:
10790         * docs/gst/gstreamer.types:
10791         * docs/gst/tmpl/gstelement.sgml:
10792         * docs/gst/tmpl/gstplugin.sgml:
10793         * docs/gst/tmpl/gstpluginfeature.sgml:
10794           Documentation updates for registry changes.
10795
10796 2005-09-14  David Schleef  <ds@schleef.org>
10797
10798         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
10799           because we don't require glib-2.8.
10800
10801 2005-09-14  David Schleef  <ds@schleef.org>
10802
10803         * gst/gstregistryxml.c: Added.  Essentially moved out of the
10804           registries directory.
10805
10806 2005-09-14  David Schleef  <ds@schleef.org>
10807
10808         * check/Makefile.am:
10809         * check/generic/states.c:
10810         * gst/Makefile.am:
10811         * gst/gst.c:
10812         * gst/gst.h:
10813         * gst/gst_private.h:
10814         * gst/gstelementfactory.c:
10815         * gst/gstindex.c:
10816         * gst/gstinfo.c:
10817         * gst/gstplugin.c:
10818         * gst/gstplugin.h:
10819         * gst/gstpluginfeature.c:
10820         * gst/gstpluginfeature.h:
10821         * gst/gstregistry.c:
10822         * gst/gstregistry.h:
10823         * gst/gstregistrypool.c: remove
10824         * gst/gstregistrypool.h: remove
10825         * gst/gsttypefind.c:
10826         * gst/gsttypefindfactory.c:
10827         * gst/gsturi.c:
10828         * tools/Makefile.am:
10829         * tools/gst-compprep.c:
10830         * tools/gst-inspect.c:
10831         * tools/gst-register.c: remove
10832         * tools/gst-xmlinspect.c:
10833           Registry rewrite.  Changes registry from being a file created
10834           by a tool into a simple cache file created automatically by 
10835           libgstreamer.  Removed gst-register (because it's no longer
10836           needed).  Remove registry pools, because we only have one
10837           registry implementation (XML).  Fix up other subsystems as
10838           necessary.
10839
10840 2005-09-13  Michael Smith <msmith@fluendo.com>
10841
10842         * gst/gstconfig.h.in:
10843           Don't Use windows linking attributes for MinGW. Fixes #316157
10844
10845 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10846
10847         * gst/gstutils.c: (set_state_async_thread_func),
10848         (gst_element_set_state_async):
10849           Apparently people think it's better if this function doesn't
10850           try to set the state to whatever state was asked for on the first
10851           call to this function for any object.  Seriously.
10852
10853 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10854
10855         * check/gst/gstpipeline.c: (GST_START_TEST):
10856         * docs/gst/gstreamer-sections.txt:
10857         * gst/gstutils.c: (set_state_async_thread_func),
10858         (gst_element_set_state_async):
10859         * gst/gstutils.h:
10860           add a "gst_element_set_state_async" method that
10861           sets the state and starts a thread to make sure the state
10862           change completes as best as it can
10863
10864 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10865
10866         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10867           codify design+behaviour in testsuite after discussion
10868
10869 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10870
10871         * docs/gst/tmpl/gstelement.sgml:
10872         * docs/manual/appendix-quotes.xml:
10873           add a quote
10874         * gst/gstelement.c: (gst_element_set_state):
10875           add some debug
10876
10877 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
10878
10879         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10880         (gst_base_transform_prepare_output_buf),
10881         (gst_base_transform_handle_buffer):
10882         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
10883         (gst_capsfilter_prepare_buf):
10884           Remove the requirement for sub-classes to call the parent
10885           implementation of prepare_output_buffer with a wrapper function.
10886           
10887         * gst/gsttaglist.h:
10888         * gst/gsttagsetter.h:
10889           Fix #define wrapper
10890
10891 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
10892
10893         * docs/gst/gstreamer-sections.txt:
10894           more doc cleanups
10895
10896 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10897
10898         * docs/gst/gstreamer-sections.txt:
10899         * docs/gst/tmpl/gstelement.sgml:
10900         * docs/gst/tmpl/gstplugin.sgml:
10901         * gst/gstminiobject.c:
10902         * gst/gstvalue.h:
10903           docs now stop throwing warnings
10904
10905 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10906
10907         * docs/gst/gstreamer-sections.txt:
10908         * docs/gst/gstreamer.types:
10909         * docs/gst/tmpl/gstpad.sgml:
10910         * docs/gst/tmpl/gsttypes.sgml:
10911         * gst/base/gstadapter.h:
10912         * gst/base/gstbasesink.h:
10913         * gst/base/gstbasesrc.h:
10914         * gst/gstbin.h:
10915         * gst/gstbuffer.h:
10916         * gst/gstbus.h:
10917         * gst/gstcaps.h:
10918         * gst/gstclock.h:
10919         * gst/gstelement.h:
10920         * gst/gstevent.h:
10921         * gst/gstmessage.h:
10922         * gst/gstpad.h:
10923         * gst/gststructure.c:
10924         * gst/registries/gstlibxmlregistry.h:
10925           various documentation fixes
10926
10927 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10928
10929         * docs/gst/gstreamer-sections.txt:
10930         * docs/gst/tmpl/gstvalue.sgml:
10931           rearrange gstvalue section
10932         * gst/gstutils.c: (gst_element_state_get_name):
10933           NONE -> VOID
10934         * gst/gstvalue.c: (_gst_value_initialize):
10935         * gst/gstvalue.h:
10936           doc updates
10937
10938 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
10939
10940         * check/gst-libs/controller.c:
10941           Header include fix.
10942         * gst/base/gstbasetransform.c:
10943         (gst_base_transform_default_prepare_buf),
10944         (gst_base_transform_handle_buffer):
10945         * gst/base/gstbasetransform.h:
10946           Some more basetransform changes and fixes to enable sub-classes
10947           that modify buffer metadata only.
10948         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
10949         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
10950         (gst_capsfilter_prepare_buf):
10951           If the output pad has fixed allowed caps and input buffers 
10952           don't have any, set the fixed caps on outgoing buffers.
10953
10954 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
10955         * check/elements/identity.c: (GST_START_TEST):
10956           Make the error a little clearer when the test fails because
10957           identity made a copy of the buffer.
10958         * docs/gst/gstreamer-sections.txt:
10959           New symbols in gstbasetransform.h
10960         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10961         (gst_base_transform_init), (gst_base_transform_transform_size),
10962         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
10963         (gst_base_transform_default_prepare_buf),
10964         (gst_base_transform_get_unit_size),
10965         (gst_base_transform_buffer_alloc),
10966         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
10967         (gst_base_transform_change_state),
10968         (gst_base_transform_set_passthrough),
10969         (gst_base_transform_set_in_place),
10970         (gst_base_transform_is_in_place):
10971         * gst/base/gstbasetransform.h:
10972           Change BaseTransform to separate in_place operate from same_caps
10973           output. in_place implies that the element can perform the transform
10974           on incoming buffers in-place, even if the caps on the output are
10975           different.
10976           Sub-class elements can now implement special buffer allocation
10977           methods for outgoing buffers if they wish to.
10978           Big documentation addition.
10979         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
10980         * gst/elements/gstelements.c:
10981           Changes for basetransform modifications.
10982         * gst/elements/Makefile.am:
10983         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
10984           Compile fix. Extra debug output.
10985
10986 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10987
10988         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
10989         (gst_pad_suite):
10990           add tests for valid pad naming
10991         * gst/check/gstcheck.c: (gst_check_log_message_func),
10992         (gst_check_log_critical_func):
10993           add ASSERT_WARNING
10994           remove printing of code, it is fragile when the code contains
10995           % and the line number is enough info
10996         * gst/check/gstcheck.h:
10997         * gst/gstpad.c: (gst_pad_template_new):
10998           fix memleaks
10999
11000 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11001
11002         * configure.ac:
11003           say what CHECK flags we use
11004         * docs/libs/gstreamer-libs.types:
11005         * libs/gst/controller/Makefile.am:
11006         * libs/gst/controller/gst-controller.c:
11007         * libs/gst/controller/gst-controller.h:
11008         * libs/gst/controller/gst-helper.c:
11009         * libs/gst/controller/gst-interpolation.c:
11010         * libs/gst/controller/gstcontroller.c:
11011         * libs/gst/controller/gsthelper.c:
11012         * libs/gst/controller/gstinterpolation.c:
11013         * tools/gst-inspect.c: (print_plugin_info):
11014           we don't use dashes in header names
11015
11016 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11017
11018         * check/Makefile.am:
11019         * check/gst/.cvsignore:
11020         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11021         (gst_pipeline_suite), (main):
11022           adding a test for pipelines and state changes
11023         * gst/gstutils.c: (get_state_func):
11024           add some debugging
11025         * gstreamer.spec.in:
11026           fix up spec file
11027
11028 2005-09-08  Michael Smith <msmith@fluendo.com>
11029
11030         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11031         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11032         (gst_file_src_is_seekable), (gst_file_src_get_size),
11033         (gst_file_src_start):
11034         * gst/elements/gstfilesrc.h:
11035           Various fixes for unseekable, unmmapable, and non-normal files, so
11036           that fallback to read() rather than mmap() works.
11037         * gst/gstevent.c: (gst_event_new_newsegment):
11038           Allow newsegment events with segment_start == segment_end, as will
11039           correctly happen if you use filesrc on a zero-size file, for
11040           example.
11041
11042 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11043
11044         * gst/gstplugin.c: (gst_plugin_load_file):
11045           Call g_module_close when we don't load the module
11046
11047         * gst/registries/gstlibxmlregistry.c:
11048         (gst_xml_registry_get_property):
11049           Port leak fix from 0.8
11050
11051 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11052
11053         * docs/gst/gstreamer-docs.sgml:
11054         * docs/gst/tmpl/.cvsignore:
11055         * docs/gst/tmpl/gsttrace.sgml:
11056         * docs/gst/tmpl/gsttrashstack.sgml:
11057         * gst/Makefile.am:
11058         * gst/gst.h:
11059         * gst/gstelement.h:
11060         * gst/gstevent.h:
11061         * gst/gstmessage.c:
11062         * gst/gstmessage.h:
11063         * gst/gsttag.c:
11064         * gst/gsttag.h:
11065         * gst/gsttaginterface.c:
11066         * gst/gsttaginterface.h:
11067         * gst/gsttaglist.c:
11068         * gst/gsttaglist.h:
11069         * gst/gsttagsetter.c:
11070         * gst/gsttagsetter.h:
11071         * gst/gsttrace.c:
11072         * gst/gsttrace.h:
11073         * gst/gsttrashstack.c:
11074           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11075           inlined docs for gsttrace, gsttrashstack
11076
11077 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11078
11079         * gst/Makefile.am:
11080         * gst/elements/gstbufferstore.h:
11081         * gst/elements/gsttypefindelement.c:
11082         * gst/elements/gsttypefindelement.h:
11083         * gst/gst.h:
11084         * gst/gsttypefind.c:
11085         * gst/gsttypefind.h:
11086         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11087         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11088         (gst_type_find_factory_dispose),
11089         (gst_type_find_factory_unload_thyself),
11090         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11091         (gst_type_find_factory_get_caps),
11092         (gst_type_find_factory_get_extensions),
11093         (gst_type_find_factory_call_function):
11094         * gst/gsttypefindfactory.h:
11095         * gst/registries/gstlibxmlregistry.c:
11096         * gst/registries/gstxmlregistry.c:
11097           splitted gsttypefind into gsttypefind, gsttypefindfactory
11098
11099 2005-09-07  Andy Wingo  <wingo@pobox.com>
11100
11101         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11102         condition whereby the pad's task function is entered before the
11103         pad_mode variable was set.
11104
11105 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11106
11107         * gst/gstpad.c: (gst_pad_alloc_buffer):
11108           Catch misbehaving pad_alloc functions that don't
11109           set up caps and do it for them.
11110
11111 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11112
11113         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11114           test for pipe!=NULL
11115         * docs/gst/tmpl/.cvsignore:
11116         * docs/gst/tmpl/gstmemchunk.sgml:
11117         * docs/gst/tmpl/gstparse.sgml:
11118         * docs/gst/tmpl/gsttaglist.sgml:
11119         * docs/gst/tmpl/gsttagsetter.sgml:
11120         * docs/gst/tmpl/gsttypefind.sgml:
11121         * docs/gst/tmpl/gsttypefindfactory.sgml:
11122         * gst/gstmemchunk.c:
11123         * gst/gstparse.c:
11124         * gst/gsttag.c:
11125         * gst/gsttaginterface.c:
11126         * gst/gsttypefind.c:
11127         * gst/gsttypefind.h:
11128           inlined more docs
11129
11130 === release 0.9.2 ===
11131
11132 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11133
11134         * NEWS:
11135         * RELEASE:
11136         * configure.ac:
11137           releasing 0.9.2, "South"
11138
11139 2005-09-05  Andy Wingo  <wingo@pobox.com>
11140
11141         * gst/registries/gstxmlregistry.h:
11142         * gst/registries/gstxmlregistry.c: Um... resurrect...
11143         
11144         * gst/registries/gstxmlregistry.h:
11145         * gst/registries/gstxmlregistry.c: and update to newer API.
11146         Incidentally they should be a bit faster now that they don't have
11147         to parse the caps.
11148         
11149 2005-09-05  Andy Wingo  <wingo@pobox.com>
11150
11151         * gst/registries/gstxmlregistry.h:
11152         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11153         replaced by the libxml registry a while back
11154
11155 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11156
11157         * docs/gst/tmpl/gstplugin.sgml:
11158         * gst/elements/gstelements.c:
11159         * gst/gst.c:
11160         * gst/gstplugin.c: (gst_plugin_register_func),
11161         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11162         (gst_plugin_get_source):
11163         * gst/gstplugin.h:
11164         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11165         (gst_xml_registry_save_plugin):
11166         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11167         (gst_xml_registry_save_plugin):
11168         * tools/gst-inspect.c: (print_plugin_info):
11169           add a "source" plugin description field, to represent the source
11170           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11171           will set it to PACKAGE, which is automake's idea of the name of
11172           the source project.
11173
11174 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11175
11176         * Makefile.am:
11177         * autogen.sh:
11178         * configure.ac:
11179         * docs/Makefile.am:
11180         * docs/faq/Makefile.am:
11181         * docs/gst/tmpl/gstelement.sgml:
11182         * docs/gst/tmpl/gsttypes.sgml:
11183         * docs/htmlinstall.mak:
11184         * docs/manual/Makefile.am:
11185         * docs/pwg/Makefile.am:
11186           reorganize doc build a little
11187           split out docbook and gtk-doc stuff
11188           have two separate --enable's and enable them through autogen
11189           but disable by default in configure (to be similar to other
11190           projects)
11191         * gstreamer.spec.in:
11192           clean up docs install
11193         * po/af.po:
11194         * po/az.po:
11195         * po/ca.po:
11196         * po/cs.po:
11197         * po/de.po:
11198         * po/en_GB.po:
11199         * po/fr.po:
11200         * po/it.po:
11201         * po/nb.po:
11202         * po/nl.po:
11203         * po/ru.po:
11204         * po/sq.po:
11205         * po/sr.po:
11206         * po/sv.po:
11207         * po/tr.po:
11208         * po/uk.po:
11209         * po/vi.po:
11210           translation updates
11211
11212 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11213
11214         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11215           Add comment.
11216           
11217         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11218         (gst_fake_sink_change_state):
11219           Make state change function thread-safe.
11220           
11221         * gst/gstpad.c: (gst_pad_alloc_buffer):
11222           Set offset on generic buffer allocated by fallback.
11223
11224 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11225
11226         * docs/gst/gstreamer-sections.txt:
11227         * docs/gst/tmpl/gstelement.sgml:
11228         * gst/gstpad.c:
11229         * libs/gst/controller/gst-controller.c:
11230         (gst_controlled_property_set_interpolation_mode),
11231         (gst_controlled_property_new),
11232         (gst_controller_find_controlled_property):
11233          run the wingo-magic script against the docs
11234
11235 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11236
11237         * docs/gst/gstreamer-docs.sgml:
11238         * docs/gst/gstreamer-sections.txt:
11239         * docs/gst/tmpl/.cvsignore:
11240         * docs/gst/tmpl/gstelementdetails.sgml:
11241         * docs/gst/tmpl/gstelementfactory.sgml:
11242         * gst/gst.c:
11243         * gst/gstbus.c:
11244         * gst/gstelementfactory.c:
11245         * gst/gstelementfactory.h:
11246           merged elementdetails docs into elementfactory docs
11247           inlined both
11248
11249 2005-09-02  Andy Wingo  <wingo@pobox.com>
11250
11251         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11252         consider this enum an enum and not a flags.
11253
11254 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11255
11256         * docs/gst/gstreamer-docs.sgml:
11257         * docs/gst/tmpl/.cvsignore:
11258         * docs/gst/tmpl/gstghostpad.sgml:
11259         * docs/gst/tmpl/gstiterator.sgml:
11260         * docs/gst/tmpl/gstmacros.sgml:
11261         * docs/gst/tmpl/gstrealpad.sgml:
11262         * docs/gst/tmpl/gstregistry.sgml:
11263         * docs/gst/tmpl/gstregistrypool.sgml:
11264         * docs/gst/tmpl/gststructure.sgml:
11265         * docs/gst/tmpl/gstsystemclock.sgml:
11266         * docs/gst/tmpl/gsttrace.sgml:
11267         * gst/gstghostpad.c:
11268         * gst/gstmacros.h:
11269         * gst/gstmemchunk.c:
11270         * gst/gstmemchunk.h:
11271         * gst/gstqueue.c:
11272         * gst/gstregistry.c:
11273         * gst/gstregistrypool.c:
11274         * gst/gststructure.c:
11275         * gst/gstsystemclock.c:
11276           more docs inlined
11277
11278 2005-09-02  Andy Wingo  <wingo@pobox.com>
11279
11280         * gst/gstelement.h (GstState): Renamed from GstElementState,
11281         changed to be a normal enum instead of flags.
11282         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11283         munged to be GST_STATE_CHANGE_*.
11284         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11285         work with the new state representation.
11286         (GstStateChange): New enumeration of possible state transitions.
11287         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11288         (GstElementClass::change_state): Pass the GstStateChange along as
11289         an argument. Helps language bindings, so they don't have to use
11290         tricky lock-needing macros like GST_STATE_CHANGE ().
11291
11292         * scripts/update-states (file): New script. Run it on a file to
11293         update it for state naming and API changes. Updates files in
11294         place.
11295
11296         * All files updated for the new API.
11297
11298 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11299
11300         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11301         * gst/gstutils.c: (gst_util_set_value_from_string),
11302         (gst_util_set_object_arg):
11303           fix a bunch of unchecked return values
11304         * tools/gst-complete.c: (main):
11305         * gstreamer.spec.in:
11306           clean up a little
11307
11308 2005-09-01  Wim Taymans  <wim@fluendo.com>
11309
11310         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11311         (gst_base_sink_event), (gst_base_sink_do_sync),
11312         (gst_base_sink_handle_event):
11313         * gst/base/gstbasesink.h:
11314         Handle newsegments more correctly.
11315
11316         * gst/gstbus.c:
11317         Fix docs.
11318
11319         * gst/gstevent.c: (gst_event_new_newsegment):
11320         A newsegment cannot have a start_time of -1
11321
11322 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11323
11324         * win32/gstenumtypes.c:
11325         * win32/gstenumtypes.h:
11326           Update
11327
11328 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11329
11330         * libs/gst/controller/gst-controller.c:
11331         (gst_controlled_property_set_interpolation_mode),
11332         (gst_controlled_property_new):
11333          fixed boolean again
11334
11335 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11336
11337         * docs/faq/gst-uninstalled:
11338           add -good
11339         * gst/gstevent.c:
11340         * gst/gstevent.h:
11341           remove wrong docs
11342         * gst/gstutils.c: (gst_element_link_filtered):
11343         * gst/gstutils.h:
11344           add gst_element_link_filtered
11345
11346 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11347
11348         * docs/gst/gstreamer-docs.sgml:
11349         * docs/gst/gstreamer-sections.txt:
11350         * docs/gst/tmpl/.cvsignore:
11351         * docs/gst/tmpl/gsterror.sgml:
11352         * docs/gst/tmpl/gstfilter.sgml:
11353         * docs/gst/tmpl/gsturihandler.sgml:
11354         * docs/gst/tmpl/gsturitype.sgml:
11355         * docs/gst/tmpl/gstutils.sgml:
11356         * docs/gst/tmpl/gstxml.sgml:
11357         * gst/gsterror.c:
11358         * gst/gsterror.h:
11359         * gst/gstfilter.c:
11360         * gst/gsturi.c:
11361         * gst/gsturitype.c:
11362         * gst/gstutils.c:
11363         * gst/gstxml.c:
11364           inlined more docs, fixed double id-ref
11365
11366 2005-08-31  Wim Taymans  <wim@fluendo.com>
11367
11368         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11369         (gst_base_transform_handle_buffer):
11370         Passthrough elements don't need the caps as they don't care.
11371
11372 2005-08-31  Wim Taymans  <wim@fluendo.com>
11373
11374         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11375         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11376         Don't leak refcounts on buffers.
11377
11378 2005-08-31  Wim Taymans  <wim@fluendo.com>
11379
11380         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11381         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11382         (gst_base_transform_chain), (gst_base_transform_change_state):
11383         * gst/base/gstbasetransform.h:
11384         Handle the case where we are not negotiated more gracefully.
11385
11386 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
11387
11388         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11389         (gst_file_src_map_region):
11390           Set READONLY flag on mmap'ed buffers, otherwise
11391           gst_buffer_make_writable() won't work properly (#314708).
11392
11393 2005-08-31  Wim Taymans  <wim@fluendo.com>
11394
11395         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11396         passthrough elements can even do inplace on non writable
11397         buffers (as they don't touch them).
11398
11399 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11400
11401         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11402         (gst_test_mono_source_set_property),
11403         (gst_test_mono_source_class_init), (GST_START_TEST),
11404         (gst_controller_suite):
11405           more tests (hehe I have the most)
11406         * gst/gstbus.c:
11407           describe popping messages whenusing mulltiple sources
11408         * libs/gst/controller/gst-controller.c:
11409         (gst_controlled_property_set_interpolation_mode),
11410         (gst_controlled_property_new):
11411         * libs/gst/controller/gst-controller.h:
11412         * libs/gst/controller/gst-interpolation.c:
11413           implement boolean properties
11414
11415 2005-08-31  Wim Taymans  <wim@fluendo.com>
11416
11417         * gst/gstminiobject.c: (gst_mini_object_ref):
11418         Cannot assert that the refcount has to be positive
11419         since a disposed object can be resurrected.
11420
11421 2005-08-31  Wim Taymans  <wim@fluendo.com>
11422
11423         * gst/gstpad.c: (gst_pad_init):
11424         Revert change, need to first fix badly behaving 
11425         apps.
11426
11427 2005-08-30  Wim Taymans  <wim@fluendo.com>
11428
11429         * check/elements/fakesrc.c: (setup_fakesrc):
11430         * check/elements/identity.c: (setup_identity):
11431         Activate pads before using them.
11432
11433 2005-08-30  Wim Taymans  <wim@fluendo.com>
11434
11435         * gst/base/gstadapter.c: (gst_adapter_flush):
11436         Flushing out 0 bytes is ok for this function.
11437
11438         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11439         no newsegment gives a warning and sets the start/stop to 
11440         invalid.
11441
11442         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11443         (gst_base_transform_set_passthrough):
11444         Some debug info.
11445
11446         * gst/gstminiobject.c: (gst_mini_object_ref):
11447         Check refcount here too.
11448
11449         * gst/gstpad.c: (gst_pad_init):
11450         Pads are initially flushing and refusing data.
11451
11452         * gst/gstutils.c: (gst_element_link_pads_filtered):
11453         When adding a capsfilter element make sure it has the
11454         same state as the parent bin.
11455
11456 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11457
11458         * docs/gst/tmpl/.cvsignore:
11459         * docs/gst/tmpl/gstformat.sgml:
11460         * docs/gst/tmpl/gstversion.sgml:
11461         * gst/gstbus.h:
11462         * gst/gstformat.c:
11463         * gst/gstformat.h:
11464         * gst/gstversion.h.in:
11465           more docs and two more inlined
11466
11467 2005-08-30  Wim Taymans  <wim@fluendo.com>
11468
11469         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11470         Don't sync to clock.
11471
11472 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11473
11474         * docs/gst/gstreamer-sections.txt:
11475           ultral33t func10ns deserve to appear in the docs actually
11476         * docs/gst/tmpl/.cvsignore:
11477         * docs/gst/tmpl/gstcompat.sgml:
11478         * docs/gst/tmpl/gstconfig.sgml:
11479         * gst/check/gstcheck.c:
11480         * gst/gstcompat.h:
11481         * gst/gstconfig.h.in:
11482           inlined more docs
11483
11484 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11485
11486         * docs/gst/tmpl/.cvsignore:
11487         * docs/gst/tmpl/gstquery.sgml:
11488         * docs/gst/tmpl/gstutils.sgml:
11489         * gst/gstquery.c:
11490         * gst/gstquery.h:
11491           inlined and extended docs
11492
11493 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11494
11495         * check/gst-libs/controller.c: (GST_START_TEST),
11496         (gst_controller_suite):
11497           more tests
11498         * docs/gst/tmpl/gstutils.sgml:
11499         * docs/libs/gstreamer-libs-sections.txt:
11500         * docs/libs/tmpl/gstdataprotocol.sgml:
11501           include path fixes
11502         * examples/controller/audio-example.c: (main):
11503           controller example works now
11504         * gst/gstclock.h:
11505           doc fixes
11506         * tools/gst-inspect.c: (print_element_properties_info):
11507           show param spec flags
11508
11509 2005-08-29  Andy Wingo  <wingo@pobox.com>
11510
11511         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
11512
11513 2005-08-28  Andy Wingo  <wingo@pobox.com>
11514
11515         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
11516         as having two arguments instead of just one. Allows superclasses
11517         to access information on subclasses -- see the terrible for() loop
11518         in gtype.c:g_type_create_instance for the reason why. All callers
11519         changed.
11520
11521 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11522
11523         * docs/design/part-messages.txt:
11524           update info
11525         * docs/gst/tmpl/.cvsignore:
11526         * docs/gst/tmpl/gstcaps.sgml:
11527         * docs/gst/tmpl/gstclock.sgml:
11528         * gst/gstbus.c:
11529         * gst/gstcaps.c:
11530         * gst/gstcaps.h:
11531         * gst/gstclock.c:
11532         * gst/gstclock.h:
11533         * gst/gstmessage.c:
11534           added descriptions for bus and message
11535           inline caps and clock docs
11536
11537 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11538
11539         * gst/gstmessage.c:
11540         * gst/gstmessage.h:
11541           doc fixes
11542
11543 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11544
11545         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11546           fix div-by-zero
11547
11548 2005-08-26  Andy Wingo  <wingo@pobox.com>
11549
11550         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11551         element_set_state's return val.
11552         (test_2_elements): Add test that's been disabled for months.
11553
11554         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11555         can-activate-pull properties.
11556
11557         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11558         can-activate-pull properties. Implement is_seekable so fakesrc can
11559         operate in pull mode.
11560
11561         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11562         properties.
11563         (gst_base_sink_activate, gst_base_sink_activate_pull)
11564         (gst_base_sink_activate_push): Make activation mode choosing work.
11565         Cleanups.
11566         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11567         is right. Make pull mode work. Post an eos before pausing in pull
11568         mode.
11569         (gst_base_sink_change_state): Pay attention to the core's
11570         change_state() return val.
11571         
11572         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11573         has-getrange properties. Cleanups.
11574         
11575         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11576         has_getrange and replace with can_activate_pull and
11577         can_activate_push.
11578
11579         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11580         locking comments. Remove has_loop, has_chain and replace with
11581         can_activate_pull and can_activate_push.
11582
11583 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
11584
11585         * configure.ac:
11586         * examples/Makefile.am:
11587         * examples/metadata/Makefile.am:
11588         * examples/metadata/read-metadata.c: (message_loop),
11589         (have_pad_handler), (make_pipeline), (print_tag), (main):
11590           Add metadata reading example that loops over a list of filenames,
11591           dumping any tags found.
11592
11593         * gst/gstbus.c: (gst_bus_dispose):
11594         * gst/gstelement.c: (gst_element_dispose):
11595           Release a few potentially-held references in dispose.
11596
11597 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11598
11599         * docs/gst/tmpl/gstminiobject.sgml:
11600           do *not* add tmpl/*.sgml files to CVS!
11601
11602 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11603
11604         * libs/gst/bytestream/.cvsignore:
11605         * libs/gst/bytestream/Makefile.am:
11606         * libs/gst/bytestream/adapter.c:
11607         * libs/gst/bytestream/adapter.h:
11608         * libs/gst/bytestream/bytestream.c:
11609         * libs/gst/bytestream/bytestream.h:
11610         * libs/gst/bytestream/filepad.c:
11611         * libs/gst/bytestream/filepad.h:
11612           removing obsolete files
11613
11614 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11615
11616         * docs/gst/gstreamer-docs.sgml:
11617         * docs/libs/gstreamer-libs-docs.sgml:
11618           disabed additional index entries again, as this makes docs-gen just
11619           slow and they aren't useful yet
11620         * docs/libs/gstreamer-libs-sections.txt:
11621           little -section.txt cleanup for libs
11622
11623 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11624
11625         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11626         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11627           fix up some debugging
11628         (gst_base_transform_get_unit_size),
11629         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11630         (gst_base_transform_handle_buffer):
11631         * gst/base/gstbasetransform.h:
11632           handle and store timed NEWSEGMENT events so that subclasses that
11633           calculate time by counting samples have a segment_start time they
11634           need to add to their timestamps - see audioresample
11635
11636 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11637
11638         * gst/gstbin.h:
11639           removed ';' from the end of macro defs
11640         * docs/gst/gstreamer-docs.sgml:
11641         * docs/gst/gstreamer-sections.txt:
11642         * docs/gst/tmpl/.cvsignore:
11643         * gst/gstbus.h:
11644         * gst/gstelement.c: (gst_element_class_init),
11645         (gst_element_set_state), (activate_pads),
11646         (gst_element_save_thyself):
11647         * gst/gstevent.c: (gst_event_new_newsegment):
11648         * gst/gstevent.h:
11649         * gst/gstiterator.c:
11650         * gst/gstiterator.h:
11651         * gst/gstpad.c:
11652         * gst/gstprobe.h:
11653         * gst/gstutils.c: (gst_pad_query_convert):
11654         * gst/gstutils.h:
11655           fixed parameter name mismatches between source, header and docs
11656           added some more docs, resolved the last batch of unused elements in
11657           docs (now someone needs to doc them)
11658
11659 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11660
11661         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11662         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11663           don't walk through the plugins backwards.  Where is all this
11664           reversed logic coming from ?
11665
11666 2005-08-25  Wim Taymans  <wim@fluendo.com>
11667
11668         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11669         (gst_base_transform_transform_size),
11670         (gst_base_transform_configure_caps),
11671         (gst_base_transform_get_unit_size),
11672         (gst_base_transform_buffer_alloc),
11673         (gst_base_transform_change_state):
11674         * gst/base/gstbasetransform.h:
11675         Cache caps unit_size.
11676         Make sure we cannot negotiate up and downstream at the
11677         same time.
11678
11679 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11680
11681         * gst/gst.c: (init_pre), (init_post):
11682           register the installed plugin path after the env var
11683         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
11684         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
11685           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
11686           directories, so the tests can prefer uninstalled over installed
11687
11688 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11689
11690         * gst/base/gstbasetransform.h:
11691           comment
11692         * gst/gstpad.c:
11693           add to docs
11694
11695 2005-08-25  Wim Taymans  <wim@fluendo.com>
11696
11697         * gst/gstbin.c: (bin_bus_handler):
11698         Be a bit more conservative about the posted message.
11699         
11700         * gst/gstbus.c: (gst_bus_post):
11701         Some cleanups, warn wrong return values.
11702
11703 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
11704
11705         * check/gst/gstbin.c: (GST_START_TEST):
11706         * gst/gstbin.c: (bin_bus_handler):
11707         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11708         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11709         (gst_message_new_warning), (gst_message_new_tag),
11710         (gst_message_new_state_changed), (gst_message_new_segment_start),
11711         (gst_message_new_segment_done), (gst_message_new_custom):
11712         * gst/gstmessage.h:
11713         * tools/gst-launch.c: (event_loop):
11714         * tools/gst-md5sum.c: (event_loop):
11715           Revert unpopular change for GST_MESSAGE_SRC to GObject.
11716
11717 2005-08-25  Wim Taymans  <wim@fluendo.com>
11718
11719         * check/generic/states.c: (GST_START_TEST):
11720         Cleanup can be done at the end.
11721
11722         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
11723         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11724         (gst_task_get_state), (gst_task_start), (gst_task_pause):
11725         Oh boy.. Thanks for finding this, Thomas. 
11726
11727 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11728
11729         * docs/gst/gstreamer.types:
11730           added missing types
11731
11732 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11733
11734         * docs/gst/gstreamer-docs.sgml:
11735         * docs/gst/gstreamer-sections.txt:
11736         * docs/gst/tmpl/.cvsignore:
11737         * gst/gstbin.c:
11738         * gst/gstiterator.c:
11739         * gst/gstutils.c:
11740         * gst/registries/gstxmlregistry.h:
11741           added missing classes and symbols (123 more to go)
11742           removed removed symbols from section file
11743           fixed many doc-comments
11744
11745 2005-08-24  Wim Taymans  <wim@fluendo.com>
11746
11747         * check/generic/states.c: (GST_START_TEST):
11748         Make sure all tasks are stopped.
11749
11750         * check/gst/gstbin.c: (GST_START_TEST):
11751         Unref after usage for proper valgrinding.
11752
11753         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
11754         Really wait for the task to stop before destroying the
11755         mutex.
11756
11757         * gst/gstqueue.c: (gst_queue_sink_activate_push),
11758         (gst_queue_src_activate_push):
11759         Small cleanups. Don't stop the task when we did not start
11760         it.
11761
11762         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
11763         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11764         (gst_task_get_state), (gst_task_start), (gst_task_pause),
11765         (gst_task_join):
11766         * gst/gsttask.h:
11767         Protect the stream lock with the object lock.
11768         Disallow setting the stream lock when running.
11769         Add cleanup_all to wait for the threadpool to finish.
11770         Remove code to autoallocate a mutex if none was provided.
11771         Add _join() to wait for a task to stop.
11772         Protect the thread pool with a global lock.
11773
11774 2005-08-24  Wim Taymans  <wim@fluendo.com>
11775
11776         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11777         (gst_base_sink_get_times), (gst_base_sink_do_sync),
11778         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
11779         * gst/base/gstbasesink.h:
11780         Handle newsegment events correctly.
11781         Drop buffers out of the segment range.
11782
11783 2005-08-22  Andy Wingo  <wingo@pobox.com>
11784
11785         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
11786         macro, implements an interface and gstimplementsinterface for a
11787         new type.
11788
11789 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11790
11791         * check/Makefile.am:
11792         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
11793           add a test that does a bunch of state changes on elements
11794           needs some fixing for valgrind
11795         * check/states/sinks.c: (gst_object_suite):
11796           whitespace
11797         * gst/gstcaps.h:
11798           add prototype for gst_caps_is_equal_fixed
11799         * gst/gstplugin.c:
11800         * gst/gstregistrypool.c:
11801           doc fixes
11802
11803 2005-08-24  Andy Wingo  <wingo@pobox.com>
11804
11805         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
11806         convert a negative value. Doesn't make much sense. Mostly this is
11807         here to force callers to ensure -1 maps to -1.
11808
11809 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11810
11811         * docs/pwg/advanced-types.xml:
11812           Well done to Michael for catching my deliberate introduction
11813           of this spelling mistake. 
11814         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
11815         * gst/gstelement.h:
11816           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
11817           unlink pads before removing the element from the bin.
11818
11819 2005-08-24  Andy Wingo  <wingo@pobox.com>
11820
11821         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
11822         the same thing as GST_DEBUG=*:4.
11823         (parse_debug_level, parse_debug_category): New helper parsers.
11824
11825 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11826
11827         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11828         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
11829         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
11830         (gst_base_transform_buffer_alloc),
11831         (gst_base_transform_handle_buffer):
11832           use gboolean return values and pointers to size so we can use the
11833           full GST_BUFFER_SIZE range (guint) for buffer sizes
11834           use GstPadDirection for transform_caps
11835         * gst/base/gstbasetransform.h:
11836           rename get_size to get_unit_size since that's what it is
11837         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
11838           use GstPadDirection for transform_caps
11839         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11840         * gst/gstutils.h:
11841           cleanup and debugging
11842
11843 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
11844
11845         * gst/gstelement.c: (gst_element_class_init),
11846         (gst_element_set_state), (activate_pads),
11847         (gst_element_save_thyself):
11848         * tools/gst-compprep.c: (main):
11849         * tools/gst-inspect.c: (print_element_properties_info):
11850         * tools/gst-xmlinspect.c: (print_element_properties):
11851           Fixed long standing mem-leak
11852
11853 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11854
11855         * check/gst/gstbin.c: (GST_START_TEST):
11856         * gst/gstbin.c: (bin_bus_handler):
11857         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11858         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11859         (gst_message_new_warning), (gst_message_new_tag),
11860         (gst_message_new_state_changed), (gst_message_new_segment_start),
11861         (gst_message_new_segment_done), (gst_message_new_custom):
11862         * gst/gstmessage.h:
11863         * tools/gst-launch.c: (event_loop):
11864         * tools/gst-md5sum.c: (event_loop):
11865           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
11866           that applications can sensibly post custom messages with references
11867           to their own objects.
11868
11869 2005-08-24  Andy Wingo  <wingo@pobox.com>
11870
11871         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
11872         already.
11873
11874 2005-08-24  Wim Taymans  <wim@fluendo.com>
11875
11876         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11877         (gst_base_transform_transform_caps),
11878         (gst_base_transform_transform_size),
11879         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11880         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11881         (gst_base_transform_handle_buffer):
11882         * gst/base/gstbasetransform.h:
11883         Many fixes and new features added by Thomas. Can now also do
11884         transforms with variable sizes and a custom fixate_caps function.
11885
11886 2005-08-24  Wim Taymans  <wim@fluendo.com>
11887
11888         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11889         Some debugging.
11890
11891         * gst/gstclock.h:
11892         Cast to ClockTime before formatting to time.
11893
11894         * gst/gstutils.h:
11895         Cleanups.
11896
11897 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
11898
11899         * check/gst-libs/controller.c: (GST_START_TEST),
11900         (gst_controller_suite):
11901         * docs/gst/tmpl/gstcaps.sgml:
11902         * docs/gst/tmpl/gstghostpad.sgml:
11903         * docs/gst/tmpl/gstquery.sgml:
11904         * docs/gst/tmpl/gstutils.sgml:
11905         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
11906         (gst_object_sink_values), (gst_object_get_value_arrays),
11907         (gst_object_get_value_array):
11908           gracefully handle helper method calls to objects that are not beeing
11909           controlled, added test case for that          
11910
11911 2005-08-23  Wim Taymans  <wim@fluendo.com>
11912
11913         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
11914         (gst_event_new_newsegment), (gst_event_parse_newsegment),
11915         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
11916         (gst_event_parse_qos), (gst_event_new_seek),
11917         (gst_event_parse_seek):
11918         * gst/gstevent.h:
11919         Some more debugging output and doc cleanups.
11920
11921         * gst/gstqueue.c: (gst_queue_handle_sink_event):
11922         Fix possible deadlock.
11923
11924 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11925
11926         * docs/gst/gstreamer-docs.sgml:
11927         * docs/gst/gstreamer-sections.txt:
11928         * docs/gst/gstreamer.types:
11929         * docs/gst/tmpl/.cvsignore:
11930         * gst/gstbin.h:
11931         * gst/gstbus.c:
11932         * gst/gstelement.c:
11933         * gst/gstevent.h:
11934           added 100 symbols from gstreamer-unused.txt to the right sections
11935           fixed more broken comments
11936           added GstBus to docs
11937
11938 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11939
11940         * docs/gst/gstreamer-sections.txt:
11941         * docs/gst/tmpl/.cvsignore:
11942         * docs/gst/tmpl/gstbin.sgml:
11943         * docs/gst/tmpl/gstbuffer.sgml:
11944         * gst/base/gstbasesrc.c:
11945         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
11946         * gst/gstbuffer.c:
11947         * gst/gstbuffer.h:
11948         * tools/gst-launch.1.in:
11949           inlined more doc comments, added missing comments and fixed comments
11950           fixed typos
11951
11952 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11953
11954         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11955           some debugging
11956         * gst/gstcaps.h:
11957           whitespace fixes
11958         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
11959           more debugging
11960         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
11961         * gst/gststructure.h:
11962           add a fixate function for booleans; add a FIXME that these func
11963           names should probably be gst_structure_fixate_*
11964
11965 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
11966
11967         * docs/gst/gstreamer-docs.sgml:
11968         * docs/gst/gstreamer-sections.txt:
11969         * gst/Makefile.am:
11970         * gst/gstbin.c: (gst_bin_get_type),
11971         (gst_bin_child_proxy_get_child_by_index),
11972         (gst_bin_child_proxy_get_children_count),
11973         (gst_bin_child_proxy_init):
11974         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
11975         (gst_child_proxy_get_child_by_index),
11976         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
11977         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
11978         (gst_child_proxy_get), (gst_child_proxy_set_property),
11979         (gst_child_proxy_set_valist), (gst_child_proxy_set),
11980         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
11981         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
11982         * gst/gstchildproxy.h:
11983         * gst/parse/grammar.y:
11984         * tools/gst-inspect.c: (print_interfaces),
11985         (print_element_properties_info), (print_element_info):
11986           ported gstchildproxy over from 0.8
11987           ported gst-inspect fixes and enhancements over from 0.8
11988
11989 2005-08-22  Wim Taymans  <wim@fluendo.com>
11990
11991         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11992         (gst_base_transform_handle_buffer):
11993         Also call the transform function if we have ANY caps.
11994
11995         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
11996         Fix debug info.
11997
11998 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
11999
12000         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12001           Don't pretend to handle seek events if the source is not seekable
12002
12003 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12004
12005         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12006           Remove extra parameter to debug output
12007
12008         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12009         (gst_base_src_do_seek), (gst_base_src_activate_push):
12010           Fix seek event handling.
12011
12012         * gst/gstpipeline.c: (gst_pipeline_change_state):
12013         * gst/gstqueue.c: (gst_queue_handle_sink_event),
12014         (gst_queue_src_activate_push):
12015           Don't start the src pad task on FLUSH_STOP if the pad
12016           isn't linked.
12017           Debug changes.
12018
12019 2005-08-22  Wim Taymans  <wim@fluendo.com>
12020
12021         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12022         Added check for gst_static_caps_get() refcounting.
12023
12024 2005-08-22  Wim Taymans  <wim@fluendo.com>
12025
12026         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12027         Make _static_caps_get() refcounting sane.
12028         
12029         * gst/gstelement.c: (gst_element_set_state):
12030         Add g_return_val_if_fail() to protect against segfaults.
12031
12032 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
12033
12034         * docs/gst/tmpl/gstevent.sgml:
12035         * gst/gstevent.c:
12036         * gst/gstevent.h:
12037           inlined remaining docs, added missing doc comments
12038
12039 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12040
12041         * check/gst/gstbin.c: (GST_START_TEST):
12042           since we don't know when preroll is done, use refcount range
12043           check for the sink
12044         * gst/check/gstcheck.h:
12045           add macro for checking refcount range
12046
12047 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12048
12049         * check/Makefile.am:
12050           clean up environment for when registry gets built versus
12051           when actual tests are run; valgrind seems to not report
12052           leaks if GST_PLUGIN_PATH is set to some specific values
12053         * check/gst/gstbin.c: (GST_START_TEST):
12054           add more refcounting checks; maybe this exposes a
12055           preroll lock bug ?
12056         * common/check.mak:
12057         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12058         * gst/check/gstcheck.h:
12059         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12060         (gst_bin_change_state):
12061         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12062           add/fix debugging/whitespace
12063
12064 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12065
12066         * check/gst/gstevent.c: (event_probe), (test_event),
12067         (GST_START_TEST):
12068          Er, don't call gst_bin_watch_for_state_change you idiot.
12069
12070 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12071
12072         * check/Makefile.am:
12073           Use CHECK_CFLAGS and CHECK_LIBS
12074         * check/gst/gstevent.c: (event_probe), (test_event),
12075         (GST_START_TEST):
12076           Don't leak events.
12077         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12078         (gst_base_src_start), (gst_base_src_stop),
12079         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12080         (gst_base_src_change_state):
12081           Sprinkle gst_base_src_stop liberally around error paths to fix
12082           problems reusing a source after failed state changes.
12083         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12084         (helper_find_suggest), (gst_type_find_helper):
12085           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12086         * gst/gstevent.h:
12087         * docs/gst/tmpl/gstevent.sgml:
12088           Migrate part of the docs from the SGML file. Wait for ensonic to
12089           tell me how I did it wrong ;)
12090         * tools/gst-typefind.c: (main):
12091           Extra robustness to state changes between files.
12092
12093 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12094
12095         * check/Makefile.am:
12096           don't valgrind the controller test - it's leaking - Stefan, HELP
12097         * gst/check/gstcheck.c: (gst_check_message_error),
12098         (gst_check_chain_func), (gst_check_setup_element),
12099         (gst_check_teardown_element), (gst_check_setup_src_pad),
12100         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12101         (gst_check_teardown_sink_pad):
12102         * gst/check/gstcheck.h:
12103           add a bunch of methods to set up elements, and src and sink pads
12104         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12105         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12106         (GST_START_TEST):
12107           use them
12108         * gst/gstmessage.c:
12109         * gst/gsttag.h:
12110           whitespace/doc fixes
12111
12112 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12113
12114         * gst/gstelement.h:
12115           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12116           be handled by the application and not always printed as well
12117
12118 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12119
12120         * check/Makefile.am:
12121           set GST_TOOLS_DIR
12122         * gst/check/gstcheck.c: (gst_check_message_error):
12123         * gst/check/gstcheck.h:
12124           add a fail_unless_equals_int
12125           add fail_unless for error messages
12126
12127 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12128
12129         * check/Makefile.am:
12130         * check/gst.supp:
12131         * common/Makefile.am:
12132         * common/check.mak:
12133         * common/gst.supp:
12134           factor out some of the common stuff so we can use it
12135
12136 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12137
12138         * check/Makefile.am:
12139         * check/gst/gstiterator.c: (GST_START_TEST):
12140         * check/gst/gstsystemclock.c: (GST_START_TEST),
12141         (gst_systemclock_suite):
12142         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12143         * gst/gstclock.c:
12144           valgrind more tests
12145
12146 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12147
12148         * check/elements/.cvsignore:
12149         * check/elements/gstfakesrc.c:
12150           rename to name of element
12151         * check/elements/identity.c: (chain_func), (event_func),
12152         (setup_identity), (cleanup_identity), (GST_START_TEST),
12153         (identity_suite), (main):
12154           add a test for identity
12155         * check/Makefile.am:
12156         * pkgconfig/Makefile.am:
12157         * pkgconfig/gstreamer-check.pc.in:
12158         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12159         * gst/check:
12160         * gst/Makefile.am:
12161         * configure.ac:
12162           move the check stuff to a library that gets installed
12163         * check/gst-libs/controller.c: (GST_START_TEST):
12164         * check/gst-libs/gdp.c:
12165         * check/gst/gst.c: (GST_START_TEST):
12166         * check/gst/gstbin.c:
12167         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12168         * check/gst/gstbus.c:
12169         * check/gst/gstcaps.c: (GST_START_TEST):
12170         * check/gst/gstelement.c:
12171         * check/gst/gstghostpad.c:
12172         * check/gst/gstiterator.c:
12173         * check/gst/gstmessage.c:
12174         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12175         * check/gst/gstobject.c:
12176         * check/gst/gstpad.c: (GST_START_TEST):
12177         * check/gst/gststructure.c: (GST_START_TEST):
12178         * check/gst/gstsystemclock.c: (GST_START_TEST),
12179         (gst_systemclock_suite):
12180         * check/gst/gsttag.c: (gst_tag_suite):
12181         * check/gst/gstvalue.c:
12182         * check/pipelines/cleanup.c:
12183         * check/pipelines/simple_launch_lines.c:
12184         * check/states/sinks.c:
12185           change include statement
12186
12187         * docs/gst/gstreamer-sections.txt:
12188         * docs/gst/tmpl/gstpad.sgml:
12189           document more pad stuff
12190         * gst/gstminiobject.c: (gst_mini_object_ref),
12191         (gst_mini_object_unref):
12192           debug refcounting
12193
12194 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12195
12196         * docs/gst/tmpl/gst.sgml:
12197         * gst/gst.c:
12198           eliminate another tmpl file, fix spelling in the long-description
12199
12200 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12201
12202         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12203         (test_event), (timediff), (gstevents_suite):
12204           Should fix build on 64-bit arch's
12205
12206 2005-08-18  Andy Wingo  <wingo@pobox.com>
12207
12208         Make sure that when a pipeline goes to PLAYING, that data has
12209         actually hit the sink.
12210
12211         * check/states/sinks.c (test_sink): A sink that doesn't get any
12212         data shouldn't return SUCCESS for going to either PLAYING or
12213         PAUSED. Test also the return values on the way back down.
12214
12215         * gst/gstelement.c (gst_element_set_state): When changing the
12216         state of an element currently changing state asynchronously, go to
12217         lost-state after commiting the pending state. Makes future calls
12218         to get_state continue to return ASYNC.
12219
12220         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12221         ASYNC when going to PLAYING if we still don't have preroll, as can
12222         happen with live sources.
12223
12224 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12225
12226         * docs/pwg/advanced-types.xml:
12227           Hack long paragraph into 2 chunks as a workaround for buggy
12228           jadetex version in sid and breezy that loops infinitely and
12229           eats all RAM.
12230
12231 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12232
12233         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12234         (test_event), (timediff), (gstevents_suite):
12235           Provide more error margin in clock measurements to allow for 
12236           g_get_current_time inaccuracies.
12237
12238 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12239
12240         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12241         (test_event), (timediff), (gstevents_suite):
12242            Fix error message output so I might be able to tell why the
12243            test works here but fails on the build farm.
12244
12245 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12246
12247         * check/Makefile.am:
12248         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12249         (test_event), (timediff), (gstevents_suite), (main):
12250           I wrote a test!
12251
12252         * docs/design/part-seeking.txt:
12253           Spelling correction
12254
12255         * docs/gst/tmpl/gstevent.sgml:
12256         * docs/gst/tmpl/gstfakesrc.sgml:
12257           Docs updates.
12258
12259         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12260           Treat a buffer-without-newsegment the same as a receiving 
12261           a newsegment not in time format, and disable syncing to the clock
12262           with a warning.
12263
12264         * gst/gstbus.c: (gst_bus_set_sync_handler):
12265           Assert if anyone tries to replace the existing sync_handler for bus, 
12266           as only the owner should be setting it.
12267
12268         * gst/gstevent.h:
12269           Have a fixed set of custom event enums with events identified by
12270           their structure name (as in 0.8), rather than a free-for-all
12271           allowing collisions between enum values from different plugins.
12272
12273         * gst/gstpad.c: (gst_pad_class_init):
12274           Docs change.
12275           
12276         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12277           Handle out-of-band downstream events from the sending thread.
12278
12279 2005-08-17  Andy Wingo  <wingo@pobox.com>
12280
12281         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12282         play-timeout==0 to mean no timeout at all. In that case, don't
12283         bother with a get_state or a warning, just return directly, even
12284         if it's ASYNC.
12285
12286         * gst/base/gstbasetransform.c: Debug changes.
12287
12288         * gst/gstutils.h:
12289         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12290         ensure bins post state change messages. A bit of a hack but I can't
12291         think of a way to avoid it.
12292
12293         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12294
12295 2005-08-16  Andy Wingo  <wingo@pobox.com>
12296
12297         * gst/base/gstadapter.h:
12298         * gst/base/gstadapter.c (gst_adapter_take): New function, like
12299         peek() but you own the data. Not terribly efficient atm.
12300
12301 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12302
12303         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12304         (gst_element_found_tags):
12305         * gst/gstutils.h:
12306           Add two utility functions for tag handling.
12307
12308 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12309
12310         * docs/manual/advanced-dataaccess.xml:
12311         * docs/manual/basics-helloworld.xml:
12312           Fix docs to use _bin_add() before _link(), which fixes the examples
12313           with recent core versions (reported by Madhan Raj M
12314           <raj_madan@rediffmail.com>, #313199).
12315
12316 2005-08-16  Wim Taymans  <wim@fluendo.com>
12317
12318         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12319         Added subtract checks.
12320
12321         * docs/design/part-events.txt:
12322         Some more docs about newsegment
12323
12324         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12325         Fix FIXME
12326
12327         * gst/gstcaps.c: (gst_caps_to_string):
12328         Add comments, cleanups.
12329         
12330         * gst/gstelement.c: (gst_element_save_thyself):
12331         cleanups
12332         
12333         * gst/gstvalue.c: (gst_value_collect_int_range),
12334         (gst_string_unwrap), (gst_value_union_int_int_range),
12335         (gst_value_union_int_range_int_range),
12336         (gst_value_intersect_int_int_range),
12337         (gst_value_intersect_int_range_int_range),
12338         (gst_value_intersect_double_double_range),
12339         (gst_value_intersect_double_range_double_range),
12340         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12341         (gst_value_subtract_int_range_int),
12342         (gst_value_subtract_double_range_double),
12343         (gst_value_subtract_double_range_double_range),
12344         (gst_value_subtract_from_list), (gst_value_subtract_list),
12345         (gst_value_can_compare), (gst_value_compare_fraction):
12346         Cleanups, add comments, remove unneeded asserts.
12347
12348 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12349
12350         * tools/gst-launch.c: (event_loop):
12351           don't convert NULL structures to strings
12352
12353 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
12354
12355         * docs/gst/gstreamer-sections.txt:
12356           made some defines private
12357         * docs/gst/tmpl/gstconfig.sgml:
12358         * docs/gst/tmpl/gstqueue.sgml:
12359         * docs/gst/tmpl/gsttaglist.sgml:
12360         * docs/gst/tmpl/gsttypes.sgml:
12361         * docs/gst/tmpl/gstutils.sgml:
12362         * docs/pwg/appendix-porting.xml:
12363         * gst/base/gstbasesink.h:
12364         * gst/base/gstbasesrc.c:
12365         * gst/base/gstbasesrc.h:
12366         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12367         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12368         * gst/gstelement.c: (gst_element_class_init):
12369         * gst/gstpad.c: (gst_pad_class_init):
12370         * gst/gstqueue.c: (gst_queue_class_init):
12371         * gst/gstxml.c: (gst_xml_class_init):
12372           documented all undocumented signal inline
12373         * libs/gst/controller/gst-controller.h:
12374           added padding
12375
12376 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12377
12378         * docs/pwg/appendix-porting.xml:
12379           Document _set_link_function -> _set_setcaps_function.
12380
12381 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12382
12383         * check/Makefile.am:
12384           add a .check target for running the check
12385         * check/gst-libs/controller.c: (GST_START_TEST):
12386           cosmetic fixups
12387         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12388           complete checks for gstbuffer; would be nice if I could get the
12389           gcov stuff to work so I can see if I actually completed gstbuffer.c
12390         * check/gstcheck.h:
12391           add ASSERT_BUFFER_REFCOUNT
12392
12393 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
12394
12395         * docs/gst/gstreamer-sections.txt:
12396         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12397         * gst/gsttag.h:
12398           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12399           spew out a warning if a tag that is already registered
12400           is re-registered, unless it is re-registered with a 
12401           different type (#308438).
12402
12403 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
12404
12405         * docs/pwg/appendix-porting.xml:
12406         * docs/pwg/building-state.xml:
12407           Add some paragraphs about state changes in 0.9 to the PWG
12408           and the porting guide, in particular about the new meaning
12409           of GST_STATE_PAUSED and how to write state change functions
12410           with concurrent access by multiple threads in mind.
12411
12412 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
12413
12414         * docs/gst/gstreamer-docs.sgml:
12415         * docs/libs/gstreamer-libs-docs.sgml:
12416           added deprecation and since indexes
12417         * libs/gst/controller/gst-controller.c:
12418         * libs/gst/controller/gst-helper.c:
12419           added since tags
12420
12421
12422 2005-08-11  Wim Taymans  <wim@fluendo.com>
12423
12424         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12425         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12426         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12427         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12428         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12429         (gst_ghost_pad_set_target):
12430         Actually implement (re)setting the target on a ghostpad
12431         as described in the docs.
12432
12433 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12434
12435         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12436           Check whether GST_DEBUG_NO_COLOR environment variable is
12437           set and disable coloured debug output if that is the case.
12438
12439 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12440
12441         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12442         (gst_type_find_helper):
12443           The memory returned by gst_type_find_peek() needs to
12444           stay valid until the end of a typefind function, and
12445           typefind functions may keep results from different 
12446           offsets around, so we can't just unref the buffer from
12447           the previous _peek(), but have to save all buffers 
12448           returned by _peek() until typefinding is done and only
12449           free them then.
12450
12451 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12452
12453         * docs/gst/gstreamer-sections.txt:
12454         * gst/gstutils.h:
12455           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12456
12457 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12458
12459         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12460           Fix a pretty good memleak.
12461
12462 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12463
12464         * gst/gstiterator.h:
12465           Fix wrong include and 'make distcheck'.
12466
12467 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12468
12469         * gst/gstbin.c: (bin_bus_handler):
12470           Use gst_element_post_message() instead.
12471
12472 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12473
12474         * gst/base/gstadapter.h:
12475         * gst/base/gstbasesink.h:
12476         * gst/base/gstbasesrc.h:
12477         * gst/base/gstbasetransform.h:
12478         * gst/base/gstcollectpads.h:
12479         * gst/base/gstpushsrc.h:
12480         * gst/gstiterator.h:
12481           Add padding to our base elements' class and instance structs and
12482           to GstIterator (you will need to rebuild all plugins and apps!)
12483
12484 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12485
12486         * gst/gstbin.c: (bin_bus_handler):
12487           Make default message forwarding from child->bus to bin->bus
12488           threadsafe and make it not emit warnings if the parent has no bus.
12489
12490 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12491
12492         * gst/gstelement.c: (activate_pads):
12493           On paused->ready, set pad->caps to NULL, as is the documented
12494           behaviour in this state change. Fixes playback of series of
12495           media files when visualization is enabled in Totem.
12496
12497 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12498
12499         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12500           Allow NULL as filter-caps (which means "any").
12501
12502 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12503
12504         * docs/libs/gstreamer-libs-sections.txt:
12505         * libs/gst/controller/gst-controller.c:
12506         * libs/gst/controller/gst-controller.h:
12507         * libs/gst/controller/gst-helper.c:
12508           adding more entries to the docs and fix small doc-bugs
12509
12510 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12511
12512         * docs/gst/gstreamer-docs.sgml:
12513         * docs/gst/gstreamer-sections.txt:
12514         * docs/gst/gstreamer.types:
12515         * docs/gst/tmpl/gstbasesink.sgml:
12516         * docs/gst/tmpl/gstbasesrc.sgml:
12517         * docs/gst/tmpl/gstbasetransform.sgml:
12518         * docs/gst/tmpl/gstfakesrc.sgml:
12519         * gst/base/gstcollectpads.c:
12520         * gst/base/gstcollectpads.h:
12521         * libs/gst/controller/gst-controller.c:
12522         * libs/gst/controller/gst-controller.h:
12523         * libs/gst/controller/gst-helper.c:
12524         * libs/gst/controller/gst-interpolation.c:
12525         * libs/gst/controller/lib.c:
12526           added long/short desc for controller docs
12527           added collectpads base class docs
12528           added correct includes to base-class docs
12529
12530 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12531
12532         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12533         (gst_test_mono_source_set_property),
12534         (gst_test_mono_source_class_init), (GST_START_TEST),
12535         (gst_controller_suite):
12536         * docs/gst/gstreamer-docs.sgml:
12537         * docs/gst/gstreamer-sections.txt:
12538         * docs/gst/gstreamer.types:
12539         * docs/libs/gstreamer-libs-docs.sgml:
12540         * docs/libs/gstreamer-libs-sections.txt:
12541         * gst/base/gstadapter.c:
12542         * libs/gst/controller/gst-controller.c:
12543         (gst_controlled_property_new), (gst_controlled_property_free),
12544         (gst_controller_new_valist),
12545         (gst_controller_remove_properties_valist),
12546         (gst_controller_sink_values), (_gst_controller_finalize):
12547         * libs/gst/controller/gst-controller.h:
12548         * libs/gst/controller/gst-helper.c:
12549         (gst_object_control_properties), (gst_object_uncontrol_properties),
12550         (gst_object_get_controller), (gst_object_set_controller),
12551         (gst_object_sink_values), (gst_object_get_value_arrays),
12552         (gst_object_get_value_array):
12553           more tests (and fixes) for the controller
12554           more docs for the controller
12555           integrated companies docs for the adapter 
12556
12557 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12558
12559         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12560         (GST_START_TEST), (fakesrc_suite):
12561           add tests for sizetype
12562
12563 2005-08-04  Andy Wingo  <wingo@pobox.com>
12564
12565         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12566         fixes buffer_alloc proxying among other things.
12567
12568         * gst/base/gstbasetransform.c:
12569         * gst/base/gstbasetransform.h:
12570         Revert patch to gstbasetransform from 7-28 removing
12571         delay_configure.
12572
12573         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12574         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12575         Semantics changed, should return not the size of the output buffer
12576         but the byte size of a buffer with a given caps.
12577
12578         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12579         debug object.
12580         (gst_base_transform_configure_caps): Don't set out_size here: (in,
12581         out) are not the pad caps until setcaps finishes.
12582         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12583         not-in-place case as well. Deal with changing from in-place to
12584         not-in-place within calling pad_alloc_buffer. Still a bit
12585         concerned about the overhead here...
12586
12587 2005-08-03  Andy Wingo  <wingo@pobox.com>
12588
12589         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12590         fixating is an error.
12591
12592 2005-08-04  Edward Hervey  <edward@fluendo.com>
12593
12594         * gst/base/gstadapter.h: 
12595         Added gst_adapter_get_type() to the header
12596
12597 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12598
12599         * check/Makefile.am:
12600         * check/gst-libs/controller.c:
12601         * libs/gst/controller/gst-controller.c:
12602         (gst_controller_new_valist):
12603           added check test suite for the controller
12604         * gst/base/gstpushsrc.c:
12605           fixed a doc typo
12606
12607 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12608
12609         * docs/gst/Makefile.am:
12610         * docs/gst/gstreamer-docs.sgml:
12611         * docs/gst/gstreamer-sections.txt:
12612         * docs/gst/gstreamer.types:
12613         * docs/gst/tmpl/gstfakesrc.sgml:
12614         * gst/base/README:
12615         * gst/base/gstbasesink.c:
12616         * gst/base/gstbasesink.h:
12617         * gst/base/gstbasesrc.c:
12618         * gst/base/gstbasesrc.h:
12619         * gst/base/gstbasetransform.c:
12620         * gst/base/gstpushsrc.c:
12621         * gst/base/gstpushsrc.h:
12622           add short/long description docs to base classes
12623           add pushsrc to the docs
12624           remove consolidated doc fragments
12625
12626 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12627
12628         * configure.ac:
12629         * docs/libs/Makefile.am:
12630         * docs/libs/gstreamer-libs-docs.sgml:
12631         * docs/libs/gstreamer-libs-sections.txt:
12632         * docs/libs/gstreamer-libs.types:
12633         * examples/Makefile.am:
12634         * examples/controller/.cvsignore:
12635         * examples/controller/Makefile.am:
12636         * examples/controller/audio-example.c: (main):
12637         * libs/gst/Makefile.am:
12638         * libs/gst/controller/.cvsignore:
12639         * libs/gst/controller/Makefile.am:
12640         * libs/gst/controller/gst-controller.c:
12641         (on_object_controlled_property_changed), (gst_timed_value_compare),
12642         (gst_timed_value_find),
12643         (gst_controlled_property_set_interpolation_mode),
12644         (gst_controlled_property_new), (gst_controlled_property_free),
12645         (gst_controller_find_controlled_property),
12646         (gst_controller_new_valist), (gst_controller_new),
12647         (gst_controller_remove_properties_valist),
12648         (gst_controller_remove_properties), (gst_controller_set),
12649         (gst_controller_set_from_list), (gst_controller_unset),
12650         (gst_controller_get), (gst_controller_get_all),
12651         (gst_controller_sink_values), (gst_controller_get_value_arrays),
12652         (gst_controller_get_value_array),
12653         (gst_controller_set_interpolation_mode),
12654         (_gst_controller_finalize), (_gst_controller_init),
12655         (_gst_controller_class_init), (gst_controller_get_type):
12656         * libs/gst/controller/gst-controller.h:
12657         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12658         (g_object_uncontrol_properties), (g_object_get_controller),
12659         (g_object_set_controller), (g_object_sink_values),
12660         (g_object_get_value_arrays), (g_object_get_value_array):
12661         * libs/gst/controller/gst-interpolation.c:
12662         (gst_controlled_property_find_timed_value_node),
12663         (interpolate_none_get), (interpolate_trigger_get),
12664         (interpolate_trigger_get_value_array):
12665         * libs/gst/controller/lib.c: (gst_controller_init):
12666         * pkgconfig/Makefile.am:
12667         * pkgconfig/gstreamer-control-uninstalled.pc.in:
12668         * pkgconfig/gstreamer-control.pc.in:
12669         * testsuite/Makefile.am:
12670         * testsuite/controller/.cvsignore:
12671         * testsuite/controller/Makefile.am:
12672         * testsuite/controller/interpolator.c: (main):
12673           added controller code
12674           removed dparam pc files
12675
12676 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12677         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
12678         (gst_collectpads_stop):
12679           Broadcast the condition when shutting down, to make sure we wake all
12680           threads up. Shut down pads on finalize, for safety.
12681
12682 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12683         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12684         (gst_base_transform_handle_buffer),
12685         (gst_base_transform_change_state):
12686           Handle PAUSED->READY->PAUSED transition after negotiation
12687           occurred already.
12688         * gst/gstmessage.c: (gst_message_init):
12689           Extra piece of debug for new messages.
12690
12691 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
12692
12693         * configure.ac:
12694         * docs/gst/tmpl/gstbasesrc.sgml:
12695         * docs/gst/tmpl/gstelement.sgml:
12696         * docs/gst/tmpl/gstevent.sgml:
12697         * docs/gst/tmpl/gstfakesrc.sgml:
12698         * docs/gst/tmpl/gstformat.sgml:
12699         * docs/gst/tmpl/gstghostpad.sgml:
12700         * docs/gst/tmpl/gstpad.sgml:
12701         * docs/gst/tmpl/gstquery.sgml:
12702         * docs/gst/tmpl/gststructure.sgml:
12703         * docs/gst/tmpl/gsttaglist.sgml:
12704         * docs/gst/tmpl/gstvalue.sgml:
12705         * docs/libs/gstreamer-libs-docs.sgml:
12706         * docs/libs/gstreamer-libs-sections.txt:
12707         * docs/libs/gstreamer-libs.types:
12708         * libs/gst/Makefile.am:
12709         * libs/gst/control/.cvsignore:
12710         * libs/gst/control/Makefile.am:
12711         * libs/gst/control/control.c:
12712         * libs/gst/control/control.h:
12713         * libs/gst/control/dparam.c:
12714         * libs/gst/control/dparam.h:
12715         * libs/gst/control/dparam_smooth.c:
12716         * libs/gst/control/dparam_smooth.h:
12717         * libs/gst/control/dparamcommon.h:
12718         * libs/gst/control/dparammanager.c:
12719         * libs/gst/control/dparammanager.h:
12720         * libs/gst/control/dplinearinterp.c:
12721         * libs/gst/control/dplinearinterp.h:
12722         * libs/gst/control/unitconvert.c:
12723         * libs/gst/control/unitconvert.h:
12724         * testsuite/Makefile.am:
12725         * testsuite/dynparams/.cvsignore:
12726         * testsuite/dynparams/Makefile.am:
12727         * testsuite/dynparams/dparamstest.c:
12728         * tools/Makefile.am:
12729         * tools/gst-inspect.c: (print_element_info), (main):
12730         * tools/gst-xmlinspect.c: (print_element_info), (main):
12731           deactivate and remove dparams (libgstcontrol)
12732
12733 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12734
12735         * gst/elements/gsttypefindelement.c:
12736         (gst_type_find_element_have_type), (gst_type_find_element_init),
12737         (stop_typefinding), (gst_type_find_element_handle_event),
12738         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12739         * gst/elements/gsttypefindelement.h:
12740           Set caps on all outgoing buffers, not just the first one.
12741
12742 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12743
12744         * gst/elements/gsttypefindelement.c:
12745         (gst_type_find_element_have_type),
12746         (gst_type_find_element_check_set_buffer_caps),
12747         (gst_type_find_element_init), (stop_typefinding),
12748         (gst_type_find_element_handle_event),
12749         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12750         * gst/elements/gsttypefindelement.h:
12751           Set caps on first outgoing buffer when we've found the type.
12752
12753 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12754
12755         * docs/gst/gstreamer-docs.sgml:
12756         * docs/gst/gstreamer-sections.txt:
12757         * docs/gst/tmpl/gstscheduler.sgml:
12758         * docs/gst/tmpl/gstschedulerfactory.sgml:
12759           Remove some old cruft from docs.
12760
12761 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
12762
12763         * gst/gstpad.h:
12764           Fix inline docs for GstPadLinkReturn.
12765           
12766         * gst/gststructure.c: (gst_structure_has_name):
12767         * gst/gststructure.h:
12768         * docs/gst/gstreamer-sections.txt:
12769           New API: gst_structure_has_name().
12770
12771 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
12772
12773         * configure.ac:
12774           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
12775           and _LARGEFILE_SOURCE in config.h as required. Do not 
12776           export those flags in our .pc files any longer (#142209).
12777
12778           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
12779
12780         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
12781         (gst_file_sink_do_seek), (gst_file_sink_event),
12782         (gst_file_sink_get_current_offset), (gst_file_sink_render):
12783           Redo seek/tell calls with large file support in mind; add some
12784           debugging messages; add log message that tells us when large
12785           file support is unavailable or not enabled for some reason.
12786
12787         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
12788           Add log message that tells us when large file support 
12789           is unavailable or not enabled for some reason.
12790
12791 2005-07-29  Wim Taymans  <wim@fluendo.com>
12792
12793         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12794         Added test for removing an element with ghostpad from a bin.
12795         Fixed test as current implementation does the right thing.
12796
12797         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
12798         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
12799         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
12800         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
12801         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
12802         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
12803         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
12804         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12805         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
12806         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
12807         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
12808         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
12809         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12810         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
12811         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
12812         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12813         * gst/gstghostpad.h:
12814         Clean up ghostpads, remove properties for internal stuff.
12815         Make threadsafe.
12816         Fix refcounting.
12817         Prepare for switching targets, not all use cases work yet.
12818
12819 2005-07-29  Wim Taymans  <wim@fluendo.com>
12820
12821         * docs/design/part-gstghostpad.txt:
12822         Small update.
12823
12824         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12825         (gst_bin_remove_func):
12826         Unlinking pads while holding the bin LOCK is not a good
12827         idea.
12828
12829         * gst/gstpad.c: (gst_pad_class_init),
12830         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
12831         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
12832         No prob setting template after creating the pad.
12833
12834 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
12835
12836         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
12837         (gst_bus_peek), (gst_bus_source_dispatch),
12838         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
12839         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
12840           gst_bus_poll may be called from other threads. Handle
12841           this nicely by not making poll_data disappear off the
12842           stack once gst_bus_poll returns.
12843           gst_bus_peek now increments the refcount on the returned
12844           message.
12845
12846 2005-07-29  Wim Taymans  <wim@fluendo.com>
12847
12848         * docs/design/part-gstghostpad.txt:
12849         Overview of current GhostPad datastructures and use
12850         cases for changing the target.
12851
12852 2005-07-28  Wim Taymans  <wim@fluendo.com>
12853
12854         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12855         Added checks for hierarchy consistency whan adding linked
12856         elements to bins.
12857
12858         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12859         Added check to test element scheduling without bin/pipeline.
12860
12861         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12862         First add elements to bin, then link.
12863         
12864         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12865         (gst_bin_remove_func):
12866         Unlink pads from elements added/removed from bin to maintain
12867         hierarchy consistency.
12868
12869 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12870
12871         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12872         (gst_base_transform_handle_buffer):
12873         * gst/base/gstbasetransform.h:
12874           Remove broken delay_configure (fixes renegotiation of software
12875           scaling pipelines); remove some leftover printf()s.
12876
12877 2005-07-28  Wim Taymans  <wim@fluendo.com>
12878
12879         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12880         Added some more tests for wrong hierarchy
12881
12882         * docs/design/part-overview.txt:
12883         Some updates.
12884
12885         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
12886         Cleanups.
12887
12888         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
12889         (gst_element_dispose):
12890         Some more cleanups.
12891
12892         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12893         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
12894         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12895         (gst_pad_set_caps), (gst_pad_send_event):
12896         Check for correct hierarchy when linking pads. Moving to
12897         strict requirement for ghostpads when linking elements in
12898         different bins.
12899
12900         * gst/gstpad.h:
12901         Clean ups. Added WRONG_HIERARCHY return value.
12902
12903 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12904
12905         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
12906           Better debug if no transform is possible.
12907
12908 2005-07-27  Wim Taymans  <wim@fluendo.com>
12909
12910         * docs/random/wtay/network-transp:
12911         Some old doc I had.
12912
12913 2005-07-27  Wim Taymans  <wim@fluendo.com>
12914
12915         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12916         (gst_dp_event_from_packet):
12917         Fix serialization of seek events.
12918
12919 2005-07-27  Wim Taymans  <wim@fluendo.com>
12920
12921         * check/gst-libs/gdp.c: (GST_START_TEST):
12922         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12923         Fix compilation and fix event serialization.
12924
12925 2005-07-27  Wim Taymans  <wim@fluendo.com>
12926
12927         * CHANGES-0.9:
12928         * docs/design/part-TODO.txt:
12929         * docs/design/part-events.txt:
12930         Some docs updates
12931
12932         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12933         (gst_base_sink_event), (gst_base_sink_do_sync),
12934         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
12935         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12936         (gst_base_src_do_seek), (gst_base_src_event_handler),
12937         (gst_base_src_loop):
12938         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12939         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12940         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12941         (gst_base_transform_event), (gst_base_transform_handle_buffer),
12942         (gst_base_transform_set_passthrough),
12943         (gst_base_transform_is_passthrough):
12944         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
12945         * gst/elements/gstfilesink.c: (gst_file_sink_event):
12946         Event updates.
12947
12948         * gst/gstbuffer.h:
12949         Use faster casts.
12950
12951         * gst/gstelement.c: (gst_element_seek):
12952         * gst/gstelement.h:
12953         Update gst_element_seek.
12954
12955         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
12956         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
12957         (gst_event_new_flush_start), (gst_event_new_flush_stop),
12958         (gst_event_new_eos), (gst_event_new_newsegment),
12959         (gst_event_parse_newsegment), (gst_event_new_tag),
12960         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
12961         (gst_event_parse_qos), (gst_event_new_seek),
12962         (gst_event_parse_seek), (gst_event_new_navigation):
12963         * gst/gstevent.h:
12964         Make GstEvent use GstStructure. Add parsing code, make sure the
12965         API is sufficiently generic.
12966         Mark possible directions of events and serialization.
12967
12968         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
12969         (_gst_message_copy), (gst_message_new_segment_start),
12970         (gst_message_new_segment_done), (gst_message_new_custom),
12971         (gst_message_parse_segment_start),
12972         (gst_message_parse_segment_done):
12973         Small cleanups.
12974
12975         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12976         (gst_pad_set_caps), (gst_pad_send_event):
12977         Update for new events. 
12978         Catch events sent in wrong directions.
12979
12980         * gst/gstqueue.c: (gst_queue_link_src),
12981         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
12982         (gst_queue_handle_src_query):
12983         Event updates.
12984
12985         * gst/gsttag.c:
12986         * gst/gsttag.h:
12987         Remove event code from this file.
12988
12989         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12990         (gst_dp_event_from_packet):
12991         Event updates.
12992
12993 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12994
12995         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
12996         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12997         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
12998           Make debugging actually useful.
12999
13000 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13001
13002         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13003         (gst_pad_fixate_caps):
13004           Implement default fixation once again, so that gst_pad_fixate()
13005           actually does anything at all. This probably needs to be some
13006           sort of a last resort, and use profile-based fixation first, but
13007           since that doesn't exist yet, this is the best we have. Fixes
13008           visualization in Totem.
13009
13010 2005-07-22  Wim Taymans  <wim@fluendo.com>
13011
13012         * docs/design/part-events.txt:
13013         Small update.
13014
13015         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13016         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13017         (gst_base_sink_activate_pull):
13018         Some more comments.
13019
13020         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13021         (gst_fake_src_create):
13022         Fix handoff marshall.
13023
13024         * gst/elements/gstidentity.c: (gst_identity_class_init),
13025         (gst_identity_transform_ip):
13026         We're a real inplace element.
13027
13028         * gst/gstbus.c: (gst_bus_post):
13029         Added some comments.
13030
13031         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13032         * tests/muxing/case1.c: (main):
13033         * tests/sched/dynamic-pipeline.c: (main):
13034         * tests/sched/interrupt1.c: (main):
13035         * tests/sched/interrupt2.c: (main):
13036         * tests/sched/interrupt3.c: (main):
13037         * tests/sched/runxml.c: (main):
13038         * tests/sched/sched-stress.c: (main):
13039         * tests/seeking/seeking1.c: (event_received), (main):
13040         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13041         (main):
13042         * tests/threadstate/threadstate3.c: (main):
13043         * tests/threadstate/threadstate4.c: (main):
13044         * tests/threadstate/threadstate5.c: (main):
13045         Fix the tests.
13046
13047 2005-07-21  Wim Taymans  <wim@fluendo.com>
13048
13049         * docs/design/part-seeking.txt:
13050         Some small additions.
13051
13052         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13053         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13054         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13055         * gst/base/gstbasesink.h:
13056         discont values are gint64, handle the math correctly.
13057
13058         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13059         Make the basesrc report error if the source pad is not linked.
13060
13061         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13062         (gst_queue_loop), (gst_queue_handle_src_query),
13063         (gst_queue_src_activate_push):
13064         Make queue collect data even if the srcpad is not linked.
13065         Start pushing out data as soon as it is linked.
13066
13067         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13068         * gst/gstutils.h:
13069         Added gst_flow_get_name() to ease error reporting.
13070
13071 2005-07-20  Wim Taymans  <wim@fluendo.com>
13072
13073         * gst/gstmessage.c: (gst_message_new_segment_start),
13074         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13075         (gst_message_parse_segment_done):
13076         * gst/gstmessage.h:
13077         Added a bunch of messages for advanced seeking.
13078
13079         * gst/parse/grammar.y:
13080         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13081         (gst_dpman_state_changed):
13082         Fix some new-pad -> pad-added signals
13083
13084 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13085
13086         * docs/manual/appendix-porting.xml:
13087         * docs/pwg/appendix-porting.xml:
13088           Document new-pad/state-change signal renames and the FixedList
13089           type rename.
13090
13091 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13092
13093         * docs/manual/advanced-autoplugging.xml:
13094         * docs/manual/basics-helloworld.xml:
13095         * docs/manual/basics-pads.xml:
13096         * docs/random/ds/0.9-suggested-changes:
13097         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13098         * gst/gstelement.h:
13099         * gst/gstevent.h:
13100         * gst/gstformat.h:
13101         * gst/gstquery.h:
13102         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13103         (gst_structure_parse_array), (gst_structure_parse_value):
13104         * gst/gstvalue.c: (gst_type_is_fixed),
13105         (gst_value_list_prepend_value), (gst_value_list_append_value),
13106         (gst_value_list_get_size), (gst_value_list_get_value),
13107         (gst_value_transform_array_string), (gst_value_serialize_array),
13108         (gst_value_deserialize_array), (gst_value_intersect_array),
13109         (gst_value_is_fixed), (_gst_value_initialize):
13110         * gst/gstvalue.h:
13111           GstElement::new-pad -> pad-added, GstElement::state-change ->
13112           state-changed, GstValueFixedList -> GstValueArray, add format and
13113           flags as their own arguments in gst_element_seek() (should improve
13114           "bindeability"), remove function generators since they don't work
13115           under a whole bunch of compilers (they were deprecated already
13116           anyway).
13117
13118 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13119
13120         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13121         (_gst_debug_register_funcptr):
13122         * gst/gstinfo.h:
13123           Fix illegal cast on some platforms (#309253).
13124
13125 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13126
13127         * gst/gstmessage.c: (gst_message_new_custom):
13128         * gst/gstmessage.h:
13129           Add _new_custom, make _new_application a macro to _new_custom.
13130
13131 2005-07-20  Wim Taymans  <wim@fluendo.com>
13132
13133         * gst/base/gstbasesrc.c: (gst_base_src_init),
13134         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13135         * gst/base/gstbasesrc.h:
13136         Add a gboolean to decide when to push out a discont.
13137
13138         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13139         (gst_queue_loop), (gst_queue_handle_src_query),
13140         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13141         (gst_queue_set_property), (gst_queue_get_property):
13142         Some cleanups.
13143
13144         * tests/threadstate/threadstate1.c: (main):
13145         Make a thread test compile and run... very silly..
13146
13147
13148 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13149
13150         * docs/manual/appendix-porting.xml:
13151           Mention removal of libgstgconf-0.9.la and existence of gconf
13152           elements.
13153
13154 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13155
13156         * docs/pwg/advanced-clock.xml:
13157         * docs/pwg/appendix-porting.xml:
13158         * docs/pwg/intro-preface.xml:
13159         * docs/pwg/other-base.xml:
13160         * docs/pwg/other-manager.xml:
13161         * docs/pwg/other-nton.xml:
13162         * docs/pwg/other-ntoone.xml:
13163         * docs/pwg/other-oneton.xml:
13164         * docs/pwg/pwg.xml:
13165           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13166           demuxer), remove n-to-n (was never written), fix some code examples
13167           and links and update the porting section to include all this.
13168
13169 2005-07-19  Wim Taymans  <wim@fluendo.com>
13170
13171         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13172         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13173         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13174         (gst_queue_src_activate_push), (gst_queue_change_state),
13175         (gst_queue_get_property):
13176         * gst/gstqueue.h:
13177         Propagate GstFlowReturn more intelligently upstream and output
13178         an ERROR/EOS when streaming stopped due to fatal error.
13179
13180 2005-07-19  Wim Taymans  <wim@fluendo.com>
13181
13182         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13183         Don't block forever for the state change to complete, the
13184         pipeline already did with a sensible timeout.
13185
13186 2005-07-19  Wim Taymans  <wim@fluendo.com>
13187
13188         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13189         Make sure we never call the create function is we
13190         got deactivated.
13191
13192 2005-07-19  Andy Wingo  <wingo@pobox.com>
13193
13194         * gst/parse/parse.l: Attempt to solve bug #172815.
13195
13196 2005-07-19  Wim Taymans  <wim@fluendo.com>
13197
13198         * docs/design/part-clocks.txt:
13199         * docs/design/part-events.txt:
13200         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13201         Small docs updates.
13202         Only update the seeking values when we are not
13203         busy streaming.
13204
13205 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13206
13207         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13208           Oops, ignore the result of gst_pad_push_event here.
13209
13210 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13211
13212         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13213         (gst_base_src_activate_push):
13214           Send discont event from the loop function, as pads
13215           aren't activated yet in the activate_push handler.
13216
13217         * gst/gstbin.c: (bin_bus_handler):
13218           Don't leak element name.
13219
13220 2005-07-18  Andy Wingo  <wingo@pobox.com>
13221
13222         * configure.ac: Use AS_LIBTOOL_TAGS.
13223
13224 2005-07-18  Wim Taymans  <wim@fluendo.com>
13225
13226         * docs/gst/gstreamer.types:
13227         Remove deleted types.
13228
13229 2005-07-18  Wim Taymans  <wim@fluendo.com>
13230
13231         * check/elements/gstfakesrc.c: (GST_START_TEST):
13232         * configure.ac:
13233         * gst/Makefile.am:
13234         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13235         (init_popt_callback):
13236         * gst/gst.h:
13237         * gst/gst_private.h:
13238         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13239         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13240         * gst/gstbin.h:
13241         * gst/gstbus.h:
13242         * gst/gstconfig.h.in:
13243         * gst/gstelement.c: (gst_element_class_init),
13244         (gst_element_set_base_time), (gst_element_get_base_time),
13245         (iterator_fold_with_resync), (gst_element_change_state),
13246         (gst_element_dispose), (gst_element_get_bus):
13247         * gst/gstelement.h:
13248         * gst/gstelementfactory.h:
13249         * gst/gsterror.c: (_gst_core_errors_init):
13250         * gst/gsterror.h:
13251         * gst/gstevent.h:
13252         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13253         * gst/gstindex.c:
13254         * gst/gstinfo.c: (_gst_debug_init):
13255         * gst/gstmessage.c: (_gst_message_copy):
13256         * gst/gstmessage.h:
13257         * gst/gstminiobject.h:
13258         * gst/gstobject.c:
13259         * gst/gstobject.h:
13260         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13261         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13262         * gst/gstpad.h:
13263         * gst/gstparse.h:
13264         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13265         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13266         (gst_pipeline_get_last_stream_time):
13267         * gst/gstpipeline.h:
13268         * gst/gstpluginfeature.h:
13269         * gst/gstquery.h:
13270         * gst/gstscheduler.c:
13271         * gst/gstscheduler.h:
13272         * gst/gststructure.h:
13273         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13274         (gst_task_finalize), (gst_task_func), (gst_task_create),
13275         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13276         (gst_task_stop), (gst_task_pause):
13277         * gst/gsttask.h:
13278         * gst/gsttypefind.h:
13279         * gst/gsttypes.h:
13280         * gst/registries/gstlibxmlregistry.c: (load_feature),
13281         (gst_xml_registry_load), (gst_xml_registry_save_feature):
13282         * gst/registries/gstxmlregistry.c:
13283         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13284         * gst/schedulers/threadscheduler.c:
13285         * libs/gst/control/dparammanager.h:
13286         * tools/gst-inspect.c: (print_element_list),
13287         (print_plugin_features), (print_element_features):
13288         * tools/gst-xmlinspect.c: (print_element_list),
13289         (print_plugin_info), (main):
13290         Removed plugable schedulers.
13291         Removed Scheduler/Manager from elements.
13292         Removed gsttypes.h, rearranged includes.
13293         Removed dependency pad<->element, element<>pipeline, and
13294         various others,  fix includes.
13295         implement gst_pad_get_parent() with gst_object_get_parent()
13296         Make GstTask sefcontained.
13297         Fix _get_state() on GstBin, it did not return ASYNC with a 0
13298         timeout.
13299         Fix endless loop in iterator_fold_with_resync.
13300
13301
13302 2005-07-18  Wim Taymans  <wim@fluendo.com>
13303
13304         * gst/Makefile.am:
13305         * gst/gstarch.h:
13306         Remove old file.
13307
13308 2005-07-18  Wim Taymans  <wim@fluendo.com>
13309
13310         * gst/Makefile.am:
13311         No more cothreads.h
13312
13313 2005-07-18  Wim Taymans  <wim@fluendo.com>
13314
13315         * gst/cothreads.c:
13316         * gst/cothreads.h:
13317         Let's remove these.
13318
13319 2005-07-18  Wim Taymans  <wim@fluendo.com>
13320
13321         * docs/design/part-dynamic.txt:
13322         * docs/design/part-events.txt:
13323         * docs/design/part-seeking.txt:
13324         Some more docs in the works.
13325
13326         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13327         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13328         (gst_base_transform_setcaps), (gst_base_transform_get_size),
13329         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13330         (gst_base_transform_handle_buffer),
13331         (gst_base_transform_sink_activate_push),
13332         (gst_base_transform_src_activate_pull),
13333         (gst_base_transform_set_passthrough),
13334         (gst_base_transform_is_passthrough):
13335         Refcounting fixes.
13336
13337         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13338         Cleanups.
13339
13340         * gst/gstevent.c: (gst_event_finalize):
13341         Set SRC to NULL.
13342
13343         * gst/gstutils.c: (gst_element_unlink),
13344         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13345         (gst_pad_proxy_setcaps):
13346         * gst/gstutils.h:
13347         Add _get_parent_element() to get a pads parent as an element.
13348
13349 2005-07-18  Wim Taymans  <wim@fluendo.com>
13350
13351         * check/gst/gstbin.c: (GST_START_TEST):
13352         Remove bogus test.
13353
13354 2005-07-18  Wim Taymans  <wim@fluendo.com>
13355
13356         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13357         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13358         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13359         (gst_base_sink_event), (gst_base_sink_do_sync),
13360         (gst_base_sink_chain), (gst_base_sink_loop),
13361         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13362         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13363         Refcounting fixes.
13364         Fix logic for returning ASYNC when not prerolled.
13365
13366 2005-07-18  Wim Taymans  <wim@fluendo.com>
13367
13368         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13369         Fix nasty refcount bug.
13370
13371 2005-07-16 Philippe Khalaf <burger@speedy.org>
13372
13373         * gst/elements/gstfdsrc.c:
13374         * gst/elements/gstfdsrc.h:
13375         * gst/elements/gstelements.c:
13376         * gst/elements/Makefile.am:
13377         Ported fdsrc to 0.9.
13378
13379 2005-07-16  Wim Taymans  <wim@fluendo.com>
13380
13381         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13382         (gst_base_sink_do_sync):
13383         Fix compile error.
13384
13385 2005-07-16  Wim Taymans  <wim@fluendo.com>
13386
13387         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13388         (gst_base_sink_event), (gst_base_sink_get_times),
13389         (gst_base_sink_do_sync), (gst_base_sink_change_state):
13390         * gst/base/gstbasesink.h:
13391         Store and use discont values when syncing buffers as described
13392         in design docs.
13393         
13394         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13395         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13396         (gst_base_src_activate_push):
13397         Push discont event when starting.
13398
13399         * gst/elements/gstidentity.c: (gst_identity_transform):
13400         Small cleanups.
13401
13402         * gst/gstbin.c: (gst_bin_change_state):
13403         Small cleanups in base_time  distribution.
13404
13405         * gst/gstelement.c: (gst_element_set_base_time),
13406         (gst_element_get_base_time), (gst_element_change_state):
13407         * gst/gstelement.h:
13408         Added methods for the base_time of the element.
13409         Some MT fixes.
13410
13411         * gst/gstpipeline.c: (gst_pipeline_send_event),
13412         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13413         (gst_pipeline_get_last_stream_time):
13414         * gst/gstpipeline.h:
13415         MT fixes.
13416         Handle seeking as described in design doc, remove stream_time
13417         hack.
13418         Cleanups clock and stream_time selection code. Added accessors
13419         for the stream_time.
13420         
13421
13422 2005-07-16  Andy Wingo  <wingo@pobox.com>
13423
13424         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13425         (#305291).
13426
13427 2005-07-16  Wim Taymans  <wim@fluendo.com>
13428
13429         * check/gst/gstbin.c: (GST_START_TEST):
13430         Make elements silent as the deep_notify refs the
13431         parent, which might make the test fail.
13432
13433         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13434         Don't hold the lock for too long.
13435
13436 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
13437
13438         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13439           Don't unref the caps we passed to gst_caps_make_writable() after
13440           passing them. gst_caps_make_writable() will do that for us.
13441
13442 2005-07-15  Andy Wingo  <wingo@pobox.com>
13443
13444         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13445         (#157311).
13446
13447         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13448         own marshalling function for the handoff signal. Properly type the
13449         buffer as a buffer. Fixes some warnings. Should do a more general
13450         solution.
13451         (gst_identity_class_init): Plug into the right marshaller.
13452
13453 2005-07-15  Wim Taymans  <wim@fluendo.com>
13454
13455         * docs/design/part-TODO.txt:
13456         * docs/design/part-clocks.txt:
13457         * docs/design/part-element-sink.txt:
13458         * docs/design/part-events.txt:
13459         * docs/design/part-gstpipeline.txt:
13460         Updated docs, mostly DISCONT related.
13461
13462 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
13463
13464         * docs/pwg/building-pads.xml:
13465           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13466
13467 2005-07-15  Andy Wingo  <wingo@pobox.com>
13468
13469         * tools/gst-typefind.c: Update, add copyright block.
13470
13471         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13472         Normalize and truncate caps before fixation.
13473
13474         * gst/gstcaps.h:
13475         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13476         discards all but the first structure from its argument.
13477
13478 2005-07-15  Wim Taymans  <wim@fluendo.com>
13479
13480         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13481         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13482         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13483         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13484         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13485         (gst_base_transform_chain), (gst_base_transform_change_state),
13486         (gst_base_transform_set_passthrough),
13487         (gst_base_transform_is_passthrough):
13488         * gst/base/gstbasetransform.h:
13489         Make passthrough work using the bufferpools.
13490         Changed API a bit, subclasses have to write into a buffer
13491         provided by the base class.
13492         More debug info in nego functions.
13493         
13494         * gst/elements/gstidentity.c: (gst_identity_init),
13495         (gst_identity_transform):
13496         Port to new base class.
13497
13498 2005-07-15  Wim Taymans  <wim@fluendo.com>
13499
13500         * gst/gstmessage.c: (gst_message_new_state_changed):
13501         * tools/gst-launch.c: (event_loop), (main):
13502         Totally dump messages in -launch with the -m option.
13503         Fix message name for State messages,
13504
13505 2005-07-14  Wim Taymans  <wim@fluendo.com>
13506
13507         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13508         Post error messages on errors.
13509
13510 2005-07-14  Wim Taymans  <wim@fluendo.com>
13511
13512         * gst/gstcaps.c: (gst_caps_do_simplify):
13513         Remove debug info.
13514
13515         * gst/gsterror.h:
13516         Define error for stream stopped.
13517
13518         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13519         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
13520         Do proper return values.
13521
13522         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13523         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13524         (gst_pad_get_range):
13525         Better return values.
13526
13527         * gst/gstpad.h:
13528         Reorganise return values, add macro to check for fatal errors.
13529
13530         * gst/gstqueue.c: (gst_queue_chain):
13531         Return proper GstFlowReturn values,
13532
13533 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13534
13535         * docs/gst/gstreamer-sections.txt:
13536         * docs/gst/gstreamer.types:
13537         * docs/gst/tmpl/gst.sgml:
13538         * docs/gst/tmpl/gstbasesink.sgml:
13539         * docs/gst/tmpl/gstbasesrc.sgml:
13540         * docs/gst/tmpl/gstbasetransform.sgml:
13541         * docs/gst/tmpl/gstbin.sgml:
13542         * docs/gst/tmpl/gstbuffer.sgml:
13543         * docs/gst/tmpl/gstcaps.sgml:
13544         * docs/gst/tmpl/gstclock.sgml:
13545         * docs/gst/tmpl/gstcompat.sgml:
13546         * docs/gst/tmpl/gstconfig.sgml:
13547         * docs/gst/tmpl/gstelement.sgml:
13548         * docs/gst/tmpl/gstelementdetails.sgml:
13549         * docs/gst/tmpl/gstelementfactory.sgml:
13550         * docs/gst/tmpl/gstenumtypes.sgml:
13551         * docs/gst/tmpl/gsterror.sgml:
13552         * docs/gst/tmpl/gstevent.sgml:
13553         * docs/gst/tmpl/gstfakesink.sgml:
13554         * docs/gst/tmpl/gstfakesrc.sgml:
13555         * docs/gst/tmpl/gstfilesink.sgml:
13556         * docs/gst/tmpl/gstfilesrc.sgml:
13557         * docs/gst/tmpl/gstfilter.sgml:
13558         * docs/gst/tmpl/gstformat.sgml:
13559         * docs/gst/tmpl/gstghostpad.sgml:
13560         * docs/gst/tmpl/gstimplementsinterface.sgml:
13561         * docs/gst/tmpl/gstindex.sgml:
13562         * docs/gst/tmpl/gstindexfactory.sgml:
13563         * docs/gst/tmpl/gstinfo.sgml:
13564         * docs/gst/tmpl/gstiterator.sgml:
13565         * docs/gst/tmpl/gstmacros.sgml:
13566         * docs/gst/tmpl/gstmemchunk.sgml:
13567         * docs/gst/tmpl/gstminiobject.sgml:
13568         * docs/gst/tmpl/gstobject.sgml:
13569         * docs/gst/tmpl/gstpad.sgml:
13570         * docs/gst/tmpl/gstpadtemplate.sgml:
13571         * docs/gst/tmpl/gstparse.sgml:
13572         * docs/gst/tmpl/gstpipeline.sgml:
13573         * docs/gst/tmpl/gstplugin.sgml:
13574         * docs/gst/tmpl/gstpluginfeature.sgml:
13575         * docs/gst/tmpl/gstquery.sgml:
13576         * docs/gst/tmpl/gstqueue.sgml:
13577         * docs/gst/tmpl/gstregistry.sgml:
13578         * docs/gst/tmpl/gstregistrypool.sgml:
13579         * docs/gst/tmpl/gstscheduler.sgml:
13580         * docs/gst/tmpl/gstschedulerfactory.sgml:
13581         * docs/gst/tmpl/gststructure.sgml:
13582         * docs/gst/tmpl/gstsystemclock.sgml:
13583         * docs/gst/tmpl/gsttaglist.sgml:
13584         * docs/gst/tmpl/gsttagsetter.sgml:
13585         * docs/gst/tmpl/gsttrace.sgml:
13586         * docs/gst/tmpl/gsttrashstack.sgml:
13587         * docs/gst/tmpl/gsttypefind.sgml:
13588         * docs/gst/tmpl/gsttypefindfactory.sgml:
13589         * docs/gst/tmpl/gsttypes.sgml:
13590         * docs/gst/tmpl/gsturihandler.sgml:
13591         * docs/gst/tmpl/gsturitype.sgml:
13592         * docs/gst/tmpl/gstutils.sgml:
13593         * docs/gst/tmpl/gstvalue.sgml:
13594         * docs/gst/tmpl/gstversion.sgml:
13595         * docs/gst/tmpl/gstxml.sgml:
13596         * docs/libs/tmpl/gstcontrol.sgml:
13597         * docs/libs/tmpl/gstdataprotocol.sgml:
13598         * docs/libs/tmpl/gstdparam.sgml:
13599         * docs/libs/tmpl/gstdplinint.sgml:
13600         * docs/libs/tmpl/gstdpman.sgml:
13601         * docs/libs/tmpl/gstdpsmooth.sgml:
13602         * docs/libs/tmpl/gstgetbits.sgml:
13603         * docs/libs/tmpl/gstunitconvert.sgml:
13604         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13605         (gst_push_src_base_init), (gst_push_src_class_init),
13606         (gst_push_src_init), (gst_push_src_create):
13607         * gst/base/gstpushsrc.h:
13608         * gst/elements/gstelements.c:
13609         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13610         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13611         (gst_fake_sink_init), (gst_fake_sink_set_property),
13612         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13613         (gst_fake_sink_event), (gst_fake_sink_preroll),
13614         (gst_fake_sink_render), (gst_fake_sink_change_state):
13615         * gst/elements/gstfakesink.h:
13616         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13617         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13618         (gst_fake_src_base_init), (gst_fake_src_class_init),
13619         (gst_fake_src_init), (gst_fake_src_event_handler),
13620         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13621         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13622         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13623         (gst_fake_src_create_buffer), (gst_fake_src_create),
13624         (gst_fake_src_start), (gst_fake_src_stop):
13625         * gst/elements/gstfakesrc.h:
13626         * gst/elements/gstfilesink.c: (_do_init),
13627         (gst_file_sink_base_init), (gst_file_sink_class_init),
13628         (gst_file_sink_init), (gst_file_sink_dispose),
13629         (gst_file_sink_set_location), (gst_file_sink_set_property),
13630         (gst_file_sink_get_property), (gst_file_sink_open_file),
13631         (gst_file_sink_close_file), (gst_file_sink_query),
13632         (gst_file_sink_event), (gst_file_sink_render),
13633         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13634         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13635         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13636         * gst/elements/gstfilesink.h:
13637         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13638         (gst_file_src_class_init), (gst_file_src_init),
13639         (gst_file_src_finalize), (gst_file_src_set_location),
13640         (gst_file_src_set_property), (gst_file_src_get_property),
13641         (gst_file_src_map_region), (gst_file_src_map_small_region),
13642         (gst_file_src_create_mmap), (gst_file_src_create_read),
13643         (gst_file_src_create), (gst_file_src_is_seekable),
13644         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13645         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13646         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13647         (gst_file_src_uri_handler_init):
13648         * gst/elements/gstfilesrc.h:
13649           more autistic cleanliness in functions/names/defines
13650
13651 2005-07-13  Andy Wingo  <wingo@pobox.com>
13652
13653         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13654         source couldn't negotiate.
13655
13656         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13657         connections again.
13658
13659         * gst/gstutils.h:
13660         * gst/gstutils.c (gst_element_link_pads_filtered): New old
13661         function. I am channeling Hades. Put your boots on suckers!!!
13662
13663 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13664
13665         * testsuite/caps/Makefile.am:
13666         * testsuite/caps/value_compare.c:
13667         * testsuite/caps/value_intersect.c:
13668         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13669           move two testsuite apps over to the check dir
13670
13671 2005-07-12  Wim Taymans  <wim@fluendo.com>
13672
13673         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13674         Added more debug info in the negotiate process.
13675
13676         * gst/gstmessage.h:
13677         Prepare for segment playback.
13678
13679         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
13680         Better debugging.
13681
13682         * gst/gstutils.c:
13683         Some more docs.
13684
13685         * tools/gst-launch.c: (main):
13686         NULL pipeline on errors.
13687
13688 2005-07-12  Andy Wingo  <wingo@pobox.com>
13689
13690         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
13691         not it comes from a malloc region. Make sure our copy gets freed.
13692
13693 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13694
13695         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13696         * check/gst/gstmessage.c: (GST_START_TEST):
13697         * check/gst/gststructure.c: (GST_START_TEST),
13698         (gst_structure_suite), (main):
13699           more testing
13700         * gst/gstelement.c: (gst_element_message_full):
13701           clean up GError and debug string now that they get copied
13702         * gst/gstmessage.c: (gst_message_new_error),
13703         (gst_message_new_warning), (gst_message_parse_error),
13704         (gst_message_parse_warning):
13705           use GST_TYPE_G_ERROR for structure_new, and take copies of
13706           arguments, so that we don't mess up refcounting
13707
13708 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13709
13710         * check/Makefile.am:
13711           add per-test valgrind targets
13712         * check/gst-libs/gdp.c: (GST_START_TEST),
13713         (gst_data_protocol_suite), (main):
13714           clean up
13715
13716 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13717
13718         * check/Makefile.am:
13719           instate more valgrindable tests
13720         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13721         (GST_START_TEST), (fakesrc_suite):
13722         * check/gst/gstpad.c: (GST_START_TEST):
13723         * check/gst/gststructure.c: (GST_START_TEST):
13724           fix test leaks
13725         * docs/gst/tmpl/gstminiobject.sgml:
13726         * gst/gstpad.c: (gst_pad_finalize):
13727           fix the static mutex leak
13728
13729 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13730
13731         * check/Makefile.am:
13732           add two more tests for valgrinding
13733         * check/gst/gstvalue.c: (GST_START_TEST):
13734           test refcount of deserialized buffer, found a leak
13735         * docs/gst/gstreamer-docs.sgml:
13736         * docs/gst/gstreamer-sections.txt:
13737         * docs/gst/gstreamer.types:
13738         * docs/gst/tmpl/gstminiobject.sgml:
13739           add miniobject to docs
13740         * gst/gstminiobject.c:
13741           add some docs
13742         * gst/gstvalue.c: (gst_value_deserialize_buffer),
13743         (gst_string_unwrap):
13744           fix a hard-to-find invalid write for one of the tests
13745           fix a leak for deserialized buffers
13746
13747 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13748
13749         * docs/pwg/advanced-events.xml:
13750         * docs/pwg/advanced-request.xml:
13751         * docs/pwg/advanced-scheduling.xml:
13752         * docs/pwg/appendix-porting.xml:
13753         * docs/pwg/building-boiler.xml:
13754         * docs/pwg/intro-preface.xml:
13755         * docs/pwg/other-ntoone.xml:
13756           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
13757           of example code and explanation for pad activation, loop() and
13758           getrange() functions and a bit more. Remove old comments pointing
13759           to loop-functions.
13760         * examples/pwg/Makefile.am:
13761           Add loop/getrange examples.
13762
13763 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13764
13765         * configure.ac:
13766           check for valgrind binary + some fixes
13767         * check/gst.supp:
13768           valgrind suppressions for the tests
13769         * check/Makefile.am:
13770           add a valgrind: target that valgrinds the unit tests
13771         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
13772         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13773         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13774         * check/gst/gstghostpad.c:
13775           added some cleanup
13776         * check/gst/gstdata.c:
13777           removed
13778         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
13779         (thread_unref), (gst_mini_object_suite), (main):
13780           added
13781         * gst/gst.c: (gst_deinit):
13782         * gst/gst.h:
13783           add a method to clean up.
13784         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13785         (gst_system_clock_obtain):
13786           allow for disposing the system clock.
13787         * tools/gst-launch.c: (main):
13788           deinit
13789
13790 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13791
13792         * docs/gst/tmpl/gstbasesrc.sgml:
13793         * docs/gst/tmpl/gstfakesrc.sgml:
13794         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13795         (gst_base_src_init), (gst_base_src_set_property),
13796         (gst_base_src_get_property), (gst_base_src_get_range),
13797         (gst_base_src_start):
13798         * gst/base/gstbasesrc.h:
13799           add num-buffers property
13800         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13801         (gst_fakesrc_init), (gst_fakesrc_set_property),
13802         (gst_fakesrc_get_property), (gst_fakesrc_create),
13803         (gst_fakesrc_start):
13804           remove num-buffers property
13805
13806 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13807
13808         * docs/gst/gstreamer-sections.txt:
13809         * docs/gst/tmpl/gstbasesink.sgml:
13810         * docs/gst/tmpl/gstbasesrc.sgml:
13811         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13812         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13813         (gst_base_sink_finalize), (gst_base_sink_set_clock),
13814         (gst_base_sink_set_property), (gst_base_sink_get_property),
13815         (gst_base_sink_handle_object), (gst_base_sink_event),
13816         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13817         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
13818         (gst_base_sink_loop), (gst_base_sink_deactivate),
13819         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
13820         (gst_base_sink_change_state):
13821         * gst/base/gstbasesink.h:
13822         * gst/base/gstbasesrc.h:
13823         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
13824         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13825         (gst_filesink_init):
13826           more macro splitting
13827
13828 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13829
13830         * gst/gstelement.c: (gst_element_get_bus):
13831           add debug
13832         * tools/gst-launch.c: (check_intr), (event_loop):
13833           fix bus leaks
13834
13835 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13836
13837         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
13838           fix a caps leak
13839
13840 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13841
13842         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13843         (gst_base_src_finalize):
13844           add finalize method and clean up properly
13845         * gst/gstpipeline.c: (gst_pipeline_dispose):
13846           add debug
13847
13848 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13849
13850         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
13851         (gst_bin_suite):
13852           add more things to check
13853         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13854         * gst/gstelement.c:
13855           more debug
13856
13857 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13858
13859         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13860         (GST_START_TEST), (fakesrc_suite):
13861         * check/gst-libs/gdp.c: (GST_START_TEST):
13862         * check/gst/gst.c: (GST_START_TEST):
13863         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13864         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13865         * check/gst/gstbus.c: (GST_START_TEST):
13866         * check/gst/gstcaps.c: (GST_START_TEST):
13867         * check/gst/gstdata.c: (GST_START_TEST):
13868         * check/gst/gstelement.c: (GST_START_TEST):
13869         * check/gst/gstghostpad.c: (GST_START_TEST):
13870         * check/gst/gstiterator.c: (GST_START_TEST):
13871         * check/gst/gstmessage.c: (GST_START_TEST):
13872         * check/gst/gstobject.c: (GST_START_TEST):
13873         * check/gst/gstpad.c: (GST_START_TEST):
13874         * check/gst/gststructure.c: (GST_START_TEST):
13875         * check/gst/gstsystemclock.c: (GST_START_TEST),
13876         (gst_systemclock_suite):
13877         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13878         * check/gst/gstvalue.c: (GST_START_TEST):
13879         * check/pipelines/cleanup.c: (GST_START_TEST):
13880         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13881         * check/states/sinks.c: (GST_START_TEST):
13882         * check/gstcheck.c: (gst_check_init):
13883         * check/gstcheck.h:
13884           add debugging category
13885           use GST_START_TEST now, so we add a debug line
13886
13887 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13888
13889         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
13890           add test for state change message on a bin
13891         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
13892           add another test
13893         * gst/gstbin.c: (gst_bin_init):
13894         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
13895         * gst/gstelement.c: (gst_element_post_message),
13896         (gst_element_set_state):
13897         * gst/gstelementfactory.c: (gst_element_factory_create):
13898         * gst/gstmessage.c: (gst_message_new):
13899         * gst/gstscheduler.c:
13900           various debugging additions and cleanups
13901
13902 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13903
13904         * check/Makefile.am:
13905         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
13906         (main):
13907           adding tests for elements
13908         * gst/gstelement.c: (gst_element_dispose):
13909
13910 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13911
13912         * gst/registries/gstlibxmlregistry.c: (load_feature):
13913           plug more leaks.  A simple gst_init() now is leakfree, yay.
13914
13915 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13916
13917         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
13918         (gst_xml_registry_load):
13919           plug another memleak
13920
13921 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13922
13923         * configure.ac:
13924           use GST_SET_ERROR_CFLAGS
13925         * docs/faq/cvs.xml:
13926           change to ERROR_CFLAGS
13927
13928 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
13929
13930         * configure.ac:
13931           make GST_ERROR_CFLAGS overridable and re-enable Werror
13932         * docs/faq/cvs.xml:
13933           add a note about error CFLAGS
13934         * docs/gst/tmpl/gstfakesrc.sgml:
13935         * gst/elements/gstfakesrc.c:
13936           comment out some unused code
13937         * gst/gst.c: (split_and_iterate):
13938         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
13939         (load_feature):
13940           plug some memleaks
13941
13942 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13943
13944         * common/Makefile.am:
13945         * common/gtk-doc.mak:
13946         * docs/gst/Makefile.am:
13947           factor out gtk-doc.mak
13948
13949 2005-07-07  Wim Taymans  <wim@fluendo.com>
13950
13951         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
13952         (gst_thread_scheduler_dispose):
13953         Unlock the STREAM_LOCK completely.
13954
13955 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
13956
13957         * check/Makefile.am:
13958         * check/elements/.cvsignore:
13959         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13960         (START_TEST), (fakesrc_suite), (main):
13961         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13962         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
13963         (gst_fakesrc_create), (gst_fakesrc_start):
13964         * gst/elements/gstfakesrc.h:
13965           adding a first element test
13966
13967 2005-07-07  Andy Wingo  <wingo@pobox.com>
13968
13969         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
13970         debug message.
13971
13972 2005-07-07  Wim Taymans  <wim@fluendo.com>
13973
13974         * gst/gstquery.c:
13975         * gst/gstquery.h:
13976         Remove old types
13977
13978 2005-07-07  Wim Taymans  <wim@fluendo.com>
13979
13980         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
13981         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
13982         Allow subclasses to implement their own negotiation.
13983
13984 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13985
13986         * docs/design/part-gstbin.txt:
13987         * docs/design/part-gstpipeline.txt:
13988           Update design notes to reflect the movement of
13989           responsibility for bus handling from GstPipeline to
13990           GstBin
13991
13992 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13993
13994         * configure.ac:
13995           Remove unnecessary queue2/3/4 examples.
13996
13997 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
13998
13999         * examples/Makefile.am:
14000         * examples/helloworld/helloworld.c: (event_loop), (main):
14001         * examples/queue/queue.c: (event_loop), (main):
14002         * examples/queue2/queue2.c: (main):
14003           Update a couple of the examples to work again.
14004
14005         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14006         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14007          Spelling corrections and extra debug.
14008         
14009         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14010         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14011         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14012         * gst/gstbin.h:
14013         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14014         (gst_pipeline_change_state):
14015         * gst/gstpipeline.h:
14016           Move the bus handler for children to the GstBin, and create a
14017           separate bus for receiving messages from children to the one the
14018           bus sends 'upwards' on.
14019
14020 2005-07-06  Wim Taymans  <wim@fluendo.com>
14021
14022         * gst/base/README:
14023         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14024         (gst_base_sink_handle_object), (gst_base_sink_loop),
14025         (gst_base_sink_change_state):
14026         * gst/base/gstbasesink.h:
14027         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14028         (gst_base_src_init), (gst_base_src_setcaps),
14029         (gst_base_src_getcaps), (gst_base_src_loop),
14030         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14031         (gst_base_src_start), (gst_base_src_change_state):
14032         * gst/base/gstbasesrc.h:
14033         Make basesrc negotiate.
14034         Handle the case where preroll fails in basesink.
14035         Update README.
14036
14037 2005-07-06  Wim Taymans  <wim@fluendo.com>
14038
14039         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14040         Implement the fixate function.
14041         Clean up acceptcaps.
14042
14043 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14044
14045         * docs/pwg/building-filterfactory.xml:
14046         * docs/pwg/pwg.xml:
14047           Remove never-written filter-factory chapter; I'll add the various
14048           base classes to part 4 ("other element types") later on.
14049
14050 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14051
14052         * docs/pwg/advanced-negotiation.xml:
14053         * docs/pwg/building-boiler.xml:
14054         * docs/pwg/building-pads.xml:
14055         * docs/pwg/pwg.xml:
14056         * examples/pwg/Makefile.am:
14057           Add a chapter on caps negotiation, simplify the original code
14058           samples a bit w.r.t. caps negotiation, add link to the advanced
14059           section. Add a bunch of examples showing different use cases of
14060           different types of caps negotiation. Upstream renegotiation isn't
14061           fully documented yet since nobody knows how that works.
14062
14063 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14064
14065         * check/gst/gstpad.c:
14066         * check/gstcheck.c:
14067         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14068           if pad has no parent, return NULL as list of internal links
14069
14070 2005-07-05  Andy Wingo  <wingo@pobox.com>
14071
14072         * gst/elements/gstfilesrc.c:
14073         * gst/elements/gstfakesrc.c: 
14074         * gst/base/gstpushsrc.c:
14075         * gst/base/gstbasesrc.h: 
14076         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14077         
14078 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14079
14080         * Makefile.am:
14081           better report generation target (lcov needs a patch)
14082
14083 2005-07-05  Andy Wingo  <wingo@pobox.com>
14084
14085         * gst/elements, testsuite: Null if we got it...
14086
14087 2005-07-05  Wim Taymans  <wim@fluendo.com>
14088
14089         * configure.ac:
14090         * libs/gst/dataprotocol/Makefile.am:
14091         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14092         * libs/gst/dataprotocol/dataprotocol.h:
14093         * pkgconfig/Makefile.am:
14094         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14095         * pkgconfig/gstreamer-dataprotocol.pc.in:
14096         Ported dataprotol to 0.9. 
14097         Added pkgconfig files.
14098
14099 2005-07-05  Andy Wingo  <wingo@pobox.com>
14100
14101         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14102         Default to returning TRUE for the case when tranform_caps returns
14103         a fixed caps, like for identity or volume.
14104
14105         * check/gst/gstbus.c (pound_bus_with_messages): 
14106         * check/gst/gstmessage.c (START_TEST): 
14107         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14108         message API change.
14109
14110         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14111         logic weaks here: always run transform_caps, trying passthrough
14112         operation only if the original caps intersects with the transform.
14113
14114         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14115         source and sink caps.
14116
14117         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14118         Intersect the peer caps with the pad template before going into
14119         transform_caps.
14120         (gst_base_transform_transform_caps): More debugging.
14121
14122         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14123         src argument.
14124
14125 2005-07-04  Edward Hervey  <edward@fluendo.com>
14126
14127         * gst/gstutils.c:
14128         * gst/gstutils.h:
14129         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14130         in bindings.
14131
14132 2005-07-04  Andy Wingo  <wingo@pobox.com>
14133
14134         * check/gst/gstpad.c: Only set explicit caps on pads.
14135
14136 2005-07-01  Andy Wingo  <wingo@pobox.com>
14137
14138         * tests/network-clock.scm: Commentary update.
14139
14140         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14141         Didn't really make sense, not implementable with basetransform,
14142         etc.
14143         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14144         attempt at implementing the sync property, needs an unlock method.
14145
14146         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14147         New func, by default returns the same caps (the identity
14148         transformation).
14149         (gst_base_transform_getcaps): Uses transform_caps to return
14150         something sensible.
14151         (gst_base_transform_setcaps): Complicated logic to get caps on
14152         both pads, even if they are different, and to call set_caps once
14153         for every time both pads get their caps set.
14154         (gst_base_transform_handle_buffer): Give the ref to the transform
14155         function. Allows in-place modification of the buffer.
14156
14157         * gst/base/gstbasetransform.h (transform_caps): New class method.
14158         Given caps on one side, what can I do on the other.
14159         (set_caps): Take two caps, one for each side of the element.
14160
14161         * gst/gstpad.h:
14162         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14163         caps in place. This is safe because we can check the mutability of
14164         the caps, and a good idea because fixate functions are just called
14165         as a matter of last resort. (Not actually implemented.)
14166         (gst_pad_set_caps): If the caps we're setting is actually the same
14167         as the existing pad caps, just update the pointer without calling
14168         setcaps. Assert that caps is either NULL or fixed, as per the
14169         docs.
14170
14171         * gst/gstghostpad.c: Update for fixate changes.
14172
14173 2005-07-02  Andy Wingo  <wingo@pobox.com>
14174
14175         * gst/gstcaps.c:
14176         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14177         two refcounts makes it immutable, which is enough. Doc more.
14178
14179 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14180
14181         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14182           Put the mini_object into GValue as a mini_object,
14183           not a gpointer, since that's how we declared
14184           the signal.
14185
14186 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14187
14188         * examples/pwg/Makefile.am:
14189           Fix buildbot again.
14190
14191 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14192
14193         * docs/pwg/building-testapp.xml:
14194           Add extra check.
14195         * examples/pwg/Makefile.am:
14196           Fix buildbot.
14197
14198 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14199
14200         * configure.ac:
14201         * examples/Makefile.am:
14202         * examples/pwg/Makefile.am:
14203         * examples/pwg/extract.pl:
14204           Enable building the PWG examples.
14205         * docs/pwg/advanced-interfaces.xml:
14206           Add URI interface stub.
14207         * docs/pwg/advanced-types.xml:
14208         * docs/pwg/other-autoplugger.xml:
14209         * docs/pwg/appendix-porting.xml:
14210         * docs/pwg/pwg.xml:
14211           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14212         * docs/pwg/building-boiler.xml:
14213         * docs/pwg/building-chainfn.xml:
14214         * docs/pwg/building-pads.xml:
14215         * docs/pwg/building-props.xml:
14216         * docs/pwg/building-state.xml:
14217         * docs/pwg/building-testapp.xml:
14218           Update the building-*.xml parts for 0.9 changes. All examples
14219           code blocks compile in examples/pwg/*.
14220
14221 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14222
14223         * docs/manual/advanced-autoplugging.xml:
14224         * docs/manual/appendix-checklist.xml:
14225         * docs/manual/appendix-integration.xml:
14226         * docs/manual/highlevel-components.xml:
14227           Fix playbin/decodebin examples, update docs a bit, mention bus
14228           instead of signals in various places, mention kmplayer and
14229           kaffeine since they have a working GStreamer backend in the KDE
14230           section.
14231
14232 2005-06-30  Wim Taymans  <wim@fluendo.com>
14233
14234         * CHANGES-0.9:
14235         * docs/design/draft-ghostpads.txt:
14236         * docs/design/draft-push-pull.txt:
14237         * docs/design/draft-query.txt:
14238         * docs/design/part-TODO.txt:
14239         * docs/design/part-query.txt:
14240         Added CHANGES-0.9 doc, updated status of other docs.
14241         
14242         * gst/gstquery.h:
14243         Remove "hmm" macro
14244
14245 2005-06-30  Wim Taymans  <wim@fluendo.com>
14246
14247         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14248         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14249         (gst_base_sink_change_state):
14250         * gst/base/gstbasesink.h:
14251         Some tweaks, only EOS and a buffer complete a preroll.
14252
14253 2005-06-30  Andy Wingo  <wingo@pobox.com>
14254
14255         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14256         activate_push down to the internal pad as well.
14257
14258 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14259
14260         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14261
14262         * gst/gsttaginterface.c:
14263           Some documentation fixes (#307394 and #307397).
14264
14265 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
14266
14267         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14268
14269         * gst/gstvalue.c: (gst_value_intersect_list):
14270           Fix memleak (#309125).
14271
14272 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14273
14274         * docs/manual/advanced-dataaccess.xml:
14275           Fix fakesrc example to compile; doesn't work, bug somewhere...?
14276         * docs/manual/basics-pads.xml:
14277           Add reference for filtered caps to above chapter.
14278
14279 2005-06-30  Wim Taymans  <wim@fluendo.com>
14280
14281         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14282         (gst_bin_change_state):
14283         Probes are gone.
14284         Lame attempt at making the state change function a bit
14285         more readable.
14286
14287 2005-06-30  Wim Taymans  <wim@fluendo.com>
14288
14289         * docs/design/part-clocks.txt:
14290         * docs/design/part-element-sink.txt:
14291         * docs/design/part-events.txt:
14292         * docs/design/part-preroll.txt:
14293         * docs/design/part-states.txt:
14294         Some more tweeks and additions to the docs.
14295
14296 2005-06-30  Wim Taymans  <wim@fluendo.com>
14297
14298         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14299         (default_have_data), (gst_pad_class_init), (gst_pad_init),
14300         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14301         (gst_pad_check_pull_range), (gst_pad_get_range),
14302         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14303         * gst/gstpad.h:
14304         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14305         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14306         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14307         (gst_pad_remove_buffer_probe):
14308         Removed atomic operations, use existing LOCK.
14309         Move exception handling out of main code path.
14310
14311 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14312
14313         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14314         (silly_return_true_function), (gst_pad_class_init),
14315         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14316         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14317         (gst_pad_send_event):
14318           Fix accumulator, add default value by using _emitv() instead
14319           of _emit() for signal emission.
14320
14321 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14322
14323         * docs/manual/advanced-dataaccess.xml:
14324         * examples/manual/Makefile.am:
14325           Add probe example.
14326         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14327           Make work (??).
14328
14329 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
14330
14331         * gst/elements/gstfilesink.c: (gst_filesink_render):
14332           Simplify code so that we don't have to handle short
14333           writes and return GST_FLOW_ERROR if an error occured.
14334
14335 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14336
14337         * docs/gst/gstreamer-docs.sgml:
14338           Remove probes more.
14339
14340 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14341
14342         * docs/gst/gstreamer-sections.txt:
14343         * docs/gst/tmpl/gstpad.sgml:
14344         * docs/gst/tmpl/gstprobe.sgml:
14345         * gst/Makefile.am:
14346         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14347         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14348         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14349         (gst_pad_push_event), (gst_pad_send_event):
14350         * gst/gstpad.h:
14351         * gst/gstutils.c: (gst_pad_add_data_probe),
14352         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14353         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14354         (gst_pad_remove_buffer_probe):
14355         * gst/gstutils.h:
14356           Remove old probes, add new g-signal-based probes and some utility
14357           functions.
14358
14359 2005-06-29  Edward Hervey  <edward@fluendo.com>
14360
14361         * gst/gstelementfactory.c:
14362         * gst/gstutils.h:
14363         * gst/gstutils.c:
14364         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14365         the definition to the header file.
14366
14367 2005-06-29  Andy Wingo  <wingo@pobox.com>
14368
14369         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14370         plugins from the source directory.
14371
14372 2005-06-29  Wim Taymans  <wim@fluendo.com>
14373
14374         * docs/gst/tmpl/gstbuffer.sgml:
14375         * docs/gst/tmpl/gstclock.sgml:
14376         Some fixings for blantently wrong text.
14377
14378 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14379
14380         * check/Makefile.am:
14381         * gst/gst.c: (add_path_func), (init_pre):
14382         * gst/gstregistry.c: (gst_registry_add_path):
14383           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14384           only scan the GST_PLUGIN_PATH locations, and not add
14385           system locations
14386
14387 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14388
14389         * docs/gst/gstreamer-sections.txt:
14390         * docs/gst/tmpl/gstbasesrc.sgml:
14391         * gst/gstelement.c:
14392         * gst/gstelement.h:
14393         * gst/gstevent.c:
14394         * gst/gstutils.c:
14395           doc fixes
14396
14397 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14398
14399         * docs/manual/advanced-autoplugging.xml:
14400           Fix autoplugging example.
14401
14402 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14403
14404         * docs/manual/advanced-autoplugging.xml:
14405         * docs/manual/mime-world.fig:
14406           Try to get autoplugging working, fix type detection. Fix text
14407           in hello-world image.
14408
14409 2005-06-29  Wim Taymans  <wim@fluendo.com>
14410
14411         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14412         (gst_base_sink_change_state):
14413         Small debug line.
14414
14415         * gst/gstclock.h:
14416         map SIGNAL and BROADCAST to the right function.
14417
14418         * gst/gstobject.h:
14419         Remove redundant braces.
14420
14421         * gst/gstpad.c: (gst_pad_set_caps):
14422         Don't call setcaps function when reseting caps to NULL.
14423
14424         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14425         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14426         (gst_system_clock_id_unschedule):
14427         Use BROADCAST as this is what we do.
14428
14429 2005-06-29  Wim Taymans  <wim@fluendo.com>
14430
14431         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14432         We are actually prerolling before commiting the state
14433         change. 
14434
14435 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14436
14437         * docs/manual/advanced-clocks.xml:
14438         * docs/manual/advanced-interfaces.xml:
14439         * docs/manual/advanced-metadata.xml:
14440         * docs/manual/advanced-position.xml:
14441         * docs/manual/advanced-schedulers.xml:
14442         * docs/manual/advanced-threads.xml:
14443         * docs/manual/appendix-porting.xml:
14444         * docs/manual/basics-bins.xml:
14445         * docs/manual/basics-bus.xml:
14446         * docs/manual/basics-elements.xml:
14447         * docs/manual/basics-helloworld.xml:
14448         * docs/manual/basics-pads.xml:
14449         * docs/manual/highlevel-components.xml:
14450         * docs/manual/manual.xml:
14451         * docs/manual/thread.fig:
14452           Update (until threads/scheduling) Application Development Manual;
14453           remove GstThread, add GstBus, add simple porting checklist, add
14454           documentation for tag writing, clocks, make all examples until this
14455           part compile and run.
14456         * examples/manual/Makefile.am:
14457           Update from changes to Application Development Manual; add bus
14458           example, remove thread example.
14459
14460 2005-06-28  Wim Taymans  <wim@fluendo.com>
14461
14462         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14463         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14464         (gst_bus_source_dispatch):
14465         Add debugging messages.
14466         Make internal methods static.
14467         Handle the case where the bus is flushed in the handler.
14468         
14469         * gst/gstelement.c: (gst_element_get_bus):
14470         Fix refcount in _get_bus();
14471
14472         * gst/gstpipeline.c: (gst_pipeline_change_state),
14473         (gst_pipeline_get_clock_func):
14474         Clock refcounting fixes.
14475         Handle the case where preroll timed out more gracefully.
14476         
14477         * gst/gstsystemclock.c: (gst_system_clock_dispose):
14478         Clean up the internal thread in dispose. This is needed
14479         for subclasses that actually get disposed.
14480         
14481         * gst/schedulers/threadscheduler.c:
14482         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14483         (gst_thread_scheduler_dispose):
14484         Free thread pool in dispose.
14485
14486 2005-06-28  Andy Wingo  <wingo@pobox.com>
14487
14488         * tests/network-clock-utils.scm (debug, print-event): New utils.
14489
14490         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14491         (*packet-loss*): Unified loss probability.
14492         (network-time): Report out-of-band events.
14493
14494         * tests/plot-data: Add support for out-of-band events. Hack it
14495         into this script instead of passing it down the pipe; should fix
14496         this later.
14497
14498 2005-06-28  Wim Taymans  <wim@fluendo.com>
14499
14500         * docs/gst/gstreamer.types:
14501         * docs/gst/tmpl/gstbasesrc.sgml:
14502         * docs/gst/tmpl/gstpad.sgml:
14503         Docs fixes.
14504
14505 2005-06-28  Wim Taymans  <wim@fluendo.com>
14506
14507         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14508         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
14509         (gst_proxy_pad_do_fixatecaps):
14510         Correctly proxy the check_pull_range function.
14511
14512 2005-06-28  Andy Wingo  <wingo@pobox.com>
14513
14514         * tests/network-clock.scm: Removed need for slib.
14515         
14516 2005-06-28  Wim Taymans  <wim@fluendo.com>
14517
14518         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
14519         (gst_basesink_preroll_queue_flush):
14520         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
14521         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14522         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14523         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14524         (gst_proxy_pad_set_property):
14525         * gst/gstpad.c:
14526         * gst/gstpad.h:
14527         * gst/gstqueue.c: (gst_queue_init):
14528         The deprecated pad loop function is removed now.
14529
14530 2005-06-28  Andy Wingo  <wingo@pobox.com>
14531
14532         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
14533         New parameters, simulate network packet loss.
14534
14535         * tests/network-clock-utils.scm: Initialize the RNG.
14536
14537 2005-06-28  Wim Taymans  <wim@fluendo.com>
14538
14539         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
14540         (gst_basesink_event), (gst_basesink_deactivate):
14541         Flushing the preroll queue always needs to unlock the waiters.
14542
14543 2005-06-28  Edward Hervey  <edward@fluendo.com>
14544
14545         * gst/gstpipeline.c: (gst_pipeline_send_event): 
14546         Wheen a seek was successful on a pipeline, set the stream_time to the
14547         seek offset in order to have a synchronized stream_time.
14548
14549 2005-06-28  Wim Taymans  <wim@fluendo.com>
14550
14551         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14552         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14553         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14554         (gst_proxy_pad_do_fixatecaps):
14555         Call wrapper function instead of just calling the function
14556         pointers. This takes care of any locking and whatmore.
14557
14558 2005-06-28  Wim Taymans  <wim@fluendo.com>
14559
14560         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14561         (gst_pad_pull_range):
14562         * gst/gstpad.h:
14563         CONNECTED -> LINKED.
14564
14565 2005-06-28  Andy Wingo  <wingo@pobox.com>
14566
14567         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14568         source-munging commit!!!
14569
14570         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
14571         (gst_object_sink): Take gpointer arguments, not GstObject --
14572         avoids casts. Like GLib.
14573
14574         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14575         activate.
14576
14577 2005-06-27  Andy Wingo  <wingo@pobox.com>
14578
14579         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14580         remaining buffer.
14581
14582         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14583         returns a sorted copy of the trace list.
14584         (gst_alloc_trace_print_live): New API, only prints traces with
14585         live objects. Sort the list.
14586         (gst_alloc_trace_print_all): Sort the list.
14587         (gst_alloc_trace_print): Align columns.
14588
14589         * gst/elements/gstttypefindelement.c:
14590         * gst/elements/gsttee.c:
14591         * gst/base/gstbasesrc.c:
14592         * gst/base/gstbasesink.c:
14593         * gst/base/gstbasetransform.c:
14594         * gst/gstqueue.c: Adapt for pad activation changes.
14595
14596         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14597         sched.
14598         (gst_pipeline_dispose): Drop ref on sched.
14599
14600         * gst/gstpad.c (gst_pad_init): Set the default activate func.
14601         (gst_pad_activate_default): Push mode by default.
14602         (pre_activate_switch, post_activate_switch): New stubs, things to
14603         do before and after switching activation modes on pads.
14604         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14605         the pad's activate function to choose which mode to activate.
14606         Shortcut on deactivation and call the right function directly.
14607         (gst_pad_activate_pull): New API, (de)activates a pad in pull
14608         mode.
14609         (gst_pad_activate_push): New API, same for push mode.
14610         (gst_pad_set_activate_function) 
14611         (gst_pad_set_activatepull_function) 
14612         (gst_pad_set_activatepush_function): Setters for new API.
14613
14614         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14615         Trace all miniobjects.
14616         (gst_mini_object_make_writable): Unref the arg if we copy, like
14617         gst_caps_make_writable.
14618
14619         * gst/gstmessage.c (_gst_message_initialize): No trace init.
14620
14621         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
14622         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14623         Adapt for new pad API.
14624
14625         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14626
14627         * gst/gstelement.h:
14628         * gst/gstelement.c (gst_element_iterate_src_pads) 
14629         (gst_element_iterate_sink_pads): New API functions.
14630         
14631         * gst/gstelement.c (iterator_fold_with_resync): New utility,
14632         should fold into gstiterator.c in some form.
14633         (gst_element_pads_activate): Simplified via use of fold and
14634         delegation of decisions to gstpad->activate.
14635
14636         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14637         help in debugging.
14638
14639         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14640         class once in init, like gstmessage. Didn't run into this issue
14641         but it seems correct. Don't initialize a trace, gstminiobject does
14642         that.
14643
14644         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14645         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14646         to the bus.
14647         (assert_live_count): New util function, uses alloc traces to check
14648         cleanup.
14649
14650         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14651         To be modified when unlink drops the internal pad.
14652
14653 2005-06-27  Wim Taymans  <wim@fluendo.com>
14654
14655         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14656         (gst_bin_change_state):
14657         Cleanup the get_state() function a little, make sure it
14658         iterates the same set of elements.
14659         Added stub iterate_state_order().
14660
14661 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14662
14663         * docs/gst/gstreamer-docs.sgml:
14664         * docs/gst/gstreamer-sections.txt:
14665         * docs/gst/gstreamer.types:
14666         * docs/gst/tmpl/gstbasesink.sgml:
14667         * docs/gst/tmpl/gstbasesrc.sgml:
14668         * docs/gst/tmpl/gstbasetransform.sgml:
14669         * docs/gst/tmpl/gstelement.sgml:
14670         * docs/gst/tmpl/gstiterator.sgml:
14671         * gst/base/gstbasesrc.c:
14672         * gst/base/gstbasesrc.h:
14673         * gst/base/gstbasetransform.h:
14674         * gst/gstelement.c:
14675         * gst/gstiterator.h:
14676           adding basetransform and iterator docs
14677
14678 2005-06-27  Andy Wingo  <wingo@pobox.com>
14679
14680         * docs/design/part-activation.txt: Notes on how activation should
14681         work -- not quite implemented yet.
14682
14683 2005-06-25  Wim Taymans  <wim@fluendo.com>
14684
14685         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
14686         At least get the chain function correct, needs more
14687         fixing.
14688
14689 2005-06-25  Wim Taymans  <wim@fluendo.com>
14690
14691         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14692         (gst_basesink_handle_object), (gst_basesink_event),
14693         (gst_basesink_do_sync), (gst_basesink_handle_event),
14694         (gst_basesink_change_state):
14695         * gst/gsttask.h:
14696         Right, two problems here: ghostpads don't take locks and
14697         glib _rec_mutex_lock_full() with depth==0 still locks.
14698         Catch illegal locking and g_warn them.
14699
14700 2005-06-25  Wim Taymans  <wim@fluendo.com>
14701
14702         * check/states/sinks.c: (START_TEST), (gst_object_suite):
14703         Have to check for completion now...
14704
14705 2005-06-25  Wim Taymans  <wim@fluendo.com>
14706
14707         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14708         (gst_basesink_handle_object), (gst_basesink_event),
14709         (gst_basesink_do_sync), (gst_basesink_handle_event),
14710         (gst_basesink_change_state):
14711         * gst/gstpad.h:
14712         Unlock STREAM_LOCK whatever the recursion was.
14713
14714 2005-06-25  Wim Taymans  <wim@fluendo.com>
14715
14716         * gst/base/gstbasesink.c: (gst_basesink_set_property),
14717         (gst_basesink_preroll_queue_empty),
14718         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
14719         (gst_basesink_event), (gst_basesink_do_sync),
14720         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
14721         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
14722         (gst_basesink_change_state):
14723         Reworked the base sink, handle event and buffer serialisation
14724         correctly and removed possible deadlock.
14725         Handle EOS correctly.
14726
14727 2005-06-25  Wim Taymans  <wim@fluendo.com>
14728
14729         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
14730         (gst_pipeline_change_state):
14731         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14732         Allow elements to post EOS in the state change function.
14733         Fix up -launch, make it exit the poll loop when the
14734         pipeline actually changed state.
14735         Fix up warning parsing in -launch.
14736
14737 2005-06-25  Wim Taymans  <wim@fluendo.com>
14738
14739         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
14740         (gst_tee_sink_activate):
14741         Core takes STREAM_LOCK for us now.
14742
14743 2005-06-25  Wim Taymans  <wim@fluendo.com>
14744
14745         * gst/gstelement.c: (gst_element_get_state_func),
14746         (gst_element_set_state):
14747         * gst/gstelement.h:
14748         * gst/gstmessage.c: (gst_message_parse_error),
14749         (gst_message_parse_warning):
14750         Keep track of current target state while performing a state
14751         change so that subclasses can do something interesting.
14752         Fix parsing of warning/error messages when GError is NULL.
14753
14754 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14755
14756         * docs/gst/Makefile.am:
14757         * docs/gst/gstreamer-docs.sgml:
14758         * docs/gst/gstreamer-sections.txt:
14759         * docs/gst/gstreamer.types:
14760         * docs/gst/tmpl/gstbasesink.sgml:
14761         * docs/gst/tmpl/gstbasesrc.sgml:
14762         * docs/gst/tmpl/gstbin.sgml:
14763         * docs/gst/tmpl/gstcompat.sgml:
14764         * docs/gst/tmpl/gstfakesink.sgml:
14765         * docs/gst/tmpl/gstfakesrc.sgml:
14766         * docs/gst/tmpl/gstfilesink.sgml:
14767         * docs/gst/tmpl/gstfilesrc.sgml:
14768         * docs/gst/tmpl/gstindex.sgml:
14769         * docs/manual/appendix-quotes.xml:
14770         * gst/base/gstbasesrc.h:
14771         * gst/elements/gstfakesrc.h:
14772         * gst/gstmessage.h:
14773           start pulling in base classes and elements in our docs
14774
14775 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
14776
14777         * docs/gst/Makefile.am:
14778         * docs/libs/Makefile.am:
14779           fixed make distcheck with gtk-doc 1.3
14780
14781 2005-06-23  Wim Taymans  <wim@fluendo.com>
14782
14783         * gst/gstelement.c: (gst_element_get_state_func),
14784         (gst_element_set_state), (gst_element_change_state):
14785         When the state did not change, also report NO_PREROLL
14786         when it matters.
14787
14788 2005-06-23  Wim Taymans  <wim@fluendo.com>
14789
14790         * gst/gstpad.c: (gst_pad_event_default):
14791         * gst/gstqueue.c: (gst_queue_loop):
14792         No unsafe task pausing please.
14793
14794 2005-06-23  Wim Taymans  <wim@fluendo.com>
14795
14796         * gst/schedulers/threadscheduler.c:
14797         (gst_thread_scheduler_task_start),
14798         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
14799         Ref the task before pushing it on the threadpool. This
14800         makes sure that we have a ref when the threadfunction is
14801         actually called.
14802
14803 2005-06-23  Andy Wingo  <wingo@pobox.com>
14804
14805         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
14806         offset is greater than the file's size.
14807
14808         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
14809         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
14810         * gst/gstobject.c (gst_object_class_init): Make the class lock
14811         recursive. Wim won't let me drop deep_notify. Decodebin works
14812         again, whoopdy doo.
14813
14814         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
14815         internal pad, and hacks accordingly. Doesn't do it on the target
14816         pad because we change its caps. Probably catches all cases of
14817         interest tho.
14818         (gst_ghost_pad_set_property): Connect to notify::caps as
14819         appropritate.
14820
14821         * tests/network-clock.scm (plot-simulation): Pipe data to the
14822         elite python skript.
14823
14824         * tests/network-clock-utils.scm (define-parameter): New macro,
14825         defines a parameter that can be set via the command line.
14826         (set-parameter!, parse-parameter-arguments): Command line args
14827         parser.
14828
14829         * tests/plot-data: Simple matplotlib-based plotter, takes input on
14830         stdin.
14831
14832 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
14833
14834         * gst/elements/gsttypefindelement.c:
14835         (gst_type_find_element_handle_event):
14836           Don't restart typefinding on a discont.
14837         * gst/gstelement.c: (gst_element_set_state):
14838           Debug spelling fix.
14839         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
14840           Allow changing mode of an active pad.
14841           Debug output fixes.
14842         * gst/registries/gstlibxmlregistry.c: (load_feature):
14843           Don't cast a static pad template to a normal pad template.
14844
14845 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14846
14847         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14848         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14849           remove gst_strtoll completely, since it didn't actually do
14850           anything more than what g_ascii_strtoull already does.
14851           check for range errors when deserializing
14852           do a cast for the unsigned cases; but further fixing needs
14853           a decision on what the interpretation of "(int)" and
14854           deserialization should be for values that fall outside the
14855           type's boundaries (ie, refuse, or interpret as casting)
14856
14857 2005-06-23  Wim Taymans  <wim@fluendo.com>
14858
14859         * check/Makefile.am:
14860         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
14861         * docs/design/part-live-source.txt:
14862         * docs/design/part-states.txt:
14863         * gst/base/gstbasesrc.c: (gst_basesrc_init),
14864         (gst_basesrc_set_live), (gst_basesrc_is_live),
14865         (gst_basesrc_get_range), (gst_basesrc_activate),
14866         (gst_basesrc_change_state):
14867         * gst/base/gstbasesrc.h:
14868         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14869         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
14870         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
14871         * gst/gstelement.c: (gst_element_get_state_func),
14872         (gst_element_set_state):
14873         * gst/gstelement.h:
14874         * gst/gsttypes.h:
14875         * tools/gst-launch.c: (event_loop), (main):
14876         Added support for live sources and other elements that
14877         cannot do preroll.
14878         Updated design docs, added live-source design doc.
14879         Implemented live source functionality in basesrc
14880         Fix error condition in _bin_get_state()
14881         Implement live source handling in -launch.
14882         Added check for live sources.
14883         Fixed case in GstBin where elements were changed state
14884         multiple times.
14885
14886
14887 2005-06-23  Andy Wingo  <wingo@pobox.com>
14888
14889         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
14890         borken refcounting.
14891
14892         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
14893         gst_caps_replace takes care of this for us.
14894
14895         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
14896         gst_pad_set_caps on the target, not just its setcaps() function.
14897
14898         * tests/network-clock.scm: 
14899         * tests/network-clock-utils.scm: A network clock simulator.
14900         Something of an algorithmic testbed before doing something in C.
14901
14902 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14903
14904         * check/Makefile.am:
14905         * check/gst/capslist.h:
14906           copy over from 0.8, and add two with bitmasks specified with
14907           (int) 0xFF...
14908         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
14909           add test to parse everything from capslist.h
14910         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
14911         (main):
14912           add test for structure deserialization
14913         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14914           add tests for deserialization of strings to int types
14915         * gst/gststructure.c: (gst_structure_nth_field_name):
14916         * gst/gststructure.h:
14917           add a way to get the name of a field referenced by index
14918         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14919           instead of checking if the resulting long long lies between
14920           min and max, we check if the long long would fit into
14921           a number of bytes for the final type.
14922           This fixes cases where a string represents 2^32 - 1, which
14923           when cast to int would be the (valid) -1, but is bigger than
14924           G_MAXINT
14925
14926 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14927
14928         * gst/parse/grammar.y:
14929           add a log line for type deserialization
14930
14931 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14932
14933         * check/gst/gstvalue.c: (START_TEST):
14934         * gst/gstvalue.c: (gst_value_deserialize):
14935           return long long, not int, so gint64 deserialization actually
14936           works.  Is there any flag that makes the compiler check this ?
14937           Fixes #308559
14938
14939 2005-06-22  Wim Taymans  <wim@fluendo.com>
14940
14941         * gst/gstbuffer.h:
14942         Added convenience macros for setting buffers in GValue.
14943
14944 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14945
14946         * check/gst/.cvsignore:
14947         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14948           add a test deserializing int64, and comment part out because
14949           it fails, yay !
14950
14951 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
14952
14953         * check/Makefile.am:
14954         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
14955         * testsuite/Makefile.am:
14956         * testsuite/caps/Makefile.am:
14957         * testsuite/caps/value_serialize.c:
14958         * testsuite/test_gst_init.c:
14959           move a value_serialize test over
14960
14961 2005-06-20  Wim Taymans  <wim@fluendo.com>
14962
14963         * gst/gstpad.c:
14964         Small doc updates.
14965         
14966         * gst/gstvalue.c: (gst_value_compare_buffer),
14967         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
14968         (gst_value_compare_flags), (gst_value_serialize_flags),
14969         (gst_value_deserialize_flags), (_gst_value_initialize):
14970         Fix serialisation of buffers, they are not boxed types anymore
14971
14972 2005-06-20  Wim Taymans  <wim@fluendo.com>
14973
14974         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
14975         Testcase to show error in buffer-on-caps serialisation.
14976
14977 2005-06-20  Andy Wingo  <wingo@pobox.com>
14978
14979         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
14980         will be adding to later.
14981
14982         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
14983         if its socks fill with rocks.
14984         (gst_system_clock_obtain): Set the name on object construction.
14985         Avoid double-checked locking.
14986
14987 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
14988
14989         * gst/gsturi.c: (gst_element_make_from_uri):
14990           Fix potential endless loop.
14991
14992 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
14993
14994         * check/Makefile.am:
14995           add gsttag
14996         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
14997         (main):
14998           move over from testsuite dir and clean up
14999         * configure.ac:
15000         * gst/gsttag.c:
15001         * testsuite/Makefile.am:
15002         * testsuite/tags/.cvsignore:
15003         * testsuite/tags/Makefile.am:
15004         * testsuite/tags/merge.c:
15005           remove testsuite/tags
15006
15007 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15008
15009         * docs/gst/gstreamer-sections.txt:
15010         * docs/gst/tmpl/gstenumtypes.sgml:
15011         * win32/gstenumtypes.c:
15012           clean up documentation build a little
15013
15014 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15015
15016         * check/gstcheck.h:
15017           add macros for checking refcounts on objects and caps
15018         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15019           add some more unit tests
15020         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15021         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15022           fix leaked refcounts (I hope :)) so unittest works
15023         * gst/gstpad.h:
15024           whitespace removal
15025
15026 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15027
15028         * configure.ac: back to HEAD
15029
15030 === release 0.9.1 ===
15031
15032 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15033
15034         * NEWS:
15035         * RELEASE:
15036           updated
15037
15038 2005-06-17  Andy Wingo  <wingo@pobox.com>
15039
15040         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15041         assert; it's always possible that the pad gets deactivated in
15042         between the checks in gstpad.c and the implementation. Rely on
15043         finish_preroll() to return a FLUSHING or similar instead of on the
15044         assert.
15045         
15046         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15047         clock and post an EOS message if we come out of finish_preroll in
15048         the playing state.
15049
15050 2005-06-16  David Schleef  <ds@schleef.org>
15051
15052         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15053         (gst_capsfilter_set_property): Allow NULL as possible value
15054         for filter_caps property, indicating GST_CAPS_ANY.
15055
15056 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15057
15058         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15059           fix debug output
15060         * gst/schedulers/Makefile.am:
15061           use libgst prefix
15062         * gstreamer.spec.in:
15063           fix spec for it
15064
15065 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15066
15067         * gstreamer.spec.in:
15068           clean up
15069
15070 2005-06-08  Andy Wingo  <wingo@pobox.com>
15071
15072         * gst/gstutils.c: RPAD fixes all around.
15073         (gst_element_link_pads): Refcounting fixes.
15074
15075         * tools/gst-inspect.c:
15076         * tools/gst-xmlinspect.c:
15077         * parse/grammar.y:
15078         * gst/base/gsttypefindhelper.c:
15079         * gst/base/gstbasesink.c:
15080         * gst/gstqueue.c: RPAD fixes.
15081
15082         * gst/gstghostpad.h:
15083         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15084         pads. The tricky thing is they provide both source and sink
15085         interfaces, since they proxy the internal pad for the external
15086         pad, and vice versa. Implement with lower-level ProxyPad objects,
15087         with the interior proxy pad as a child of the exterior ghost pad.
15088         Should write a doc on this.
15089         
15090         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15091         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15092         gst_object API.
15093         
15094         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15095         pads are real pads. No ghost pads in this file. Not documenting
15096         the myriad s/RPAD/PAD/ and REALIZE fixes.
15097         (gst_pad_class_init): Add properties for "direction" and
15098         "template". Both are construct-only, so they can't change during
15099         the life of the pad. Fixes properly deriving from GstPad.
15100         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15101         derived objects, just set properties when creating the objects via
15102         g_object_new.
15103         (gst_pad_get_parent): Implement as a function, return NULL if the
15104         parent is not an element.
15105         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15106         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15107         
15108         * gst/gstobject.c (gst_object_class_init): Make name a construct
15109         property. Don't set it in the object init.
15110
15111         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15112         with UNKNOWN direction.
15113         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15114         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15115         (gst_element_remove_pad): Remove ghost-pad special cases.
15116         (gst_element_pads_activate): Remove rpad cruft.
15117
15118         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15119         catch the pad's-parent-not-an-element case.
15120
15121         * gst/gst.h: Include gstghostpad.h.
15122
15123         * gst/gst.c (init_post): No more real, ghost pads.
15124
15125         * gst/Makefile.am: Add gstghostpad.[ch].
15126
15127         * check/Makefile.am:
15128         * check/gst/gstbin.c:
15129         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15130         into a bin creates ghost pads, and that the refcounts are right.
15131         Partly moved from gstbin.c.
15132
15133 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15134
15135         * check/gst-libs/.cvsignore:
15136         * check/gst/.cvsignore:
15137         * check/pipelines/.cvsignore:
15138           ignore more
15139         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15140         (START_TEST), (cleanup_suite), (main):
15141           add some tests related to cleanup after running pipelines
15142
15143 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15144
15145         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15146           add a testsuite for GstBuffer
15147
15148 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15149
15150         * gst/gstminiobject.h:
15151           add defines for accessing the refcount
15152
15153 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15154
15155         * Makefile.am: added support for html unit test coverage reports
15156
15157 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15158
15159         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15160           Free existing caps if the capsfilter changes. Add a FIXME about
15161           setting those caps on the pads.
15162
15163         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15164           Before adding a ghost pad to a parent bin, check that there isn't
15165           already one for the element on the bin. Prevents infinite recursion
15166           when using decodebin in parse pipelines. Andy says he'll rewrite the
15167           way this works anyway, so ignore the hack.
15168
15169 2005-06-02  Andy Wingo  <wingo@pobox.com>
15170
15171         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15172         file size, pass it on to the type find helper.
15173
15174         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15175         segment_start and segment_end properly according to the seek
15176         method. Segment_end is still a bit flaky because offset can be
15177         negative for CUR and END cases, but it takes -1 as an "unset"
15178         value.
15179
15180 2005-06-02  Wim Taymans  <wim@fluendo.com>
15181
15182         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15183         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15184         (gst_basesink_activate):
15185         * gst/base/gstbasesink.h:
15186         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15187         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15188         (gst_pad_query), (gst_pad_start_task):
15189         * gst/gstpad.h:
15190         * gst/gstqueue.c: (gst_queue_bufferalloc),
15191         (gst_queue_handle_sink_event), (gst_queue_chain):
15192         Bufferalloc: return GstFlowReturn to more accuratly report
15193         why allocation failed.
15194
15195 2005-06-02  Wim Taymans  <wim@fluendo.com>
15196
15197         * gst/gstpipeline.c: (gst_pipeline_send_event):
15198         Take snapshot of state without blocking.
15199
15200 2005-06-02  Wim Taymans  <wim@fluendo.com>
15201
15202         * docs/design/part-TODO.txt:
15203         * docs/design/part-caps.txt:
15204         * docs/design/part-clocks.txt:
15205         * docs/design/part-negotiation.txt:
15206         * docs/design/part-preroll.txt:
15207         Small doc updates 
15208
15209 2005-05-30  Wim Taymans  <wim@fluendo.com>
15210
15211         * gst/elements/gstidentity.c: (gst_identity_event),
15212         (gst_identity_transform), (gst_identity_get_property):
15213         Protect last_message property as it is accessed from
15214         multiple threads.
15215
15216 2005-05-30  Wim Taymans  <wim@fluendo.com>
15217
15218         * gst/gstelement.c: (gst_element_init),
15219         (gst_element_pads_activate), (gst_element_change_state):
15220         Slicker pad activation code.
15221
15222 2005-05-30  Wim Taymans  <wim@fluendo.com>
15223
15224         * gst/Makefile.am:
15225         * gst/gstelement.h:
15226         * gst/gstelementfactory.h:
15227         * gst/gsttypes.h:
15228         Move elementfactory methods to separate .h file.
15229
15230 2005-05-30  Wim Taymans  <wim@fluendo.com>
15231
15232         * docs/design/part-overview.txt:
15233         * gst/gstsystemclock.h:
15234         Small typo fixes, doc updates.
15235
15236 2005-05-30  Wim Taymans  <wim@fluendo.com>
15237
15238         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15239         (init_popt_callback):
15240         Remove cpu-opt flag.
15241
15242 2005-05-30  Wim Taymans  <wim@fluendo.com>
15243
15244         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15245         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15246         * gst/gstbuffer.h:
15247         Avoid typechecking in places where not needed.
15248         Added accessor for malloc_data.
15249
15250 2005-05-30  Wim Taymans  <wim@fluendo.com>
15251
15252         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15253         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15254         (gst_pad_configure_sink), (gst_pad_configure_src),
15255         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15256         (gst_pad_start_task):
15257         Propagate errors from _set_caps() in configure_src/sink
15258         functions instead of returning TRUE.
15259         FLUSH events can travel up and downstream
15260
15261
15262 2005-05-30  Wim Taymans  <wim@fluendo.com>
15263
15264         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15265         (gst_basesink_activate):
15266         Handle EOS in preroll.
15267
15268 2005-05-30  Wim Taymans  <wim@fluendo.com>
15269
15270         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15271         (gst_queue_loop), (gst_queue_handle_src_event):
15272         Remove old pieces of code
15273         Flushing the queue in an upstream event is a very bad idea.
15274
15275 2005-05-26  Andy Wingo  <wingo@pobox.com>
15276
15277         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15278         gst_value_set_mini_object so as to add a ref on the object (which
15279         will be removed when the value is unset).
15280
15281         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15282         arg type in ::handoff.
15283
15284         * gst/gstelement.c (gst_element_change_state): Also deactivate
15285         pads in READY->NULL, just in case the element didn't make it to
15286         PAUSED. Wingo tested, Wim approved.
15287
15288 2005-05-26  Wim Taymans  <wim@fluendo.com>
15289
15290         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15291         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15292         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15293         A flushing pad cannot be used to alloc_buffer from.
15294
15295 2005-05-26  Wim Taymans  <wim@fluendo.com>
15296
15297         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15298         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15299         (gst_bus_source_dispatch), (gst_bus_source_finalize),
15300         (gst_bus_create_watch), (gst_bus_add_watch_full):
15301         * gst/gstbus.h:
15302         Implement a real GSource and use g_main_context_wakeup() to
15303         signal new messages instead of the socketpair.
15304
15305 2005-05-25  Wim Taymans  <wim@fluendo.com>
15306
15307         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15308         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15309         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15310         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15311         (gst_pad_send_event), (gst_pad_start_task):
15312         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15313         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15314         (gst_queue_sink_activate), (gst_queue_src_activate),
15315         (gst_queue_change_state):
15316         * gst/gstqueue.h:
15317         Fix state changes for non sinks. We now change sinks, then elements
15318         with unconnected srcpads, then the rest.
15319         More efficient queue unlocking in flush and state changes.
15320         Set the pad activate mode even if it does not have an activate
15321         function.
15322
15323 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15324
15325         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15326           Don't go in pull mode for non-seekable sources.
15327         * gst/elements/gsttypefindelement.h:
15328         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15329         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15330         (free_entry), (stop_typefinding),
15331         (gst_type_find_element_handle_event), (find_peek),
15332         (gst_type_find_element_chain), (do_pull_typefind),
15333         (gst_type_find_element_change_state):
15334           Allow typefinding (w/o seeking) in push-mode, simplified version
15335           of what was in 0.8.
15336         * gst/gstutils.c: (gst_buffer_join):
15337         * gst/gstutils.h:
15338           gst_buffer_join() from 0.8.
15339
15340 2005-05-25  Wim Taymans  <wim@fluendo.com>
15341
15342         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15343         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15344         (gst_pad_send_event), (gst_pad_start_task):
15345         Disable attempt at mode switching until it is figured out.
15346
15347 2005-05-25  Wim Taymans  <wim@fluendo.com>
15348
15349         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15350         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15351         (gst_basesink_finish_preroll), (gst_basesink_chain),
15352         (gst_basesink_loop), (gst_basesink_activate),
15353         (gst_basesink_change_state):
15354         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15355         (gst_basesrc_get_range), (gst_basesrc_loop),
15356         (gst_basesrc_activate):
15357         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15358         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15359         (gst_real_pad_init), (gst_real_pad_set_property),
15360         (gst_real_pad_get_property), (gst_pad_set_active),
15361         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15362         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15363         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15364         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15365         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15366         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15367         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15368         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15369         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15370         (gst_pad_stop_task):
15371         * gst/gstpad.h:
15372         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15373         (gst_queue_loop), (gst_queue_src_activate):
15374         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15375         (gst_task_get_state):
15376         * gst/gsttask.h:
15377         * gst/schedulers/threadscheduler.c:
15378         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15379         Implement gst_pad_pause/start/stop_task(), take STREAM lock
15380         in task function.
15381         Remove ACTIVE pad flag, use FLUSHING everywhere
15382         Added _pad_chain(), _pad_get_range() to call chain/getrange 
15383         functions.
15384         Add locks around IS_FLUSHING when reading.
15385         Take STREAM lock in chain(), get_range() functions so plugins
15386         don't need to take it anymore.
15387         
15388
15389
15390 2005-05-25  Wim Taymans  <wim@fluendo.com>
15391
15392         * tools/gst-launch.c: (event_loop):
15393         Unref message after using its contents instead of
15394         before.
15395
15396 2005-05-24  Wim Taymans  <wim@fluendo.com>
15397
15398         * docs/design/draft-ghostpads.txt:
15399         * docs/design/draft-push-pull.txt:
15400         * docs/design/draft-query.txt:
15401         * docs/design/part-overview.txt:
15402         Docs updates, added general overview doc.
15403
15404 2005-05-21  David Schleef  <ds@schleef.org>
15405
15406         * docs/gst/tmpl/old/GstBin.sgml:
15407         * docs/gst/tmpl/old/GstBuffer.sgml:
15408         * docs/gst/tmpl/old/GstCaps.sgml:
15409         * docs/gst/tmpl/old/GstClock.sgml:
15410         * docs/gst/tmpl/old/GstCompat.sgml:
15411         * docs/gst/tmpl/old/GstData.sgml:
15412         * docs/gst/tmpl/old/GstElement.sgml:
15413         * docs/gst/tmpl/old/GstEvent.sgml:
15414         * docs/gst/tmpl/old/GstIndex.sgml:
15415         * docs/gst/tmpl/old/GstStructure.sgml:
15416         * docs/gst/tmpl/old/GstTag.sgml:
15417         * docs/gst/tmpl/old/cothreads.sgml:
15418         * docs/gst/tmpl/old/cothreads_compat.sgml:
15419         * docs/gst/tmpl/old/gettext.sgml:
15420         * docs/gst/tmpl/old/gobject2gtk.sgml:
15421         * docs/gst/tmpl/old/grammar.tab.sgml:
15422         * docs/gst/tmpl/old/gst-i18n-app.sgml:
15423         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15424         * docs/gst/tmpl/old/gst_private.sgml:
15425         * docs/gst/tmpl/old/gstaggregator.sgml:
15426         * docs/gst/tmpl/old/gstarch.sgml:
15427         * docs/gst/tmpl/old/gstatomic_impl.sgml:
15428         * docs/gst/tmpl/old/gstbufferstore.sgml:
15429         * docs/gst/tmpl/old/gstdata_private.sgml:
15430         * docs/gst/tmpl/old/gstdisksink.sgml:
15431         * docs/gst/tmpl/old/gstdisksrc.sgml:
15432         * docs/gst/tmpl/old/gstelementfactory.sgml:
15433         * docs/gst/tmpl/old/gstextratypes.sgml:
15434         * docs/gst/tmpl/old/gstfakesink.sgml:
15435         * docs/gst/tmpl/old/gstfakesrc.sgml:
15436         * docs/gst/tmpl/old/gstfdsink.sgml:
15437         * docs/gst/tmpl/old/gstfdsrc.sgml:
15438         * docs/gst/tmpl/old/gstfilesink.sgml:
15439         * docs/gst/tmpl/old/gstfilesrc.sgml:
15440         * docs/gst/tmpl/old/gsthttpsrc.sgml:
15441         * docs/gst/tmpl/old/gstidentity.sgml:
15442         * docs/gst/tmpl/old/gstindexfactory.sgml:
15443         * docs/gst/tmpl/old/gstmarshal.sgml:
15444         * docs/gst/tmpl/old/gstmd5sink.sgml:
15445         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15446         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15447         * docs/gst/tmpl/old/gstpadtemplate.sgml:
15448         * docs/gst/tmpl/old/gstpipefilter.sgml:
15449         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15450         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15451         * docs/gst/tmpl/old/gstshaper.sgml:
15452         * docs/gst/tmpl/old/gstspider.sgml:
15453         * docs/gst/tmpl/old/gstspideridentity.sgml:
15454         * docs/gst/tmpl/old/gststatistics.sgml:
15455         * docs/gst/tmpl/old/gsttee.sgml:
15456         * docs/gst/tmpl/old/gsttimecache.sgml:
15457         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15458         * docs/gst/tmpl/old/gstxmlregistry.sgml:
15459         * docs/gst/tmpl/old/gthread-cothreads.sgml:
15460         * docs/gst/tmpl/old/types.sgml:
15461           I didn't intend to add these or check them in.
15462
15463 2005-05-19  David Schleef  <ds@schleef.org>
15464
15465         * configure.ac: Use -no-common everywhere.  In a sane world, it
15466           would be the default in libtool, because without it, you can't
15467           build DLLs on Windows.
15468         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15469         * docs/gst/gstreamer-sections.txt:
15470         * docs/gst/tmpl/gstcpu.sgml:
15471         * docs/gst/tmpl/gstdata.sgml:
15472         * docs/gst/tmpl/gstthread.sgml:
15473
15474 2005-05-19  David Schleef  <ds@schleef.org>
15475
15476         * gst/gstminiobject.c: (gst_value_set_mini_object),
15477         (gst_value_take_mini_object), (gst_value_get_mini_object):
15478         * gst/gstminiobject.h: Add GValue set/get functions.
15479
15480 2005-05-19  Wim Taymans  <wim@fluendo.com>
15481
15482         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15483         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15484         (gst_subbuffer_init), (gst_buffer_is_span_fast):
15485         * gst/gstbuffer.h:
15486         * gst/gstbus.c: (gst_bus_post):
15487         * gst/gstelement.c: (gst_element_get_random_pad):
15488         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15489         Make subbufer unref the parent in finalize.
15490         some more debugging info.
15491
15492
15493 2005-05-19  Wim Taymans  <wim@fluendo.com>
15494
15495         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15496         (gst_basesink_init), (gst_basesink_finalize),
15497         (gst_basesink_activate), (gst_basesink_change_state):
15498         Don't free preroll queue too early.
15499
15500 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15501
15502         * gst/Makefile.am:
15503         * gst/ROADMAP:
15504           Hi, I'm outdated. Please shoot me.
15505
15506 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15507
15508         * gst/gstpipeline.c: (gst_pipeline_send_event):
15509           Do not access variables after they have been deleted.
15510
15511 2005-05-19  Wim Taymans  <wim@fluendo.com>
15512
15513         * tools/gst-inspect.c: (print_plugin_features):
15514         A plugin feature does unfortunatly not use the
15515         object name yet...
15516
15517 2005-05-18  Wim Taymans  <wim@fluendo.com>
15518
15519         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
15520         Port _span() functions to new subbuffers.
15521
15522 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15523
15524         * gst/gstbin.c: (gst_bin_add_func):
15525           Fix clock settery in bins when adding kids after the clock has
15526           been selected.
15527
15528 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15529
15530         * gst/elements/gstidentity.c: (gst_identity_class_init):
15531           Workaround until signals support GstMiniObject.
15532
15533 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15534
15535         * gst/gstbuffer.c:
15536         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
15537
15538 2005-05-18  Wim Taymans  <wim@fluendo.com>
15539
15540         * gst/base/Makefile.am:
15541         * gst/base/gstadapter.c: (gst_adapter_base_init),
15542         (gst_adapter_class_init), (gst_adapter_init),
15543         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
15544         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
15545         (gst_adapter_flush), (gst_adapter_available),
15546         (gst_adapter_available_fast):
15547         * gst/base/gstadapter.h:
15548         Ported and added adapter to the base classes.
15549
15550 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15551
15552         * gst/gst.c:
15553         * gst/gstmessage.c:
15554           Make sure the class is reffed/unreffed once before threads can be
15555           used.  Fixes #304551.
15556
15557 2005-05-17  Wim Taymans  <wim@fluendo.com>
15558
15559         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15560         (gst_basesink_chain_unlocked), (gst_basesink_activate):
15561         * gst/gstminiobject.c: (gst_mini_object_get_type),
15562         (gst_mini_object_free):
15563         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15564         (gst_pad_push), (gst_pad_push_event):
15565         * gst/gstqueue.c: (gst_queue_change_state):
15566         Don't queue buffers in basesink when we are flushing.
15567         Unref buffer when flushing in basesink.
15568         Flush queue when going to READY
15569         Unref buffer when _push() returns an error.
15570         Don't free MiniObject instance when refcount is incremented
15571         in _finalize() so that we can recover objects.
15572
15573 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15574
15575         * docs/manual/advanced-schedulers.xml:
15576         * docs/manual/appendix-checklist.xml:
15577         * docs/pwg/advanced-clock.xml:
15578         * docs/pwg/advanced-interfaces.xml:
15579         * docs/pwg/advanced-request.xml:
15580         * docs/pwg/advanced-types.xml:
15581         * docs/pwg/intro-preface.xml:
15582         * examples/plugins/example.c: (gst_example_get_type),
15583         (gst_example_class_init), (gst_example_chain),
15584         (gst_example_set_property), (gst_example_get_property),
15585         (gst_example_change_state), (plugin_init):
15586         * examples/plugins/example.h:
15587           small doc fixes
15588
15589 2005-05-17  Wim Taymans  <wim@fluendo.com>
15590
15591         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15592         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15593         * gst/gstqueue.c: (gst_queue_change_state):
15594         Clear queue when going to READY.
15595         Remove IN_SETCAPS flag too.
15596
15597 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
15598
15599         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15600           Remove implicit cast from gboolean to GstElementStateReturn;
15601           make sure we still return failure in paused => ready case if
15602           the parent class fails to change state and our own stop 
15603           vfunc succeeds.
15604
15605 2005-05-17  Wim Taymans  <wim@fluendo.com>
15606
15607         * tools/gst-launch.c: (event_loop):
15608         Message was unreffed too soon.
15609
15610 2005-05-16  Andy Wingo  <wingo@pobox.com>
15611
15612         * gst/gstbin.c (sink_iterator_filter): Err... um...
15613
15614         * check/gst/gstbin.c (test_ghost_pads): New test for the
15615         ghosting-if-elements-not-in-same-bin behavior.
15616
15617 2005-05-16  David Schleef  <ds@schleef.org>
15618
15619         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15620         accessing refcount directly.
15621
15622 2005-05-15  David Schleef  <ds@schleef.org>
15623
15624         * check/Makefile.am: remove GstData checks
15625         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15626         * gst/Makefile.am: add miniobject, remove data
15627         * gst/gst.h: add miniobject, remove data
15628         * gst/gstdata.c: remove
15629         * gst/gstdata.h: remove
15630         * gst/gstdata_private.h: remove
15631         * gst/gsttypes.h: remove GstEvent and GstMessage
15632         * gst/gstelement.c: (gst_element_post_message): fix for API changes
15633         * gst/gstmarshal.list: change BOXED -> OBJECT
15634
15635         Implement GstMiniObject.
15636         * gst/gstminiobject.c:
15637         * gst/gstminiobject.h:
15638
15639         Modify to be subclasses of GstMiniObject.
15640         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15641         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15642         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15643         (gst_subbuffer_get_type), (gst_subbuffer_init),
15644         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15645         (gst_buffer_span):
15646         * gst/gstbuffer.h:
15647         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15648         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15649         (_gst_event_copy), (gst_event_new):
15650         * gst/gstevent.h:
15651         * gst/gstmessage.c: (_gst_message_initialize),
15652         (gst_message_get_type), (gst_message_class_init),
15653         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15654         (gst_message_new), (gst_message_new_error),
15655         (gst_message_new_warning), (gst_message_new_tag),
15656         (gst_message_new_state_changed), (gst_message_new_application):
15657         * gst/gstmessage.h:
15658         * gst/gstprobe.c: (gst_probe_perform),
15659         (gst_probe_dispatcher_dispatch):
15660         * gst/gstprobe.h:
15661         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15662         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15663         (_gst_query_copy), (gst_query_new):
15664
15665         Update elements for GstData -> GstMiniObject changes
15666         * gst/gstquery.h:
15667         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15668         (gst_queue_chain), (gst_queue_loop):
15669         * gst/elements/gstbufferstore.c:
15670         (gst_buffer_store_add_buffer_func),
15671         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15672         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15673         (gst_fakesink_render):
15674         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15675         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15676         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15677         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
15678         (gst_filesrc_create_read):
15679         * gst/elements/gstidentity.c: (gst_identity_class_init):
15680         * gst/elements/gsttypefindelement.c:
15681         (gst_type_find_element_src_event), (free_entry_buffers),
15682         (gst_type_find_element_handle_event):
15683         * libs/gst/dataprotocol/dataprotocol.c:
15684         (gst_dp_header_from_buffer):
15685         * libs/gst/dataprotocol/dataprotocol.h:
15686         * libs/gst/dataprotocol/dp-private.h:
15687
15688 2005-05-15  David Schleef  <ds@schleef.org>
15689
15690         * gst/elements/gstelements.c: Don't include headers that were
15691         just removed.
15692
15693 2005-05-15  David Schleef  <ds@schleef.org>
15694
15695         * gst/elements/Makefile.am: Remove some elements that don't
15696         need to be in the core (or even exist at all).
15697         * gst/elements/gstaggregator.c:
15698         * gst/elements/gstaggregator.h:
15699         * gst/elements/gstmd5sink.c:
15700         * gst/elements/gstmd5sink.h:
15701         * gst/elements/gstmultifilesrc.c:
15702         * gst/elements/gstmultifilesrc.h:
15703         * gst/elements/gstpipefilter.c:
15704         * gst/elements/gstpipefilter.h:
15705         * gst/elements/gstshaper.c:
15706         * gst/elements/gstshaper.h:
15707         * gst/elements/gststatistics.c:
15708         * gst/elements/gststatistics.h:
15709         * po/POTFILES.in: Remove above files.
15710
15711 2005-05-14  Andy Wingo  <wingo@pobox.com>
15712
15713         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
15714         so as to get the refs right.
15715         (sink_iterator_filter): New function, wraps bin_element_is_sink,
15716         unreffing objects that don't pass the filter.
15717
15718         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
15719         gst_element_set_bus.
15720         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
15721         normal cases, this will destroy the bus.
15722
15723         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
15724         object.
15725
15726         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
15727         has no sinks.
15728
15729 2005-05-13  Andy Wingo  <wingo@pobox.com>
15730
15731         * gst/gstutils.c (gst_element_link_pads): Instead of calling
15732         gst_pad_link, call pad_link_maybe_ghosting,
15733         (pad_link_maybe_ghosting): Links pads, making sure that the
15734         elements being linked are in the same bin.
15735         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
15736         Helpers for pad_link_maybe_ghosting.
15737
15738 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15739
15740         * configure.ac:
15741           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
15742
15743 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15744
15745         * docs/design/part-element-source.txt:
15746           Mention GstPushSrc
15747
15748 2005-05-12  Wim Taymans  <wim@fluendo.com>
15749
15750         * gst/base/gstbasesink.c: (gst_basesink_init),
15751         (gst_basesink_activate):
15752         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
15753         (gst_basesrc_is_seekable):
15754         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
15755         (bin_element_is_sink), (gst_bin_change_state):
15756         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15757         * gst/gstelement.h:
15758         Identify sinks by their flag to avoid overly complicated
15759         checks (fow now).
15760         Do state changes even for elements not reachable from the
15761         sinks.
15762         BaseSink is a sink now :)
15763         Some more debugging info in the basesrc.
15764
15765
15766 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15767
15768         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
15769           Implement _query on a bin, similar to _send_event.
15770
15771 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15772
15773         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
15774           Discont event offset format should be GST_FORMAT_BYTES,
15775           not GST_FORMAT_TIME.
15776
15777 2005-05-12  Wim Taymans  <wim@fluendo.com>
15778
15779         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
15780         Same fix as Ronald's but without the signal. 
15781
15782 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15783
15784         * gst/gstutils.c: (gst_element_query_position):
15785           No, an element is not a pad.
15786
15787 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15788
15789         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
15790         (gst_bin_get_state):
15791           If a child is removed from a bin while we remove the child from
15792           the bin and while we're retrieving its state, signal this to the
15793           get_state function so we abort the wait (instead of waiting for
15794           a timeout) and can immediately re-iterate over all other elements.
15795
15796 2005-05-12  Wim Taymans  <wim@fluendo.com>
15797
15798         * gst/base/Makefile.am:
15799         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
15800         (gst_basesrc_start):
15801         * gst/base/gstbasesrc.h:
15802         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
15803         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
15804         (gst_pushsrc_init), (gst_pushsrc_create):
15805         * gst/base/gstpushsrc.h:
15806         Added is_seekable to BaseSrc
15807         Added simple PushSrc.
15808
15809 2005-05-11  Wim Taymans  <wim@fluendo.com>
15810
15811         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15812         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15813         (gst_element_link_pads), (gst_element_query_position),
15814         (gst_element_query_convert), (intersect_caps_func),
15815         (gst_pad_query_position), (gst_pad_query_convert):
15816         Fix refcounting in utils function.
15817         No point in trying to activate a pad when it's added, it could
15818         be added from the state change function and then we deadlock, the
15819         element has to decide what to do.
15820
15821 2005-05-10  Andy Wingo  <wingo@pobox.com>
15822
15823         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
15824         *all* the arguments.
15825
15826         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
15827         stream lock if it's a FLUSH_DONE; normal flushes don't get the
15828         lock (according to the docs -- if this is wrong change the docs).
15829
15830         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
15831         flush messages in the NULL state.
15832
15833         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
15834         message immediately and return.
15835         (gst_bus_set_flushing): New function. If a bus is flushing, it
15836         flushes out any queued messages and immediately unrefs new
15837         messages. This is so when an element goes to NULL, all of the
15838         unhandled messages coming from it can be freed, and their
15839         references to the element dropped. In other words: message source
15840         ref considered harmful :P
15841
15842         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
15843         we're finished with it.
15844
15845         * gst/gstmessage.c (gst_message_new_state_changed): 
15846
15847 2005-05-10  Wim Taymans  <wim@fluendo.com>
15848
15849         * gst/gstvalue.c: (gst_value_compare_flags),
15850         (gst_value_serialize_flags), (gst_value_deserialize_flags),
15851         (_gst_value_initialize):
15852         Added flags serialize/deserialize/compare code.
15853
15854 2005-05-09  Andy Wingo  <wingo@pobox.com>
15855
15856         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
15857         Intersect the peer's caps with our caps.
15858
15859 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15860
15861         * gst/base/gsttypefindhelper.c: (helper_find_peek):
15862         * gst/elements/gsttypefindelement.c: (find_peek):
15863           Handle negative offsets better. Fixes decodebin.
15864
15865 2005-05-09  Wim Taymans  <wim@fluendo.com>
15866
15867         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
15868         (gst_base_transform_event):
15869         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
15870         Implement accept_caps.
15871         Fix silly lock/unlock mismatch in base class.
15872
15873 2005-05-09  Wim Taymans  <wim@fluendo.com>
15874
15875         * docs/design/draft-push-pull.txt:
15876         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
15877         * gst/elements/gstfilesink.c: (gst_filesink_init),
15878         (gst_filesink_query):
15879         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15880         (gst_type_find_handle_src_query), (find_element_get_length):
15881         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
15882         * gst/gstelement.h:
15883         * gst/gstmessage.c:
15884         * gst/gstmessage.h:
15885         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
15886         (gst_real_pad_get_caps_unlocked),
15887         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
15888         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15889         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
15890         (gst_real_pad_dispose), (gst_real_pad_finalize),
15891         (gst_pad_load_and_link), (gst_pad_save_thyself),
15892         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
15893         (gst_pad_check_pull_range), (gst_pad_pull_range),
15894         (gst_pad_template_get_type), (gst_pad_template_class_init),
15895         (gst_pad_template_init), (gst_pad_template_dispose),
15896         (name_is_valid), (gst_static_pad_template_get),
15897         (gst_pad_template_new), (gst_static_pad_template_get_caps),
15898         (gst_pad_template_get_caps), (gst_pad_set_element_private),
15899         (gst_pad_get_element_private), (gst_pad_start_task),
15900         (gst_pad_pause_task), (gst_pad_stop_task),
15901         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
15902         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
15903         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
15904         (gst_ghost_pad_new):
15905         * gst/gstpad.h:
15906         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
15907         (gst_query_new_position), (gst_query_set_position),
15908         (gst_query_parse_position), (gst_query_new_convert),
15909         (gst_query_set_convert), (gst_query_parse_convert):
15910         * gst/gstquery.h:
15911         * gst/gstqueryutils.c:
15912         * gst/gstqueryutils.h:
15913         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
15914         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
15915         (gst_queue_handle_src_query):
15916         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15917         (gst_element_query_position), (gst_element_query_convert),
15918         (intersect_caps_func), (gst_pad_query_position),
15919         (gst_pad_query_convert):
15920         * gst/gstutils.h:
15921         * tools/gst-inspect.c: (print_pad_info):
15922         * tools/gst-xmlinspect.c: (print_element_info):
15923         Remove old query functions. Ported old code.
15924         Added position/convert helper functions to gstutils.
15925         Reordered gstpad.c code, grouping relevant things.
15926         Remove gst_message_new(), always need to speficy a specific
15927         message.
15928
15929
15930 2005-05-09  Andy Wingo  <wingo@pobox.com>
15931
15932         * gst/gstiterator.h: Add some includes.
15933
15934         * gst/gstqueryutils.h: Include more headers.
15935
15936         * gst/gstpad.h:
15937         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
15938         some uses of gst_pad_query.
15939
15940         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
15941         NULL out parameters.
15942         (gst_query_new_position): New proc, allocates a new position
15943         query.
15944
15945         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
15946         gstqueryutils.c to the build.
15947
15948         * gst/gststructure.c (gst_structure_set_valist): Implement with
15949         the generic G_VALUE_COLLECT.
15950         
15951 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
15952
15953         * gst/Makefile.am: (gst_headers):
15954         Added gstqueryutils.h to the list of headers to install, that was
15955         a 'nachty' move wingo :)
15956
15957 2005-05-06  Andy Wingo  <wingo@pobox.com>
15958
15959         * gst/gstquery.h
15960         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
15961         GstData, init a memchunk.
15962         (standard_definitions): Add a few query types, deprecate a few.
15963         (gst_query_get_type): New proc.
15964         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
15965         implementation.
15966         (gst_query_new_application, gst_query_get_structure): New public
15967         procs.
15968
15969         * docs/design/draft-query.txt: Removed LINKS from the query types,
15970         because all the rest can be dispatched to other pads -- seemed
15971         ugly to have a query that couldn't be dispatched. internal_links
15972         is fine as a pad method.
15973
15974         * gst/gstpad.h: Add query2 as a pad method, add the new functions
15975         in gstpad.c, but maintain binary compatibility for the moment.
15976         Will fix before 0.9 is out.
15977
15978         * gst/gstqueryutils.c: 
15979         * gst/gstqueryutils.h: New files, implement 3 methods for each
15980         query type: parse_query, parse_response, and set. Probably need an
15981         allocator as well.
15982
15983         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
15984
15985         * gst/elements/gstfilesink.c (gst_filesink_query2):
15986         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
15987         query_types, and formats methods.
15988
15989         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
15990         (gst_pad_set_query2_function): New functions.
15991         (gst_real_pad_init): Set query2_default as the default query2
15992         function. Basically just dispatches to internally linked pads.
15993
15994         Needs review!
15995         
15996         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
15997         without using the atomic operations. Only one thread can possibly
15998         be accessing the data at this point. Changed so as to avoid
15999         gst_atomic operations.
16000
16001 2005-05-06  Wim Taymans  <wim@fluendo.com>
16002
16003         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16004         Also set caps if we use the fallback buffer alloc.
16005
16006 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
16007
16008         * docs/gst/Makefile.am:
16009         * docs/gst/gstreamer-docs.sgml:
16010         * docs/gst/gstreamer-sections.txt:
16011         * docs/gst/tmpl/gstatomic.sgml:
16012         * docs/gst/tmpl/gstmemchunk.sgml:
16013         * testsuite/elements/struct_i386.h:
16014         * win32/GStreamer.vcproj:
16015         * win32/Makefile:
16016           Purge GstAtomic stuff from docs and win32 makefiles as well
16017
16018 2005-05-06  Wim Taymans  <wim@fluendo.com>
16019
16020         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16021         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16022         * gst/gstpad.c: (gst_pad_peer_get_caps):
16023         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16024         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16025         (gst_queue_src_activate), (gst_queue_change_state):
16026         * gst/gstqueue.h:
16027         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16028         (intersect_caps_func):
16029         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16030         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16031         Some fixes for the peer_get_caps() change.
16032
16033 2005-05-06  Wim Taymans  <wim@fluendo.com>
16034
16035         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16036         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16037         (gst_basesink_activate):
16038         Actually do something with error codes returned from the push
16039         functions.
16040
16041 2005-05-06  Wim Taymans  <wim@fluendo.com>
16042
16043         * docs/design/part-element-sink.txt:
16044         * docs/design/part-element-source.txt:
16045         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16046         (gst_basesink_event), (gst_basesink_activate):
16047         * gst/base/gstbasesink.h:
16048         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16049         (gst_basesrc_activate):
16050         * gst/base/gstbasesrc.h:
16051         * gst/gstelement.c: (gst_element_pads_activate):
16052         Some more documentation.
16053         Fixed scheduling decision in _pads_activate().
16054
16055 2005-05-05  Andy Wingo  <wingo@pobox.com>
16056
16057         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16058         the test suite.
16059
16060 2005-05-05  Wim Taymans  <wim@fluendo.com>
16061
16062         * gst/base/Makefile.am:
16063         * gst/base/gstbasesink.h:
16064         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16065         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16066         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16067         (gst_collectpads_class_init), (gst_collectpads_init),
16068         (gst_collectpads_finalize), (gst_collectpads_new),
16069         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16070         (find_pad), (gst_collectpads_remove_pad),
16071         (gst_collectpads_is_active), (gst_collectpads_collect),
16072         (gst_collectpads_collect_range), (gst_collectpads_start),
16073         (gst_collectpads_stop), (gst_collectpads_peek),
16074         (gst_collectpads_pop), (gst_collectpads_available),
16075         (gst_collectpads_read), (gst_collectpads_flush),
16076         (gst_collectpads_chain):
16077         * gst/base/gstcollectpads.h:
16078         * gst/elements/Makefile.am:
16079         * gst/elements/gstelements.c:
16080         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16081         (gst_fakesink_get_times), (gst_fakesink_event),
16082         (gst_fakesink_preroll), (gst_fakesink_render):
16083         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16084         (gst_filesink_init), (gst_filesink_set_location),
16085         (gst_filesink_open_file), (gst_filesink_close_file),
16086         (gst_filesink_pad_query), (gst_filesink_event),
16087         (gst_filesink_render), (gst_filesink_change_state):
16088         * gst/elements/gstfilesink.h:
16089         Added object to help in making collect pad based elements.
16090         Ported filesink.
16091         Make event function in sink baseclass return gboolean.
16092
16093 2005-05-05  Wim Taymans  <wim@fluendo.com>
16094
16095         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16096         (gst_bin_get_by_name):
16097         * gst/gstbuffer.h:
16098         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16099         (gst_clock_finalize):
16100         * gst/gstdata.c: (gst_data_replace):
16101         * gst/gstdata.h:
16102         * gst/gstelement.c: (gst_element_request_pad),
16103         (gst_element_pads_activate):
16104         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16105         (gst_object_unref):
16106         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16107         (gst_pad_set_checkgetrange_function),
16108         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16109         (gst_pad_check_pull_range), (gst_pad_pull_range),
16110         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16111         (gst_pad_pause_task), (gst_pad_stop_task):
16112         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16113         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16114         Fix name lookup in GstBin.
16115         Added _data_replace() function and _buffer_replace()
16116         Use finalize method to clean up clock.
16117         Fix refcounting on request pads.
16118         Fix pad schedule mode error.
16119         Some more object refcounting debug info,
16120
16121
16122 2005-05-04  Andy Wingo <wingo@pobox.com>
16123
16124         * check/Makefile.am:
16125         * docs/gst/tmpl/gstatomic.sgml:
16126         * docs/gst/tmpl/gstplugin.sgml:
16127         * gst/base/gstbasesink.c: (gst_basesink_activate):
16128         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16129         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16130         (gst_basesrc_query), (gst_basesrc_set_property),
16131         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16132         (gst_basesrc_activate):
16133         * gst/base/gstbasesrc.h:
16134         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16135         (gst_base_transform_src_activate):
16136         * gst/elements/gstelements.c:
16137         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16138         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16139         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16140         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16141         (gst_type_find_element_checkgetrange),
16142         (gst_type_find_element_activate):
16143         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16144         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16145         (gst_caps_load_thyself):
16146         * gst/gstelement.c: (gst_element_pads_activate),
16147         (gst_element_save_thyself), (gst_element_restore_thyself):
16148         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16149         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16150         * gst/gstpad.h:
16151         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16152         (gst_xml_parse_file), (gst_xml_parse_memory),
16153         (gst_xml_get_element), (gst_xml_make_element):
16154         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16155         (_file_index_id_save_xml), (gst_file_index_commit):
16156         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16157         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16158         (load_paths):
16159         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16160         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16161         * tools/gst-complete.c: (main):
16162         * tools/gst-compprep.c: (main):
16163         * tools/gst-inspect.c: (print_element_properties_info):
16164         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16165         * tools/gst-xmlinspect.c: (print_element_properties):
16166         GCC 4 fixen.
16167         
16168 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16169
16170         * gst/gstplugin.c: (gst_plugin_check_module),
16171         (gst_plugin_check_file), (gst_plugin_load_file):
16172             apply patch from #172526 to make register work on MacOSX
16173
16174 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16175
16176         * docs/gst/tmpl/gstconfig.sgml:
16177         * gst/gstconfig.h.in:
16178           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16179         * testsuite/debug/printf_extension.c: (main):
16180           Do not use GST_PTR_FORMAT on pointers to types with
16181           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16182         * testsuite/elements/property.h:
16183           use correct printf format
16184
16185 2005-05-02  Wim Taymans  <wim@fluendo.com>
16186
16187         * docs/design/draft-push-pull.txt:
16188         * docs/design/draft-query.txt:
16189         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16190         (gst_basesrc_start):
16191         Added draft for new query API.
16192         Added draft for better selecting scheduling methods.
16193         Make basesrc ignore length if the subclass does not support
16194         it.
16195
16196 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16197
16198         * gst/Makefile.am:
16199           possible fixes for automake-1.5 - _LIBADD is reserved
16200
16201 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16202
16203         * docs/faq/Makefile.am:
16204         * docs/manual/Makefile.am:
16205         * docs/manuals.mak:
16206         * docs/pwg/Makefile.am:
16207         * gst/Makefile.am:
16208           possible fixes for automake-1.5
16209
16210 2005-04-28  Wim Taymans  <wim@fluendo.com>
16211
16212         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16213         (gst_basesink_pad_getcaps), (gst_basesink_init),
16214         (gst_basesink_do_sync):
16215         * gst/gstclock.c: (gst_clock_entry_new):
16216         * gst/gstevent.c: (gst_event_discont_get_value):
16217         * gst/gstpipeline.c: (pipeline_bus_handler),
16218         (gst_pipeline_change_state):
16219         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16220         Better debugging of clocking info.
16221         Allow NULL values when getting discont values.
16222
16223 2005-04-27  Wim Taymans  <wim@fluendo.com>
16224
16225         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16226         * check/gst/gstpad.c: (gst_pad_suite):
16227         Increase timeout for checks.
16228
16229 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16230
16231         * check/Makefile.am:
16232           fix the broken rule for cleanup.  Apparently this rule is
16233           only needed on FC2, so maybe this warrants further autotool
16234           inspection.
16235
16236 2005-04-26  Wim Taymans  <wim@fluendo.com>
16237
16238         * gst/gsttrashstack.h:
16239         Ooohh. a nasty one! After having a failed pop() from the stack,
16240         it's possible that the stack is empty. In that case, don't
16241         follow the NULL pointer.
16242
16243 2005-04-25  Wim Taymans  <wim@fluendo.com>
16244
16245         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16246         (gst_pad_set_checkgetrange_function),
16247         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16248         (gst_pad_check_pull_range), (gst_pad_pull_range),
16249         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16250         (gst_pad_pause_task), (gst_pad_stop_task):
16251         * gst/gstplugin.c: (gst_plugin_load):
16252         * gst/gstplugin.h:
16253         Remove gst_library_load as it does more harm than good with
16254         the new g_module flags.
16255         Revert bogus caps template check in pad linking, pad caps
16256         are important when linking not the template, which is more
16257         general than the current caps.
16258
16259 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16260
16261         * gst/autoplug/.cvsignore:
16262         * gst/autoplug/Makefile.am:
16263         * gst/autoplug/gstsearchfuncs.c:
16264         * gst/autoplug/gstsearchfuncs.h:
16265         * gst/autoplug/gstspider.c:
16266         * gst/autoplug/gstspider.h:
16267         * gst/autoplug/gstspideridentity.c:
16268         * gst/autoplug/gstspideridentity.h:
16269         * gst/autoplug/spidertest.c:
16270           Die, spider, die.
16271
16272 2005-04-25  Wim Taymans  <wim@fluendo.com>
16273
16274         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16275         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16276         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16277         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16278         * gst/gstpad.h:
16279         Added stubs for unimplemented functions. 
16280
16281 2005-04-24  David Schleef  <ds@schleef.org>
16282
16283         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
16284         please fix.
16285
16286 2005-04-24  David Schleef  <ds@schleef.org>
16287
16288         Convert everything from GstAtomicInt to g_atomic_int_*, and
16289         remove gstatomic.
16290         * gst/Makefile.am:
16291         * gst/gstatomic.c:
16292         * gst/gstatomic.h:
16293         * gst/gstatomic_impl.h:
16294         * gst/gstbuffer.c:
16295         * gst/gstcaps.c:
16296         * gst/gstcaps.h:
16297         * gst/gstclock.c:
16298         * gst/gstclock.h:
16299         * gst/gstdata.c:
16300         * gst/gstdata.h:
16301         * gst/gstdata_private.h:
16302         * gst/gstevent.c:
16303         * gst/gstinfo.c:
16304         * gst/gstinfo.h:
16305         * gst/gstmessage.c:
16306         * gst/gstobject.c:
16307         * gst/gstobject.h:
16308         * gst/gststructure.c:
16309         * gst/gststructure.h:
16310         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16311         * gst/gstutils.h:
16312
16313 2005-04-24  David Schleef  <ds@schleef.org>
16314
16315         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16316         make the regressions tests work.  Remove some code that is no
16317         longer true.
16318         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16319         Disable warning for pads without templates.
16320
16321 2005-04-24  David Schleef  <ds@schleef.org>
16322
16323         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
16324         functions that handle filtered links.
16325         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16326         removed functions.
16327         * gst/gstutils.c: Fix/remove utility functions that handle
16328         filtered caps.
16329         * gst/gstutils.h:
16330         * gst/gstvalue.c: Add serialization/deserialization of caps
16331         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
16332         requires fixing so that the filter caps notation creates
16333         a capsfilter element and sets the filter_caps property.  I
16334         think everyone probably wants to keep the shorthand notation.
16335         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16336         * docs/gst/tmpl/gstpad.sgml:
16337
16338         * gst/elements/gstelements.c: Register capsfilter element.
16339         * gst/Makefile.am: fix spacing
16340         * docs/random/ds/0.9-suggested-changes: random
16341
16342 2005-04-23  David Schleef  <ds@schleef.org>
16343
16344         * gst/elements/Makefile.am:
16345         * gst/elements/gstcapsfilter.c: New element that acts like an
16346         identity, but filters caps.  Will eventually replace filtered
16347         caps in pad linking.
16348         * gst/gstutils.c: (gst_element_create_all_pads): New function
16349         to create all the ALWAYS pads that are registered with an
16350         element class.  This functionality should eventually be
16351         merged in with GstElement initialization.
16352         * gst/gstutils.h:
16353         * testsuite/trigger/README: part of trigger test code that should
16354         have been checked in a long time ago.
16355
16356 2005-04-23  David Schleef  <ds@schleef.org>
16357
16358         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
16359         needed with new versions of libtool (nobody will confirm this),
16360         and hard to carry around.
16361         * gst/autoplug/Makefile.am:
16362         * gst/base/Makefile.am:
16363         * gst/elements/Makefile.am:
16364         * gst/indexers/Makefile.am:
16365         * gst/schedulers/Makefile.am:
16366         * libs/gst/bytestream/Makefile.am:
16367         * libs/gst/control/Makefile.am:
16368         * libs/gst/dataprotocol/Makefile.am:
16369         * libs/gst/getbits/Makefile.am:
16370
16371 2005-04-21  Wim Taymans  <wim@fluendo.com>
16372
16373         * docs/design/draft-push-pull.txt:
16374         * docs/design/part-MT-refcounting.txt:
16375         * docs/design/part-TODO.txt:
16376         * docs/design/part-caps.txt:
16377         * docs/design/part-events.txt:
16378         * docs/design/part-gstbus.txt:
16379         * docs/design/part-gstpipeline.txt:
16380         * docs/design/part-messages.txt:
16381         * docs/design/part-push-pull.txt:
16382         * docs/design/part-query.txt:
16383         Some more docs.
16384
16385 2005-04-21  Wim Taymans  <wim@fluendo.com>
16386
16387         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16388         (gst_message_new), (gst_message_new_error),
16389         (gst_message_new_warning), (gst_message_new_tag),
16390         (gst_message_new_state_changed), (gst_message_new_application),
16391         (gst_message_get_structure):
16392         * gst/gstmessage.h:
16393         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16394         (gst_structure_copy_conditional):
16395         Use parent refcount in GstMessage to ensure GstStructure
16396         consistency.
16397         Cleaned up headers a bit.
16398         
16399
16400 2005-04-20  Wim Taymans  <wim@fluendo.com>
16401
16402         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16403         (gst_basesink_pad_getcaps), (gst_basesink_init),
16404         (gst_basesink_chain_unlocked):
16405         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16406         (gst_type_find_helper):
16407         * gst/elements/gsttypefindelement.c:
16408         (gst_type_find_element_have_type), (gst_type_find_element_init),
16409         (stop_typefinding), (gst_type_find_element_handle_event),
16410         (find_suggest), (gst_type_find_element_chain),
16411         (gst_type_find_element_checkgetrange),
16412         (gst_type_find_element_getrange), (do_typefind),
16413         (gst_type_find_element_activate):
16414         * gst/gstbuffer.c: (_gst_buffer_sub_free),
16415         (gst_buffer_default_free), (gst_buffer_default_copy),
16416         (gst_buffer_set_caps):
16417         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16418         (gst_caps_replace):
16419         * gst/gstmessage.c: (gst_message_new),
16420         (gst_message_new_state_changed):
16421         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16422         (gst_pad_set_checkgetrange_function),
16423         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16424         (gst_pad_set_caps), (gst_pad_check_pull_range),
16425         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16426         * gst/gstpad.h:
16427         * gst/gsttypefind.c: (gst_type_find_register):
16428         Make gst_caps_replace() work like other _replace() functions.
16429         Use _caps_replace() where possible.
16430         Make sure _message_new() initialises its field.
16431         Add gst_static_pad_template_get_caps()
16432
16433
16434 2005-04-18  Andy Wingo  <wingo@pobox.com>
16435
16436         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16437         on the peer, not the pad. I think that was a typo. Pass an extra
16438         arg to see if random access is possible. Activate the pads as
16439         PULL_RANGE if possible.
16440
16441         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16442
16443         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
16444         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16445         to PROP_....
16446
16447 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16448
16449         * docs/faq/using.xml:
16450           Add note on gstreamer-properties (#154996).
16451
16452 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16453
16454         * docs/random/bbb/optional-properties:
16455           Some analysis on optional properties.
16456
16457 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16458
16459         * docs/gst/tmpl/gstelementfactory.sgml:
16460         * gst/gstelement.h:
16461         * gst/gstelementfactory.c: (gst_element_factory_init),
16462         (gst_element_factory_cleanup), (gst_element_register),
16463         (__gst_element_factory_add_static_pad_template),
16464         (gst_element_factory_get_static_pad_templates),
16465         (gst_element_factory_can_src_caps),
16466         (gst_element_factory_can_sink_caps):
16467         * gst/registries/Makefile.am:
16468         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16469         (gst_xml_registry_class_init), (gst_xml_registry_init),
16470         (gst_xml_registry_new), (gst_xml_registry_set_property),
16471         (gst_xml_registry_get_property), (get_time), (make_dir),
16472         (gst_xml_registry_get_perms_func),
16473         (plugin_times_older_than_recurse), (plugin_times_older_than),
16474         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16475         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16476         (add_to_char_array), (read_string), (read_uint), (read_enum),
16477         (load_pad_template), (load_feature), (load_plugin), (load_paths),
16478         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16479         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16480         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16481         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16482         (gst_xml_registry_rebuild):
16483         * gst/registries/gstlibxmlregistry.h:
16484         * tools/gst-compprep.c: (main):
16485         * tools/gst-inspect.c: (print_pad_templates_info):
16486         * tools/gst-xmlinspect.c: (print_element_info):
16487           Use libxml2 for registry parsing, use staticpadtemplates in
16488           elementfactories. Makes gst_init() +/- 10x faster.
16489
16490 2005-04-12  Wim Taymans  <wim@fluendo.com>
16491
16492         * gst/base/Makefile.am:
16493         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16494         (gst_basesink_pad_getcaps), (gst_basesink_init),
16495         (gst_basesink_event), (gst_basesink_change_state):
16496         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16497         (gst_basesrc_init), (gst_basesrc_query),
16498         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16499         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16500         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16501         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16502         (gst_basesrc_stop), (gst_basesrc_activate),
16503         (gst_basesrc_change_state):
16504         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16505         (helper_find_suggest), (gst_type_find_helper):
16506         * gst/base/gsttypefindhelper.h:
16507         * gst/elements/Makefile.am:
16508         * gst/elements/gstelements.c:
16509         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16510         (gst_fakesink_get_times), (gst_fakesink_event),
16511         (gst_fakesink_preroll), (gst_fakesink_render):
16512         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16513         (gst_fakesrc_init), (gst_fakesrc_event_handler),
16514         (gst_fakesrc_get_property), (gst_fakesrc_create),
16515         (gst_fakesrc_start), (gst_fakesrc_stop):
16516         * gst/elements/gstfakesrc.h:
16517         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
16518         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16519         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16520         (gst_filesrc_create_read), (gst_filesrc_create),
16521         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16522         (gst_filesrc_start):
16523         * gst/elements/gsttypefindelement.c:
16524         (gst_type_find_element_have_type), (gst_type_find_element_init),
16525         (start_typefinding), (stop_typefinding), (push_buffer_store),
16526         (gst_type_find_element_handle_event),
16527         (gst_type_find_element_chain),
16528         (gst_type_find_element_checkgetrange),
16529         (gst_type_find_element_getrange), (do_typefind),
16530         (gst_type_find_element_activate),
16531         (gst_type_find_element_change_state):
16532         * gst/elements/gsttypefindelement.h:
16533         * gst/gstpipeline.c: (pipeline_bus_handler):
16534         Added typefind helper.
16535         Small preroll fix in the base sink.
16536         Disable typefind code in basesrc.
16537         Crude port of typefindelement.
16538         Fakesrc cleanups.
16539
16540
16541 2005-04-11  Wim Taymans  <wim@fluendo.com>
16542
16543         * check/gst/gstbus.c: (gstbus_suite):
16544         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
16545         * check/gstcheck.h:
16546           Fix up the timeout so that the test does not fail.
16547
16548 2005-04-06  Wim Taymans  <wim@fluendo.com>
16549
16550         * gst/base/README:
16551         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16552         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16553         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16554         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16555         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16556         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16557         (gst_basesrc_stop), (gst_basesrc_activate),
16558         (gst_basesrc_change_state), (basesrc_find_peek),
16559         (basesrc_find_suggest), (gst_basesrc_type_find):
16560         * gst/base/gstbasesrc.h:
16561         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16562         (gst_filesrc_class_init), (gst_filesrc_init),
16563         (gst_filesrc_finalize), (gst_filesrc_set_location),
16564         (gst_filesrc_set_property), (gst_filesrc_get_property),
16565         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16566         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16567         (gst_filesrc_create_read), (gst_filesrc_create),
16568         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16569         * gst/elements/gstfilesrc.h:
16570         * gst/gstelement.c: (gst_element_get_state_func),
16571         (gst_element_lost_state), (gst_element_pads_activate):
16572         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16573         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16574         (gst_pad_pull_range):
16575         * gst/gstpad.h:
16576         More work on the generic source base class, implement seeking,
16577         query.
16578         Make filesrc extend the base source class.
16579         Added gst_pad_set_checkgetrange_function to GstPad.
16580
16581 2005-04-06  Andy Wingo  <wingo@pobox.com>
16582
16583         * pkgconfig/gstreamer-base.pc.in:
16584         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16585
16586         * pkgconfig/Makefile.am:
16587         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16588
16589 2005-04-04  Wim Taymans  <wim@fluendo.com>
16590
16591         * gst/base/Makefile.am:
16592         * gst/base/README:
16593         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16594         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16595         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16596         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16597         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16598         (gst_basesrc_base_init), (gst_basesrc_class_init),
16599         (gst_basesrc_init), (gst_basesrc_get_formats),
16600         (gst_basesrc_get_query_types), (gst_basesrc_query),
16601         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16602         (gst_basesrc_set_property), (gst_basesrc_get_property),
16603         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16604         (gst_basesrc_loop), (gst_basesrc_activate),
16605         (gst_basesrc_change_state):
16606         * gst/base/gstbasesrc.h:
16607         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16608         (gst_fakesrc_class_init), (gst_fakesrc_init),
16609         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16610         (gst_fakesrc_get_property), (gst_fakesrc_create):
16611         * gst/elements/gstfakesrc.h:
16612         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16613         (gst_filesrc_open_file), (gst_filesrc_loop),
16614         (gst_filesrc_activate), (filesrc_find_peek),
16615         (gst_filesrc_type_find):
16616         Made base source class, make fakesrc extend it.
16617         Add comments to basesink class.
16618         Some filesrc cleanup.
16619
16620 2005-03-31  David Schleef  <ds@schleef.org>
16621
16622         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16623         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16624         expected to link against libgstreamer.
16625         * gst/base/Makefile.am: link against libgstreamer
16626         * gst/elements/Makefile.am: same
16627
16628 2005-03-31  Andy Wingo  <wingo@pobox.com>
16629
16630         * tests/instantiate/Makefile.am:
16631         * tests/instantiate/caps.c: Add test to test speed of caps copy
16632         and free.
16633
16634         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16635         GMemChunk to be fair.
16636
16637         * gst/gsttrashstack.h: Remove warning about using the fallback
16638         trash stack implementation, it's still faster than malloc.
16639
16640 2005-03-30  Andy Wingo  <wingo@pobox.com>
16641
16642         * tests/complexity.c: Add a copyright.
16643
16644 2005-03-31  Wim Taymans  <wim@fluendo.com>
16645
16646         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16647         (gst_base_transform_class_init), (gst_base_transform_init),
16648         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16649         (gst_base_transform_get_property),
16650         (gst_base_transform_sink_activate),
16651         (gst_base_transform_src_activate),
16652         (gst_base_transform_change_state):
16653         * gst/base/gstbasetransform.h:
16654         * gst/elements/gstidentity.c: (gst_identity_class_init),
16655         (gst_identity_event), (gst_identity_check_perfect),
16656         (gst_identity_transform), (gst_identity_start),
16657         (gst_identity_stop):
16658         Added start/stop methods to transform base class so subclasses 
16659         don't need to deal with state changes even.
16660
16661 2005-03-31  Wim Taymans  <wim@fluendo.com>
16662
16663         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16664         (gst_event_new_discontinuous), (gst_event_discont_get_value):
16665         * gst/gstevent.h:
16666         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16667         (gst_pad_pull_range):
16668         Added rate to the discont event to prepare for variable speed
16669         and reverse playback.
16670
16671 2005-03-29  David Schleef  <ds@schleef.org>
16672
16673         * configure.ac:
16674         * testsuite/trigger/Makefile.am:
16675         * testsuite/trigger/trigger.c: A little example program to show
16676         how trigger-based elements can work.
16677
16678 2005-03-29  Wim Taymans  <wim@fluendo.com>
16679
16680         * gst/base/Makefile.am:
16681         * gst/base/README:
16682         * gst/base/gstbasesink.c: (gst_basesink_get_type),
16683         (gst_basesink_base_init), (gst_basesink_class_init),
16684         (gst_basesink_pad_getcaps), (gst_basesink_init),
16685         (gst_basesink_activate), (gst_basesink_change_state):
16686         * gst/base/gstbasesink.h:
16687         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
16688         (gst_base_transform_base_init), (gst_base_transform_finalize),
16689         (gst_base_transform_class_init), (gst_base_transform_init),
16690         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
16691         (gst_base_transform_event), (gst_base_transform_getrange),
16692         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
16693         (gst_base_transform_set_property),
16694         (gst_base_transform_get_property),
16695         (gst_base_transform_sink_activate),
16696         (gst_base_transform_src_activate),
16697         (gst_base_transform_change_state):
16698         * gst/base/gstbasetransform.h:
16699         * gst/elements/gstidentity.c: (gst_identity_finalize),
16700         (gst_identity_class_init), (gst_identity_init),
16701         (gst_identity_event), (gst_identity_check_perfect),
16702         (gst_identity_transform), (gst_identity_set_property),
16703         (gst_identity_get_property), (gst_identity_change_state):
16704         * gst/elements/gstidentity.h:
16705         * gst/gstelement.c: (gst_element_get_state_func),
16706         (gst_element_lost_state), (gst_element_pads_activate):
16707         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16708         (gst_pad_check_pull_range), (gst_pad_pull_range):
16709         * gst/gstpad.h:
16710         Simplify pad activation.
16711         Added function to check if pull_range can be performed.
16712         Error out when pulling inactive or flushing pads.
16713         Removed const from refcounted types as it does not make sense.
16714         Simplify pad templates in basesink
16715         Added base class for simple 1-to-1 transforms.
16716         Make identity subclass the base transform.
16717
16718 2005-03-29  Andy Wingo  <wingo@pobox.com>
16719
16720         * docs/libs/gstreamer-libs-overrides.txt: 
16721         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
16722         really don't understand what's going on, but like whatever. I want
16723         green buildbot!
16724
16725         * docs/gst/Makefile.am:
16726         * docs/libs/Makefile.am: Dist the overrides files.
16727
16728         * check/Makefile.am (clean-local): Remove .libs directories.
16729
16730         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
16731         elements to EXTRA_DIST, so po/ files are happy.
16732
16733         * po/POTFILES.in: Er, remove it here.
16734
16735         * po/POTFILES: Remove gstspider.c.
16736
16737         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
16738
16739         * docs/libs/gstreamer-libs-docs.sgml: 
16740         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
16741         bytestream.
16742
16743         * tests/complexity.c (main): Set the length of the preroll queue
16744         on the sinks to prevent a lockup.
16745
16746         * libs/gst/dataprotocol/Makefile.am: 
16747         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
16748         the same as the one in check/gst-libs/gdp.c.
16749
16750         * po/, docs/gst/: Commit automatic changes to docs and po files.
16751
16752         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
16753         the versioned libgstbase.
16754
16755         * check/Makefile.am: Depend on an unversioned gst-register, seems
16756         to make autoconf happier.
16757
16758         * gst/base/Makefile.am: Make libgstbase a versioned lib.
16759
16760 2005-03-28  Wim Taymans  <wim@fluendo.com>
16761
16762         * configure.ac:
16763         * docs/design/part-gstelement.txt:
16764         * docs/design/part-negotiation.txt:
16765         * docs/design/part-preroll.txt:
16766         * docs/design/part-scheduling.txt:
16767         * docs/design/part-states.txt:
16768         * gst/Makefile.am:
16769         * gst/base/Makefile.am:
16770         * gst/base/README:
16771         * gst/base/gstbasesink.c: (gst_basesink_get_template),
16772         (gst_basesink_base_init), (gst_basesink_class_init),
16773         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16774         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16775         (gst_basesink_set_pad_functions),
16776         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
16777         (gst_basesink_set_property), (gst_basesink_get_property),
16778         (gst_base_sink_get_template), (gst_base_sink_get_caps),
16779         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
16780         (gst_basesink_preroll_queue_push),
16781         (gst_basesink_preroll_queue_empty),
16782         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
16783         (gst_basesink_event), (gst_basesink_get_times),
16784         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
16785         (gst_basesink_chain_unlocked), (gst_basesink_chain),
16786         (gst_basesink_loop), (gst_basesink_activate),
16787         (gst_basesink_change_state):
16788         * gst/base/gstbasesink.h:
16789         * gst/elements/Makefile.am:
16790         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
16791         (gst_fakesink_class_init), (gst_fakesink_init),
16792         (gst_fakesink_set_property), (gst_fakesink_get_property),
16793         (gst_fakesink_get_times), (gst_fakesink_event),
16794         (gst_fakesink_preroll), (gst_fakesink_render),
16795         (gst_fakesink_change_state):
16796         * gst/elements/gstfakesink.h:
16797         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16798         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
16799         * gst/gstelement.c: (gst_element_add_pad),
16800         (gst_element_get_state_func), (gst_element_abort_state),
16801         (gst_element_commit_state), (gst_element_lost_state),
16802         (gst_element_set_state), (gst_element_pads_activate):
16803         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
16804         * gst/gstpipeline.c: (gst_pipeline_send_event),
16805         (gst_pipeline_change_state):
16806         Added state change code.
16807         Added/updated docs.
16808         Added sink base class, make fakesink extend the base class.
16809         Small cleanups in GstPipeline.
16810
16811 2005-03-26  David Schleef  <ds@schleef.org>
16812
16813         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
16814         is broken and should be implemented in a different library.
16815         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
16816         * gst/gst.h: remove gstcpu.h
16817         * gst/gstcpu.c: remove
16818         * gst/gstcpu.h: remove
16819         * gst/Makefile.am.future: Remove this file.  It's ancient.
16820
16821 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16822
16823         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16824         (gst_bin_send_event):
16825           Add default event/set_manager handlers. The set_manager handler
16826           takes care that the manager is distributed over kids that were
16827           already in the bin before the manager was set. The event handler
16828           is a utility virtual function that sends the event over all sinks,
16829           so that gst_element_send_event (bin, event); has the expected
16830           behaviour.
16831         * gst/gstpad.c: (gst_pad_event_default):
16832           Re-install default event handling for discontinuities, so that
16833           seeking works without requiring hacks in applications or extra
16834           code in sinks.
16835         * gst/gstpipeline.c: (gst_pipeline_class_init),
16836         (gst_pipeline_send_event):
16837           Half hack, half utility: set a pipeline to PAUSED for seek events,
16838           since that is the only way we can guarantee a/v sync. Means that
16839           you can do gst_element_seek (pipeline, method, pos); on a pipeline
16840           and it "just works".
16841
16842 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16843
16844         * gst/gstpipeline.c: (gst_pipeline_use_clock):
16845           Lock/unlock mismatch.
16846
16847 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16848
16849         * docs/faq/gst-uninstalled:
16850           add gst-plugins-base
16851         * docs/gst/Makefile.am:
16852           don't error out until docs are fixed
16853         * docs/gst/gstreamer.types:
16854           remove thread
16855
16856 2005-03-22  Wim Taymans  <wim@fluendo.com>
16857
16858         * check/Makefile.am:
16859         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
16860         * gst/gststructure.c: (gst_structure_set_valist),
16861         (gst_structure_copy_conditional):
16862         Activated more tests.
16863         Added message test.
16864         Added G_TYPE_POINTER to GstStructure.
16865         
16866
16867 2005-03-22  Wim Taymans  <wim@fluendo.com>
16868
16869         * docs/design/part-TODO.txt:
16870         * docs/design/part-events.txt:
16871         * docs/design/part-gstbin.txt:
16872         * docs/design/part-gstbus.txt:
16873         * docs/design/part-gstpipeline.txt:
16874         * docs/design/part-messages.txt:
16875         * gst/gstbus.c:
16876         * gst/gstmessage.c:
16877         Docs updates
16878
16879 2005-03-21  Wim Taymans  <wim@fluendo.com>
16880
16881         * gst/gstbus.c: (gst_bus_post):
16882         Fix copy-and-paste error.
16883
16884 2005-03-21  Wim Taymans  <wim@fluendo.com>
16885
16886         * check/Makefile.am:
16887         * gst/Makefile.am:
16888         * gst/elements/Makefile.am:
16889         * gst/elements/gstelements.c:
16890         * gst/elements/gstfakesink.c: (gst_fakesink_init),
16891         (gst_fakesink_event), (gst_fakesink_chain):
16892         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16893         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
16894         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
16895         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
16896         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16897         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
16898         (gst_fakesrc_loop), (gst_fakesrc_activate),
16899         (gst_fakesrc_change_state):
16900         * gst/elements/gstfakesrc.h:
16901         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
16902         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
16903         (gst_filesrc_open_file), (gst_filesrc_loop),
16904         (gst_filesrc_activate), (gst_filesrc_change_state),
16905         (filesrc_find_peek), (filesrc_find_suggest),
16906         (gst_filesrc_type_find):
16907         * gst/elements/gstidentity.c: (gst_identity_finalize),
16908         (gst_identity_class_init), (gst_identity_init),
16909         (gst_identity_proxy_getcaps), (identity_queue_push),
16910         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
16911         (gst_identity_getrange), (gst_identity_chain),
16912         (gst_identity_sink_loop), (gst_identity_src_loop),
16913         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
16914         (gst_identity_set_property), (gst_identity_get_property),
16915         (gst_identity_change_state):
16916         * gst/elements/gstidentity.h:
16917         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
16918         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
16919         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
16920         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
16921         (gst_tee_sink_activate):
16922         * gst/elements/gsttee.h:
16923         * gst/gst.c: (gst_register_core_elements), (init_post):
16924         * gst/gst.h:
16925         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
16926         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
16927         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
16928         (gst_bin_change_state):
16929         * gst/gstbin.h:
16930         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
16931         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
16932         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
16933         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
16934         (gst_bus_set_sync_handler), (gst_bus_create_watch),
16935         (bus_watch_callback), (bus_watch_destroy),
16936         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
16937         (poll_timeout), (gst_bus_poll):
16938         * gst/gstbus.h:
16939         * gst/gstcaps.h:
16940         * gst/gstdata.h:
16941         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
16942         (gst_element_post_message), (gst_element_message_full),
16943         (gst_element_get_state_func), (gst_element_get_state),
16944         (gst_element_abort_state), (gst_element_commit_state),
16945         (gst_element_lost_state), (gst_element_set_state),
16946         (gst_element_pads_activate), (gst_element_change_state),
16947         (gst_element_dispose), (gst_element_set_manager_func),
16948         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
16949         (gst_element_set_manager), (gst_element_get_manager),
16950         (gst_element_set_bus), (gst_element_get_bus),
16951         (gst_element_set_scheduler), (gst_element_get_scheduler):
16952         * gst/gstelement.h:
16953         * gst/gstevent.c: (gst_event_new_segment_seek),
16954         (gst_event_new_flush):
16955         * gst/gstevent.h:
16956         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
16957         (_gst_message_free), (gst_message_get_type), (gst_message_new),
16958         (gst_message_new_eos), (gst_message_new_error),
16959         (gst_message_new_warning), (gst_message_new_tag),
16960         (gst_message_new_state_changed), (gst_message_new_application),
16961         (gst_message_get_structure), (gst_message_parse_tag),
16962         (gst_message_parse_state_changed), (gst_message_parse_error),
16963         (gst_message_parse_warning):
16964         * gst/gstmessage.h:
16965         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
16966         (gst_real_pad_set_property), (gst_pad_set_active),
16967         (gst_pad_is_active), (gst_pad_set_blocked_async),
16968         (gst_pad_set_blocked), (gst_pad_is_blocked),
16969         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
16970         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
16971         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
16972         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
16973         (gst_pad_link_filtered), (gst_pad_relink_filtered),
16974         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
16975         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
16976         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
16977         (gst_pad_set_caps), (gst_pad_configure_sink),
16978         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
16979         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
16980         (gst_real_pad_dispose), (gst_real_pad_finalize),
16981         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
16982         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16983         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
16984         * gst/gstpad.h:
16985         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
16986         (pipeline_bus_handler), (gst_pipeline_change_state),
16987         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
16988         * gst/gstpipeline.h:
16989         * gst/gstprobe.h:
16990         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
16991         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
16992         (gst_queue_link_src), (gst_queue_bufferalloc),
16993         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16994         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
16995         (gst_queue_loop), (gst_queue_handle_src_event),
16996         (gst_queue_handle_src_query), (gst_queue_src_activate),
16997         (gst_queue_change_state):
16998         * gst/gstqueue.h:
16999         * gst/gstscheduler.c: (gst_scheduler_init),
17000         (gst_scheduler_dispose), (gst_scheduler_create_task),
17001         (gst_scheduler_factory_create):
17002         * gst/gstscheduler.h:
17003         * gst/gststructure.c: (gst_structure_get_type),
17004         (gst_structure_copy_conditional):
17005         * gst/gststructure.h:
17006         * gst/gsttaginterface.h:
17007         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17008         (gst_task_init), (gst_task_dispose), (gst_task_create),
17009         (gst_task_get_state), (gst_task_start), (gst_task_stop),
17010         (gst_task_pause):
17011         * gst/gsttask.h:
17012         * gst/gstthread.c:
17013         * gst/gstthread.h:
17014         * gst/gsttypes.h:
17015         * gst/schedulers/Makefile.am:
17016         * gst/schedulers/cothreads_compat.h:
17017         * gst/schedulers/entryscheduler.c:
17018         * gst/schedulers/faircothreads.c:
17019         * gst/schedulers/faircothreads.h:
17020         * gst/schedulers/fairscheduler.c:
17021         * gst/schedulers/gstbasicscheduler.c:
17022         * gst/schedulers/gstoptimalscheduler.c:
17023         * gst/schedulers/gthread-cothreads.h:
17024         * gst/schedulers/threadscheduler.c:
17025         (gst_thread_scheduler_task_get_type),
17026         (gst_thread_scheduler_task_class_init),
17027         (gst_thread_scheduler_task_init),
17028         (gst_thread_scheduler_task_start),
17029         (gst_thread_scheduler_task_stop),
17030         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17031         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17032         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17033         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17034         (plugin_init):
17035         * libs/gst/Makefile.am:
17036         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17037         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17038         (gst_file_pad_parent_set):
17039         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17040         (gst_dp_event_from_packet):
17041         * tests/complexity.c: (main):
17042         * tests/mass_elements.c: (main):
17043         * testsuite/states/locked.c: (message_received), (main):
17044         * testsuite/states/parent.c: (main):
17045         * tools/gst-inspect.c: (print_element_flag_info),
17046         (print_implementation_info), (print_pad_info):
17047         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17048         (main):
17049         * tools/gst-md5sum.c: (event_loop), (main):
17050         * tools/gst-typefind.c: (main):
17051         * tools/gst-xmlinspect.c: (print_element_info):
17052         Next big merge.
17053         Added GstBus for mainloop integration.
17054         Added GstMessage for sending notifications on the bus.
17055         Added GstTask as an abstraction for pipeline entry points.
17056         Removed GstThread.
17057         Removed Schedulers.
17058         Simplified GstQueue for multithreaded core.
17059         Made _link threadsafe, removed old capsnego.
17060         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17061         Added pad blocking functions.
17062         Reworked scheduling functions in GstPad to prepare for
17063         scheduling updates soon.
17064         Moved events out of data stream.
17065         Simplified GstEvent types.
17066         Added return values to push/pull.
17067         Removed clocking from GstElement.
17068         Added prototypes for state change function for next merge.
17069         Removed iterate from bins and state change management.
17070         Fixed some elements, disabled others for now.
17071         Fixed -inspect and -launch.
17072         Added check for GstBus.
17073
17074 2005-03-10  Wim Taymans  <wim@fluendo.com>
17075
17076         * docs/design/part-MT-refcounting.txt:
17077         * docs/design/part-clocks.txt:
17078         * docs/design/part-gstelement.txt:
17079         * docs/design/part-gstobject.txt:
17080         * docs/design/part-standards.txt:
17081         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17082         (gst_bin_remove_func), (gst_bin_remove):
17083         * gst/gstbin.h:
17084         * gst/gstbuffer.c:
17085         * gst/gstcaps.h:
17086         * testsuite/clock/clock1.c: (main):
17087         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17088         (main):
17089         * testsuite/dlopen/loadgst.c: (do_test):
17090         * testsuite/refcounting/bin.c: (add_remove_test1),
17091         (add_remove_test2), (main):
17092         * testsuite/refcounting/element.c: (main):
17093         * testsuite/refcounting/element_pad.c: (main):
17094         * testsuite/refcounting/pad.c: (main):
17095         * tools/gst-launch.c: (sigint_handler_sighandler):
17096         * tools/gst-typefind.c: (main):
17097         Doc updates.
17098         Added doc about clock.
17099         removed gst_bin_iterate_recurse_up(), marked methods
17100         for removal.
17101         Fix more testsuites.
17102
17103 2005-03-09  Wim Taymans  <wim@fluendo.com>
17104
17105         * gst/gstpad.c: (gst_pad_get_direction),
17106         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17107         (gst_pad_collect_valist):
17108         * testsuite/bins/interface.c: (main):
17109         * testsuite/caps/audioscale.c: (test_caps):
17110         * testsuite/caps/caps.c: (test1), (test2), (test3):
17111         * testsuite/caps/deserialize.c: (main):
17112         * testsuite/caps/enumcaps.c: (main):
17113         * testsuite/caps/filtercaps.c: (main):
17114         * testsuite/caps/intersect2.c: (main):
17115         * testsuite/caps/random.c: (main):
17116         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17117         * testsuite/caps/sets.c: (check_caps):
17118         * testsuite/caps/simplify.c: (check_caps), (main):
17119         * testsuite/caps/subtract.c: (check_caps):
17120         Fix _pad_get_direction wrt ghostpads.
17121         Fix caps testsuite.
17122
17123 2005-03-09  Wim Taymans  <wim@fluendo.com>
17124
17125         * check/Makefile.am:
17126         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17127         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17128         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17129         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17130         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17131         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17132         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17133         (bin_element_is_sink), (gst_bin_iterate_sinks),
17134         (gst_bin_iterate_all_by_interface):
17135         * gst/gstbin.h:
17136         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17137         (gst_element_change_state), (gst_element_dispose),
17138         (gst_element_finalize), (gst_element_set_loop_function):
17139         * gst/gstelement.h:
17140         * gst/gstiterator.c: (find_custom_fold_func):
17141         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17142         (gst_pad_collectv), (gst_pad_collect_valist),
17143         (gst_pad_template_new):
17144         * gst/gstpipeline.c: (gst_pipeline_class_init),
17145         (gst_pipeline_dispose), (gst_pipeline_set_property),
17146         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17147         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17148         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17149         * gst/gstutils.h:
17150         * gst/schedulers/entryscheduler.c:
17151         * gst/schedulers/gstbasicscheduler.c:
17152         (gst_basic_scheduler_cothreaded_chain),
17153         (gst_basic_scheduler_chain_add_element):
17154         * testsuite/bins/interface.c: (main):
17155         Added GstBin test.
17156         Added GstSystemClock test.
17157         Implemented clock distribution code in GstBin.
17158         Implemented iterate sinks method for future use.
17159         Rearranged gstelement.h
17160         Fix GstIterator comparison bug.
17161         Moved some code to GstPipeline, mostly clocking related.
17162
17163 2005-03-09  Wim Taymans  <wim@fluendo.com>
17164
17165         * configure.ac:
17166         * gst/gst_private.h:
17167         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17168         (gst_bin_remove_func), (gst_bin_remove),
17169         (gst_bin_get_by_name_recurse_up):
17170         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17171         (gst_clock_id_compare_func), (gst_clock_id_wait),
17172         (gst_clock_id_wait_async), (gst_clock_init),
17173         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17174         * gst/gstelement.h:
17175         * gst/gstinfo.c: (_gst_debug_init):
17176         * gst/gstobject.h:
17177         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17178         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17179         * gst/gstpad.h:
17180         Bump version number, we're now 0.9.0
17181         Add future debugging category.
17182         Fix NULL _unref() in _get_by_name_recurse_up
17183         Rearrange gstpad.h.
17184         Update some docs.
17185
17186 2005-03-08  Wim Taymans  <wim@fluendo.com>
17187
17188         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17189         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17190         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17191         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17192         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17193         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17194         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17195         * gst/elements/gstidentity.c: (gst_identity_class_init):
17196         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17197         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17198         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17199         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17200         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17201         (gst_tee_link):
17202         * gst/gstelement.c: (gst_element_class_init),
17203         (gst_element_base_class_init), (gst_element_init),
17204         (gst_element_get_random_pad), (gst_element_wait_state_change),
17205         (gst_element_change_state), (gst_element_dispose),
17206         (gst_element_finalize), (gst_element_set_loop_function):
17207         * gst/gstelement.h:
17208         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17209         * gst/gstthread.c: (gst_thread_class_init),
17210         (gst_thread_release_children_locks), (gst_thread_change_state):
17211         * gst/schedulers/gstbasicscheduler.c:
17212         (gst_basic_scheduler_loopfunc_wrapper),
17213         (gst_basic_scheduler_chain_wrapper),
17214         (gst_basic_scheduler_src_wrapper),
17215         (gst_basic_scheduler_remove_element):
17216         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17217         Remove threadsafe properties. Fix elements because GObject
17218         complains when installing a property before declaring a
17219         set/get_property handler.
17220         Rearrange gstelement.h file, use STATE macros for state locks.
17221         Free mutexes in the finalize method instead of dispose.
17222
17223 2005-03-08  Wim Taymans  <wim@fluendo.com>
17224
17225         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17226         * gst/gstthread.c: (gst_thread_release_children_locks):
17227         Added parentage check.
17228         Fix build og GstThread again.
17229
17230 2005-03-08  Wim Taymans  <wim@fluendo.com>
17231
17232         * docs/design/part-MT-refcounting.txt:
17233         * docs/design/part-conventions.txt:
17234         * docs/design/part-gstobject.txt:
17235         * docs/design/part-relations.txt:
17236         * docs/design/part-standards.txt:
17237         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17238         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17239         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17240         (gst_bin_iterate_all_by_interface):
17241         * gst/gstbuffer.h:
17242         * gst/gstclock.h:
17243         * gst/gstelement.c: (gst_element_class_init),
17244         (gst_element_change_state), (gst_element_set_loop_function):
17245         * gst/gstelement.h:
17246         * gst/gstiterator.c:
17247         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17248         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17249         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17250         (gst_object_set_parent), (gst_object_unparent),
17251         (gst_object_check_uniqueness):
17252         * gst/gstobject.h:
17253         Docs updates, clean up some headers.
17254
17255 2005-03-07  Wim Taymans  <wim@fluendo.com>
17256
17257         * check/.cvsignore:
17258         * check/Makefile.am:
17259         * check/gst-libs/.cvsignore:
17260         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17261         * check/gst/.cvsignore:
17262         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17263         (START_TEST), (gstbus_suite), (main):
17264         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17265         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17266         (gst_data_suite), (main):
17267         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17268         (add_fold_func), (gstiterator_suite), (main):
17269         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17270         (thread_name_object), (thread_name_object_default),
17271         (gst_object_name_compare), (gst_object_suite), (main):
17272         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17273         (gst_pad_suite), (main):
17274         * check/gstcheck.c: (gst_check_log_message_func),
17275         (gst_check_log_critical_func), (gst_check_init):
17276         * check/gstcheck.h:
17277         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17278         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17279         Added checks.
17280
17281 2005-03-07  Wim Taymans  <wim@fluendo.com>
17282
17283         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17284         (gst_list_iterator_next), (gst_list_iterator_resync),
17285         (gst_list_iterator_free), (gst_iterator_new_list),
17286         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17287         (gst_iterator_free), (gst_iterator_push), (filter_next),
17288         (filter_resync), (filter_uninit), (filter_free),
17289         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17290         (gst_iterator_foreach), (find_custom_fold_func),
17291         (gst_iterator_find_custom):
17292         * gst/gstiterator.h:
17293         Added missing files.
17294
17295 2005-03-07  Wim Taymans  <wim@fluendo.com>
17296
17297         * Makefile.am:
17298         * configure.ac:
17299         * docs/design/part-MT-refcounting.txt:
17300         * docs/design/part-conventions.txt:
17301         * docs/design/part-gstobject.txt:
17302         * docs/design/part-relations.txt:
17303         * examples/mixer/mixer.c: (main):
17304         * examples/thread/thread.c: (eos), (main):
17305         * gst/Makefile.am:
17306         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17307         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17308         (gst_spider_plug_from_srcpad):
17309         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17310         (gst_spider_identity_change_state),
17311         (gst_spider_identity_sink_loop_type_finding):
17312         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17313         * gst/elements/gstidentity.c: (gst_identity_init):
17314         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17315         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17316         * gst/elements/gsttypefindelement.c: (free_entry):
17317         * gst/gst.c:
17318         * gst/gst.h:
17319         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17320         (gst_bin_set_clock_func), (gst_bin_auto_clock),
17321         (gst_bin_set_index), (gst_bin_set_element_sched),
17322         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17323         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17324         (gst_bin_iterate_elements), (iterate_child_recurse),
17325         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17326         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17327         (compare_interface), (gst_bin_get_by_interface),
17328         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17329         * gst/gstbin.h:
17330         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17331         (gst_buffer_default_free), (gst_buffer_default_copy),
17332         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17333         (gst_buffer_create_sub):
17334         * gst/gstbuffer.h:
17335         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17336         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17337         (gst_caps_unref), (gst_static_caps_get),
17338         (gst_caps_remove_and_get_structure), (gst_caps_append),
17339         (gst_caps_append_structure), (gst_caps_remove_structure),
17340         (gst_caps_copy_nth), (gst_caps_set_simple),
17341         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17342         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17343         (gst_caps_structure_intersect_field), (gst_caps_intersect),
17344         (gst_caps_structure_subtract_field), (gst_caps_subtract),
17345         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17346         (gst_caps_structure_figure_out_union),
17347         (gst_caps_switch_structures), (gst_caps_do_simplify),
17348         (gst_caps_replace), (gst_caps_from_string),
17349         (gst_caps_copy_conditional):
17350         * gst/gstcaps.h:
17351         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17352         (_gst_clock_id_free), (gst_clock_id_unref),
17353         (gst_clock_id_compare_func), (gst_clock_id_wait),
17354         (gst_clock_id_wait_async), (gst_clock_class_init),
17355         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17356         (gst_clock_get_time), (gst_clock_set_time_adjust),
17357         (gst_clock_set_property), (gst_clock_get_property):
17358         * gst/gstclock.h:
17359         * gst/gstcompat.h:
17360         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17361         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17362         * gst/gstdata.h:
17363         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17364         (gst_element_requires_clock), (gst_element_provides_clock),
17365         (gst_element_set_clock), (gst_element_clock_wait),
17366         (gst_element_wait), (gst_element_set_time_delay),
17367         (gst_element_is_indexable), (gst_element_add_pad),
17368         (gst_element_add_ghost_pad), (gst_element_remove_pad),
17369         (pad_compare_name), (gst_element_get_static_pad),
17370         (gst_element_request_pad), (gst_element_get_request_pad),
17371         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17372         (gst_element_class_get_pad_template_list),
17373         (gst_element_class_get_pad_template), (gst_element_error_func),
17374         (gst_element_get_random_pad), (gst_element_get_event_masks),
17375         (gst_element_send_event), (gst_element_seek),
17376         (gst_element_get_query_types), (gst_element_query),
17377         (gst_element_get_formats), (gst_element_convert),
17378         (gst_element_is_locked_state), (gst_element_set_locked_state),
17379         (gst_element_sync_state_with_parent), (gst_element_change_state),
17380         (gst_element_finalize), (gst_element_yield),
17381         (gst_element_interrupt), (gst_element_set_scheduler),
17382         (gst_element_get_scheduler), (gst_element_set_loop_function):
17383         * gst/gstelement.h:
17384         * gst/gstevent.h:
17385         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17386         (gst_format_get_by_nick), (gst_format_get_details),
17387         (gst_format_iterate_definitions):
17388         * gst/gstformat.h:
17389         * gst/gstindex.c: (gst_index_gtype_resolver):
17390         * gst/gstinfo.c:
17391         * gst/gstinfo.h:
17392         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17393         (gst_mem_chunk_free):
17394         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17395         (gst_object_ref), (gst_object_unref), (gst_object_sink),
17396         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17397         (gst_object_dispatch_properties_changed),
17398         (gst_object_set_name_default), (gst_object_set_name),
17399         (gst_object_get_name), (gst_object_set_name_prefix),
17400         (gst_object_get_name_prefix), (gst_object_set_parent),
17401         (gst_object_get_parent), (gst_object_unparent),
17402         (gst_object_check_uniqueness), (gst_object_save_thyself),
17403         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17404         (gst_object_set_property), (gst_object_get_property),
17405         (gst_object_get_path_string):
17406         * gst/gstobject.h:
17407         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17408         (gst_real_pad_init), (gst_real_pad_get_property),
17409         (gst_pad_custom_new), (gst_pad_get_direction),
17410         (gst_pad_set_active), (gst_pad_is_active),
17411         (gst_pad_set_event_function), (gst_pad_is_linked),
17412         (gst_pad_link_free), (gst_pad_link_intersect),
17413         (gst_pad_link_fixate), (gst_pad_set_caps),
17414         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17415         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17416         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17417         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17418         (gst_pad_get_caps), (gst_pad_peer_get_caps),
17419         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17420         (gst_pad_realize), (gst_pad_get_allowed_caps),
17421         (gst_real_pad_dispose), (gst_real_pad_finalize),
17422         (gst_pad_collectv), (gst_pad_collect_valist),
17423         (gst_pad_template_dispose), (gst_pad_template_new),
17424         (gst_pad_get_internal_links):
17425         * gst/gstpad.h:
17426         * gst/gstpipeline.c: (gst_pipeline_dispose),
17427         (gst_pipeline_change_state):
17428         * gst/gstpipeline.h:
17429         * gst/gstplugin.c:
17430         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17431         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17432         * gst/gstpluginfeature.h:
17433         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17434         * gst/gstquery.c: (_gst_query_type_initialize),
17435         (gst_query_type_register), (gst_query_type_get_by_nick),
17436         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17437         * gst/gstquery.h:
17438         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17439         * gst/gstscheduler.c: (gst_scheduler_add_element),
17440         (gst_scheduler_factory_create):
17441         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17442         (gst_structure_free), (gst_structure_set_name),
17443         (gst_structure_id_set_value), (gst_structure_set_value),
17444         (gst_structure_set_valist), (gst_structure_remove_field),
17445         (gst_structure_remove_fields),
17446         (gst_structure_remove_fields_valist),
17447         (gst_structure_remove_all_fields), (gst_structure_foreach),
17448         (gst_structure_map_in_place),
17449         (gst_caps_structure_fixate_field_nearest_int),
17450         (gst_caps_structure_fixate_field_nearest_double):
17451         * gst/gststructure.h:
17452         * gst/gstsystemclock.c: (gst_system_clock_class_init),
17453         (gst_system_clock_init), (gst_system_clock_dispose),
17454         (gst_system_clock_async_thread),
17455         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17456         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17457         * gst/gstsystemclock.h:
17458         * gst/gsttag.c: (gst_tag_list_add_value_internal),
17459         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17460         * gst/gsttaginterface.c:
17461         * gst/gstthread.c: (gst_thread_dispose),
17462         (gst_thread_release_children_locks), (gst_thread_change_state),
17463         (gst_thread_main_loop):
17464         * gst/gsttrashstack.h:
17465         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17466         * gst/gsttypes.h:
17467         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17468         (gst_element_request_pad), (gst_element_get_pad_from_template),
17469         (gst_element_request_compatible_pad),
17470         (gst_element_get_compatible_pad_filtered),
17471         (gst_element_get_compatible_pad), (gst_element_state_get_name),
17472         (gst_element_link_pads_filtered), (gst_element_link_filtered),
17473         (gst_element_link_many), (gst_element_link),
17474         (gst_element_link_pads), (gst_element_unlink_pads),
17475         (gst_element_unlink_many), (gst_element_unlink),
17476         (gst_pad_can_link_filtered), (gst_pad_can_link),
17477         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17478         (gst_object_default_error), (gst_bin_add_many),
17479         (gst_bin_remove_many), (gst_element_populate_std_props),
17480         (gst_element_class_install_std_props), (gst_buffer_merge),
17481         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17482         (link_fold_func), (gst_pad_proxy_setcaps):
17483         * gst/gstutils.h:
17484         * gst/gstvalue.c: (gst_value_deserialize_string):
17485         * gst/parse/grammar.y:
17486         * gst/schedulers/gstbasicscheduler.c:
17487         (gst_basic_scheduler_cothreaded_chain),
17488         (gst_basic_scheduler_chain_recursive_add),
17489         (gst_basic_scheduler_pad_link):
17490         * gst/schedulers/gstoptimalscheduler.c:
17491         (get_group_schedule_function),
17492         (gst_opt_scheduler_state_transition),
17493         (gst_opt_scheduler_add_element), (element_get_reachables_func):
17494         * libs/gst/bytestream/bytestream.c:
17495         * libs/gst/dataprotocol/dataprotocol.c:
17496         (gst_dp_header_from_buffer):
17497         * po/nb.po:
17498         * po/ru.po:
17499         * tests/threadstate/threadstate2.c: (eos):
17500         * tools/gst-compprep.c: (main):
17501         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17502         (print_pad_info), (print_children_info):
17503         * tools/gst-launch.c: (idle_func), (main):
17504         * tools/gst-md5sum.c: (idle_func), (main):
17505         * tools/gst-xmlinspect.c: (print_element_info):
17506         First THREADED backport attempt, focusing on adding locks and
17507         making sure the API is threadsafe. Needs more work. More docs
17508         follow this week.
17509
17510 2005-02-24  Andy Wingo  <wingo@pobox.com>
17511
17512         * tests/bench-complexity.scm:
17513         * tests/complexity.gnuplot: New files, good for running complexity
17514         benchmarks.
17515
17516         * tests/Makefile.am:
17517         * tests/complexity.c: New test, sets up N elements, at each level
17518         teeing into M streams per element. Eeeenteresting.
17519
17520         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
17521         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17522         running bench-mass_elements.scm.
17523
17524         * tests/bench-mass_elements.scm: New script, runs mass_elements
17525         for various numbers of identities, outputting the results to a
17526         file. Requires guile 1.6. Just for testing.
17527
17528 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17529
17530         * gst/schedulers/fairscheduler.c:
17531           compile with debug disabled
17532
17533 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17534
17535         * configure.ac:
17536           hunting season on 0.9 is now OPEN