tools/gst-inspect.c: Properly print enum values.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-06-12  Wim Taymans  <wim@fluendo.com>
2
3         * tools/gst-inspect.c: (print_signal_info):
4         Properly print enum values.
5
6 2006-06-12  Wim Taymans  <wim@fluendo.com>
7
8         * gst/gstinfo.c: (gst_debug_set_active),
9         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
10         * gst/gstinfo.h:
11         Add some G_[UN]LIKELY.
12         Maintain __gst_debug_min to avoid formatting the arguments of
13         debug messages that will be dropped anyway to avoid a lot of 
14         overhead from the debugging system.
15
16 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
17
18         * po/POTFILES.in:
19         * po/POTFILES.skip:
20           add missing files containing translatable strings, tell intltool about
21           one exception
22
23 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
24
25         * tests/check/libs/.cvsignore:
26         add test-binary to ignore list
27
28 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
29
30         * docs/libs/gstreamer-libs-docs.sgml:
31         reorder (put dp into a chapter) and indent
32
33 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
34
35         * configure.ac:
36           back to HEAD
37
38 === release 0.10.8 ===
39
40 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
41
42         * configure.ac:
43           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
44
45 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
46
47         * gst/gst.c: (init_post):
48           move pid declaration to declaration block
49
50 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
51
52         * gst/gst.c: (init_post):
53           use _exit() instead of exit() in our forked child; this ensures
54           that none of the registered exit handlers from whatever is using
55           GStreamer get executed.  This fixes gnome-mixer-applet failing
56           to load, because ORBit would shut down.
57           Spotted by: Edward Hervey  <edward@fluendo.com>
58           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
59           Fixes #344474
60
61 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
62
63         * configure.ac:
64           back to TRUNK
65
66 === release 0.10.7 ===
67
68 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
69
70         * configure.ac:
71           releasing 0.10.7, "Soepeke, ik zie ou"
72
73 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
74
75         * configure.ac:
76         * po/af.po:
77         * po/az.po:
78         * po/bg.po:
79         * po/ca.po:
80         * po/cs.po:
81         * po/de.po:
82         * po/en_GB.po:
83         * po/fr.po:
84         * po/it.po:
85         * po/nb.po:
86         * po/nl.po:
87         * po/ru.po:
88         * po/sq.po:
89         * po/sr.po:
90         * po/sv.po:
91         * po/tr.po:
92         * po/uk.po:
93         * po/vi.po:
94         * po/zh_CN.po:
95         * po/zh_TW.po:
96         * win32/common/config.h:
97           0.10.6.2 prerelease
98
99 2006-06-07  Wim Taymans  <wim@fluendo.com>
100
101         * gst/gstindex.c: (gst_index_gtype_resolver):
102         * tools/gst-xmlinspect.c: (print_plugin_info):
103         Fix leak spotted by coverity checker. Fixes #343827
104         Fix another other leak found by paolo borelli.
105
106 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
107
108         * libs/gst/dataprotocol/dataprotocol.c:
109         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
110         (gst_dp_version_get_type), (gst_dp_init),
111         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
112         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
113         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
114         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
115         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
116         (gst_dp_packetizer_free):
117         * libs/gst/dataprotocol/dataprotocol.h:
118           API: add a GstDPPacketizer object, and create/free functions
119           API: add GstDPVersion enum
120           Add 1.0 event function that uses the string serialization
121           Serialize more useful buffer flags
122           Fixes #343988
123
124 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
125
126         * tests/check/Makefile.am:
127         * tests/check/gst/gstabi.c:
128         * tests/check/gst/struct_ppc64.h:
129         * tests/check/libs/libsabi.c:
130         * tests/check/libs/struct_ppc64.h:
131           add ppc64 structure sizes
132
133 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
134
135         * tests/check/Makefile.am:
136         * tests/check/gst/gstabi.c:
137         * tests/check/gst/struct_x86_64.h:
138         * tests/check/libs/libsabi.c:
139         * tests/check/libs/struct_x86_64.h:
140           generate and add structure size lists for x86_64
141
142 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
143
144         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
145         * libs/gst/check/gstcheck.h:
146           factor out the method from tests that checks size of structures,
147           and add code to generate the header containing these sizes
148         * tests/check/gst/gstabi.c: (GST_START_TEST):
149         * tests/check/gst/struct_i386.h:
150         * tests/check/libs/libsabi.c: (GST_START_TEST):
151         * tests/check/libs/struct_i386.h:
152           use it
153
154 2006-06-06  Michael Smith  <msmith@fluendo.com>
155
156         * gst/gstsegment.h:
157           Don't use c++-style comments, fixes #343929
158
159 2006-06-05  Edward Hervey  <edward@fluendo.com>
160
161         * gst/gst.c:
162         plugin_paths is not used if we build without registry support.
163
164         * gst/gstsegment.c: (gst_segment_copy): 
165         _copy() was always returning NULL...
166
167 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
168
169         * libs/gst/dataprotocol/dataprotocol.c:
170         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
171         (gst_dp_packet_from_event):
172           factor out CRC code
173
174 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
175
176         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
177           make sure we unset caps
178
179 2006-06-02  Michael Smith  <msmith@fluendo.com>
180
181         * libs/gst/check/gstcheck.c: (gst_check_init),
182         (gst_check_chain_func):
183         * libs/gst/check/gstcheck.h:
184           Add a cond/mutex to the check support lib, signal this whenever we
185           add to the buffers list. This will allow tests to not busy-wait on
186           the buffer-list.
187
188 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
189
190         * libs/gst/dataprotocol/dataprotocol.c:
191         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
192         (gst_dp_packet_from_event):
193           factor out some common header init code
194
195 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
196
197         * docs/libs/gstreamer-libs-sections.txt:
198         * docs/libs/tmpl/gstdataprotocol.sgml:
199         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
200         * libs/gst/dataprotocol/dataprotocol.h:
201           API: make gst_dp_crc() public
202
203 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
204
205         * plugins/indexers/gstindexers.c: (plugin_init):
206         conditionally register fileindexer (fixes #343598)
207
208 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
209
210         * gst/gsttagsetter.h:
211         Can't cast ifaces to a class
212
213         * libs/gst/net/gstnetclientclock.h:
214         * libs/gst/net/gstnettimeprovider.h:
215         * plugins/elements/gstfakesink.h:
216         * plugins/elements/gstfakesrc.h:
217         * plugins/elements/gstfdsink.h:
218         * plugins/elements/gstfdsrc.h:
219         * plugins/elements/gstfilesink.h:
220         * plugins/elements/gstfilesrc.h:
221         * plugins/elements/gstidentity.h:
222         * plugins/elements/gstqueue.h:
223         * plugins/elements/gsttee.h:
224         * plugins/indexers/gstfileindex.c:
225         * plugins/indexers/gstmemindex.c:
226         * tests/old/examples/plugins/example.h:
227         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
228
229 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
230
231         * libs/gst/dataprotocol/dataprotocol.c:
232         (gst_dp_header_from_buffer):
233           make sure we zero the whole ABI-compatible area
234
235 2006-06-01  Wim Taymans  <wim@fluendo.com>
236
237         Patch by: Alessandro Decina <alessandro at nnva dot org>
238
239         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
240         Make sure the EOS flag is cleared from pads after a flush
241         or stop. Fixes #343538.
242
243         * tests/check/libs/collectpads.c: (GST_START_TEST),
244         (gst_collect_pads_suite):
245         Added test for collectpads reusage after EOS.
246
247 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
248
249         * gst/gst.c:
250          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
251         * win32/common/libgstbase.def:
252          export gst_collect_pads_set_flushing
253         * win32/common/libgstreamer.def:
254          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
255          gst_value_fraction_multiply
256         * win32/vs6/gst_inspect.dsp:
257          add a link to intl.lib
258
259 2006-05-30  Wim Taymans  <wim@fluendo.com>
260
261         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
262         (gst_collect_pads_chain):
263         Handle the case where a pad is removed from the collection
264         that could cause the other pads to become collectable.
265
266 2006-05-30  Wim Taymans  <wim@fluendo.com>
267
268         * gst/gstelement.c:
269         Clarify the use of _release_request_pad() and
270         _get_request_pad() a bit better.
271
272         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
273         (gst_adapter_take_buffer):
274         Fix some doc and comment typos.
275
276 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
277
278         * docs/gst/gstreamer-sections.txt:
279         * docs/libs/gstreamer-libs-sections.txt:
280           add declared symbols
281
282 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
283
284         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
285         Add debug that can be enabled using a #define at the top of the file,
286         for dumping stats about how late/early we were when waking up from
287         waiting on the clock.
288
289 2006-05-30  Wim Taymans  <wim@fluendo.com>
290
291         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
292         When rebuilding the pad list, don't leak the previous list.
293
294 2006-05-30  Wim Taymans  <wim@fluendo.com>
295
296         Patch by: Lutz Mueller <lutz at topfrose dot de>
297
298         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
299         (gst_base_src_get_query_types), (gst_base_src_update_length):
300         Publish supported query types.
301         Update last_stop field in get_range mode so the position
302         query works. Fixes #342321.
303
304 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
305
306         * docs/gst/gstreamer-sections.txt:
307         * gst/gsttaglist.c: (_gst_tag_initialize):
308         * gst/gsttaglist.h:
309           API: add GST_TAG_PREVIEW_IMAGE (#343341).
310
311 2006-05-30  Wim Taymans  <wim@fluendo.com>
312
313         Patch by: Alessandro Decina <alessandro at nnva dot org>
314
315         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
316         Unlock mutex when removing an unknown pad.
317         Fixes #343334.
318
319         * tests/check/Makefile.am:
320         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
321         (push_event), (setup), (teardown), (GST_START_TEST),
322         (gst_collect_pads_suite), (main):
323         Added collecpads check, disabled for now as check crashes for
324         some reason.
325
326 2006-05-29  Wim Taymans  <wim@fluendo.com>
327
328         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
329         Don't leak pads lists.
330
331 2006-05-29  Wim Taymans  <wim@fluendo.com>
332
333         * docs/libs/gstreamer-libs-sections.txt:
334         * libs/gst/base/gstcollectpads.c:
335         (gst_collect_pads_set_flushing_unlocked),
336         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
337         (gst_collect_pads_stop):
338         * libs/gst/base/gstcollectpads.h:
339         API: gst_collect_pads_set_flushing()
340         Added api to set the pads to flushing, useful for seeking
341         code in elements using collectpads.
342         Clear segment when receiving a flush.
343
344 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
345
346         * gst/gst.c: (add_path_func), (init_post):
347           Don't scan registry paths passed via --gst-plugin-path immediately
348           (will crash, because absolutely nothing is set up and no types are
349           registered etc.); do this later in init_post(). Fixes #343057.
350
351 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
352
353         * gst/gst.c: (init_post):
354           if we have fork, fork while reading/rebuilding the registry
355           so the parent doesn't take the hit of having all plugins loaded
356           in memory.  Fixes #342777.
357         * configure.ac:
358           Check if we have fork()
359         * win32/common/config.h.in:
360           no fork() on win32
361
362 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
363
364         * plugins/elements/gstelements.c:
365         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
366         (gst_file_src_init), (gst_file_src_set_property),
367         (gst_file_src_get_property), (gst_file_src_start):
368         * plugins/elements/gstfilesrc.h:
369           API: GstFileSrc::use-mmap
370
371         Add a use-mmap property to enable easier testing of all code paths.
372         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
373         in the absence of gnomevfssrc. (Closes #340501)
374
375 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
376
377         * tools/gst-inspect.c:
378         Add missing include, removes warning of ngettext not being defined on
379         some arches.
380
381 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
382
383         * gst/gstvalue.c: (gst_value_deserialize_fraction):
384         Handle NULL input and output pointers silently as a failed conversion,
385         rather than g_warnings.
386
387 2006-05-25  Wim Taymans  <wim@fluendo.com>
388
389         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
390         Initialize variable before using. Fixes #342820.
391
392 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
393
394         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
395           Fix off-by-one bug that would only allow peeks of N-1 bytes
396           from the start even if the buffer to typefind on contains
397           in fact N bytes of data (makes vorbis typefinding from a
398           vorbis identification header buffer work).
399
400         * tests/check/Makefile.am:
401         * tests/check/libs/.cvsignore:
402         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
403         (gst_typefindhelper_suite), (main), (foobar_typefind),
404         (plugin_init):
405           Add very basic unit test for gst_type_find_helper_for_buffer()
406           that checks for the problem fixed above.
407
408 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
409
410         * tools/gst-inspect.c: (print_interfaces),
411         (print_element_properties_info), (print_element_list), (main):
412           add more translatable strings
413
414 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
415
416         Patch by: Julien Moutte  <julien at moutte net>
417
418         * docs/gst/gstreamer-sections.txt:
419           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
420           
421         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
422         (gst_fake_sink_preroll):
423         * plugins/elements/gstfakesink.h:
424           API: Add new GstFakeSink::preroll-handoff signal (#337100).
425
426 2006-05-23  Wim Taymans  <wim@fluendo.com>
427
428         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
429         * gst/gstpad.h:
430         Added _CUSTOM error and success GstFlowReturn that can be
431         used be elements internally. 
432         Added macro to check for SUCCESS flowreturns.
433         API: GST_FLOW_CUSTOM_SUCCESS
434         API: GST_FLOW_CUSTOM_ERROR
435         API: GST_FLOW_IS_SUCCESS
436
437         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
438         Added check for GstFlowReturn sanity.
439
440 2006-05-23  Wim Taymans  <wim@fluendo.com>
441
442         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
443
444         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
445         (gst_collect_pads_event):
446         clear/reset segment info in FLUSH_STOP.
447         Fixes #336929.
448
449 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
450
451         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
452         (gst_collect_pads_check_collected):
453         Flush queued buffer on _stop(), fixes playing again (#342454)
454
455 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
456
457         * tests/check/gst/gststructure.c: (GST_START_TEST),
458         (gst_structure_suite):
459           add a test for a complete structure
460
461 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
462
463         * docs/faq/developing.xml:
464         * docs/faq/faq.xml:
465         * docs/faq/troubleshooting.xml:
466         * docs/faq/using.xml:
467           Some minor FAQ updates that won't change the fact that
468           our FAQ is badly structured, full of information hardly
469           anyone new to GStreamer needs to know and lacking lots
470           of information people constantly ask for.
471           
472 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
473
474         * gst/gstpad.c: (gst_pad_set_caps):
475           Short-circuit gst_pad_set_caps if setting the existing
476           caps pointer again, and avoid printing debug and 
477           reffing/unreffing the caps.
478
479         * plugins/elements/gstqueue.c: (gst_queue_push_one):
480           There's actually no need to set the caps before pushing -
481           the acceptcaps method will handle it anyway.
482
483 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
484
485         * docs/gst/gstreamer-sections.txt:
486         * win32/common/libgstreamer.def:
487         * gst/gstutils.c: (gst_element_seek_simple):
488         * gst/gstutils.h:
489           API: add gst_element_seek_simple() (#342238).
490
491 2006-05-18  Edward Hervey  <edward@fluendo.com>
492
493         * gst/gsttypefind.c: (gst_type_find_get_type):
494         * gst/gsttypefind.h:
495         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
496         registered for GstTypeFind pointers. This allows wrapping the structure
497         in bindings (i.e. gst-python).
498
499 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
500
501         * gst/gsttagsetter.c:
502           Docs additions and fixes (see #339918).
503
504 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
505
506         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
507         The caps intersection algorithm can produce multiple copies of the
508         caps. Until that is fixed, we need to simplify the result to be
509         sure whether the allowed caps are fixed or not.
510
511         * plugins/elements/gstqueue.c: (gst_queue_init),
512         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
513         (gst_queue_push_one):
514         Proxied buffer alloc should not set the caps on the source pad.
515         When pushing buffers, we always accept the caps change that triggers.
516         This prevents negotiation errors caused by caps changing mid-stream 
517         and then being refused on our source pad (because upstream is now
518         refusing those caps).
519
520 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
521
522         * tests/examples/helloworld/helloworld.c: (main):
523           Must plug audioconvert and audioresample between decoder
524           and audio sink.
525
526 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
527
528         * gst/gstregistryxml.c: (read_string), (load_pad_template),
529         (load_feature), (load_plugin):
530         Allow empty strings for some of the plugin fields so we don't 
531         drop valid plugin entries that were written out correctly
532         (Fixes #341479)
533
534 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
535         
536         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
537           Use g_remove and g_rename instead of remove and rename that don't 
538           handle utf8 characters. rename was failing for users who had specific
539           characters in their name then the registry was built at each 
540           gstreamer init.
541         * win32/vs6/gst_inspect.dsp:
542         * win32/vs6/gst_launch.dsp:
543         * win32/vs6/libgstbase.dsp:
544         * win32/vs6/libgstcoreelements.dsp:
545         * win32/vs6/libgstreamer.dsp:
546           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
547           build of libgstreamer and clean unused libraries in projects link 
548           settings.
549
550 2006-05-17  Edward Hervey  <edward@fluendo.com>
551
552         * plugins/elements/gstqueue.c: (gst_queue_push_one):
553         The queue is not responsible for pushing an EOS when receiving a fatal
554         flow error. It's up to the real element driving the pipeline to do that.
555
556 2006-05-16  Edward Hervey  <edward@fluendo.com>
557
558         * plugins/elements/gstqueue.c: (gst_queue_push_one):
559         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
560         buffer returned a fatal error. It should just send an EOS and stop
561         its task.
562         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
563         when pushing buffers on the queue and will be able to handle the event.
564
565 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
566
567         * docs/manual/basics-bins.xml:
568         * docs/manual/basics-init.xml:
569           Fix typos and minor errors in sample code (#341856).
570
571 2006-05-16  Wim Taymans  <wim@fluendo.com>
572
573         * docs/design/part-qos.txt:
574         Fix indexes in formulas to make more sense.
575
576 2006-05-15  Wim Taymans  <wim@fluendo.com>
577
578         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
579         Don't report POSITION based on clock time if sync is
580         disabled in a sink.
581
582 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
583
584         * gst/gstobject.h:
585           Add cast to make compiler happy - refcount variable was a gint
586           in GstObject but is a guint in GObject and g_atomic_int_get()
587           wants a gint *.
588
589 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
590
591         * gst/parse/Makefile.am:
592           chain commands using &&, which also makes parallel make work
593
594 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
595
596         * docs/gst/gstreamer-sections.txt:
597         * gst/gstevent.c:
598         * gst/gstevent.h:
599         * gst/gstmessage.h:
600           Minor docs fixes.
601
602 === release 0.10.6 ===
603
604 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
605
606         * configure.ac:
607           releasing 0.10.6, "Take the cannoli"
608
609 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
610
611         * tools/gst-launch.c: (print_tag):
612           Fix use of uninitialized variable in the hypothetical
613           case that some broken plugin creates a GST_TAG_IMAGE
614           tag containing a NULL buffer (#341667).
615
616 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
617
618         * tools/gst-launch.c: (print_tag):
619           Print something more intelligible for image tags when
620           using the -t switch (#341556).
621
622 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
623
624         * Makefile.am:
625           updates for win32
626         * configure.ac:
627           define GST_MAJORMINOR so we have it available in win32/common/config.h
628           Possibly remove it from our Makefile.am files later
629         * win32/common/config.h:
630         * win32/common/config.h.in:
631           added GST_MAJORMINOR
632         * win32/common/gstenumtypes.c: (register_gst_resource_error):
633         * win32/common/gstversion.h:
634           updated
635
636 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
637
638         * win32/MANIFEST:
639           Update win32 files listing.
640         * win32/common/gstversion.h:
641           Add GST_MAJORMINOR definition.
642         * win32/common/libgstreamer.def:
643           Add new exported functions.
644           
645 2006-05-12  Michael Smith  <msmith@fluendo.com>
646
647         * gst/gstplugin.c: (gst_plugin_load_file):
648           If an so file has no plugin entry point, unload the module.
649
650 2006-05-11  Wim Taymans  <wim@fluendo.com>
651
652         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
653         (gst_queue_set_property):
654         Don't forget to signal the _chain or _loop function 
655         when the queue size or thresholds change since that might
656         cause them to make progres again.
657
658 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
659
660         * gst/gstclock.c: (gst_clock_class_init):
661         * gst/gstindex.c: (gst_index_class_init):
662         * gst/gstobject.c: (gst_object_class_init):
663         * gst/gstpad.c: (gst_pad_class_init):
664         * gst/gstpipeline.c: (gst_pipeline_class_init):
665         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
666         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
667         * libs/gst/base/gstbasetransform.c:
668         (gst_base_transform_class_init):
669         * libs/gst/net/gstnetclientclock.c:
670         (gst_net_client_clock_class_init):
671         * libs/gst/net/gstnettimeprovider.c:
672         (gst_net_time_provider_class_init):
673         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
674         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
675         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
676         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
677         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
678         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
679         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
680         * plugins/elements/gstidentity.c: (gst_identity_class_init):
681         * plugins/elements/gsttee.c: (gst_tee_class_init):
682         * tests/old/examples/plugins/example.c: (gst_example_class_init):
683         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
684           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
685
686 2006-05-11  Wim Taymans  <wim@fluendo.com>
687
688         * gst/gstbuffer.c: (_gst_buffer_initialize):
689         Register subbufer along with the buffer type so that
690         it does not accidentally gets registered from N
691         different streaming threads in a non threadsafe way.
692
693 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
694
695         * gst/gstbuffer.h:
696         * gst/gstevent.h:
697         * gst/gstmessage.h:
698           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
699           gst_event_ref() and gst_message_ref() functions again
700           (ugly hack, please do fix if there's a better way besides
701           overrides.txt, which doesn't seem to work).
702
703 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
704
705         * libs/gst/check/gstcheck.h:
706           add an assert for setting state to avoid lots of repetitive code
707           in the future
708
709 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
710
711         * gst/gstvalue.c: (gst_value_serialize_flags):
712           fix a leak if no flags are set
713         * tests/check/gst/gstvalue.c: (GST_START_TEST):
714           fix leak in tests
715
716 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
717
718         * docs/manual/basics-pads.xml:
719           Expand a bit on caps and filtered links and update
720           examples that were still using the no longer existing
721           gst_pad_link_filtered() (#338206).
722
723 2006-05-10  Wim Taymans  <wim@fluendo.com>
724
725         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
726         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
727         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
728         (gst_collect_pads_stop):
729         * libs/gst/base/gstcollectpads.h:
730         No need to call _stop in _finalize.
731         Iterate the main pad list in _finalize.
732         Added some more debug.
733         Free lists and data in the right order.
734         Also free data whem doing _remove_pad when stopped for
735         backward compatibility protect ::started with PAD_LOCK as
736         well.
737
738 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
739
740         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
741         (gst_structure_parse_value):
742           add some comments
743           rename a method so that it actually says what it does better
744
745 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
746
747         * gst/gstevent.c: (_gst_event_initialize):
748         * gst/gstformat.c: (_gst_format_initialize):
749           make sure some essential types used by events are registered
750           as part of gst_init()
751         * gst/gstvalue.c: (gst_value_serialize_flags):
752           if no flags are set, serialize them to a value that represents NONE
753           so that deserializing them works
754         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
755           add tests for serialization and deserialization of flags
756
757 2006-05-10  Wim Taymans  <wim@fluendo.com>
758
759         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
760         (gst_collect_pads_collect_range), (gst_collect_pads_available),
761         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
762         (gst_collect_pads_event), (gst_collect_pads_chain):
763         Update docs.
764         Better debug info.
765         Catch and return errors from the collect function
766         Refuse data on eos pads.
767
768 2006-05-10  Edward Hervey  <edward@fluendo.com>
769
770         * gst/gstinterface.h:
771         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
772         GInterface type checking.
773         They were previously using non-defined macros.
774
775 2006-05-09  Wim Taymans  <wim@fluendo.com>
776
777         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
778         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
779         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
780         (gst_collect_pads_start), (gst_collect_pads_stop),
781         (gst_collect_pads_peek), (gst_collect_pads_pop),
782         (gst_collect_pads_available), (gst_collect_pads_read),
783         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
784         (gst_collect_pads_is_collected), (gst_collect_pads_event),
785         (gst_collect_pads_chain):
786         * libs/gst/base/gstcollectpads.h:
787         Clean up the mess that is collectpads, add comments and
788         FIXMEs where needed.
789         Maintain a separate pad list so we can add pads while
790         collecting the other ones. For this we need a new separate 
791         lock (see comics).
792         Fix memory leak in finalize.
793         Refactor some weird code to set/unset pad flushing flags, mark
794         with comments.
795         Don't crash in _available, _read, _flush when we're EOS.
796
797         * tests/check/libs/.cvsignore:
798         Ignore adapter check binary.
799
800 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
801
802         * gst/gstindex.c: (gst_index_resolver_get_type):
803         * plugins/elements/gstfakesink.c:
804         (gst_fake_sink_state_error_get_type):
805         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
806         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
807         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
808           Const-ify GEnumValue arrays.
809
810 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
811
812         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
813           Add test case for flags + gst_buffer_make_metadata_writable().
814
815 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
816
817         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
818           gst_buffer_make_metadata_writable() should maintain the
819           buffer flags (those that make sense at least) (see #340859).
820
821 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
822
823         * tools/gst-inspect.c:
824         * tools/gst-launch.c:
825         * tools/gst-typefind.c:
826         * tools/gst-xmlinspect.c:
827         * tools/tools.h:
828           Fix up includes: need to include stdlib.h in tools.h for exit().
829
830 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
831
832         * gst/gsttaglist.c: (_gst_tag_initialize):
833         * gst/gsttaglist.h:
834           API: add GST_TAG_IMAGE tag (#340721).
835
836 2006-05-08  Wim Taymans  <wim@fluendo.com>
837
838         * gst/gstquery.c:
839         Added some docs for the segment query.
840
841 2006-05-08  Wim Taymans  <wim@fluendo.com>
842
843         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
844         (gst_base_src_loop), (gst_base_src_change_state):
845         Always push non-flushing serialized events in the streaming 
846         thread.
847
848 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
849
850         * gst/gsterror.c: (_gst_stream_errors_init):
851           Add a missing error string.
852
853 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
854
855         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
856         Add applied_rate to the debug
857
858         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
859         Copy applied_rate into the outgoing NEWSEGMENT event
860
861 2006-05-08  Wim Taymans  <wim@fluendo.com>
862
863         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
864
865         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
866         (gst_base_sink_change_state):
867         call ::unlock before taking the PREROLL_LOCK so we can safely
868         handle elements that lock in ::render.
869         Fixes #340174.
870
871 2006-05-08  Edward Hervey  <edward@fluendo.com>
872
873         * autogen.sh: (CONFIGURE_DEF_OPT): 
874         Darwin's libtoolize is in fact called glibtoolize.
875         Adding glibtoolize to the list of accepted names for libtoolize.
876
877 2006-05-08  Wim Taymans  <wim@fluendo.com>
878
879         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
880         Unify error handling, don't post an error message
881         when a push() returns EOS but perform our normal EOS
882         handling code. Fixes #340772.
883
884 2006-05-08  Wim Taymans  <wim@fluendo.com>
885
886         * docs/design/part-overview.txt:
887         Make upsteam/downstream concepts more clear.
888         Give an example of serialized/non-serialized events.
889
890         * docs/design/part-events.txt:
891         * docs/design/part-streams.txt:
892         Mention applied_rate.
893
894         * docs/design/part-trickmodes.txt:
895         Mention applied rate, flesh out some more use cases.
896
897         * gst/gstevent.c: (gst_event_new_new_segment),
898         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
899         (gst_event_parse_new_segment_full), (gst_event_new_tag),
900         (gst_event_parse_tag), (gst_event_new_buffer_size),
901         (gst_event_parse_buffer_size), (gst_event_new_qos),
902         (gst_event_parse_qos), (gst_event_parse_seek),
903         (gst_event_new_navigation):
904         * gst/gstevent.h:
905         Add applied_rate field to NEWSEGMENT event.
906         API: gst_event_new_new_segment_full()
907         API: gst_event_parse_new_segment_full()
908
909         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
910         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
911         (gst_segment_to_stream_time), (gst_segment_to_running_time):
912         * gst/gstsegment.h:
913         Add applied_rate to GstSegment structure.
914         Make calculation of stream_time and running_time more correct
915         wrt rate/applied_rate.
916         Add some more docs.
917         API: GstSegment::applied_rate field
918         API: gst_segment_set_newsegment_full();
919
920         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
921         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
922         * libs/gst/base/gstbasetransform.c:
923         (gst_base_transform_sink_eventfunc),
924         (gst_base_transform_handle_buffer):
925         Parse and use applied_rate in the GstSegment field.
926
927         * tests/check/gst/gstevent.c: (GST_START_TEST):
928         Add check for applied_rate field.
929
930         * tests/check/gst/gstsegment.c: (GST_START_TEST),
931         (gstsegments_suite):
932         Add more checks for various GstSegment operations.
933
934 2006-05-08  Wim Taymans  <wim@fluendo.com>
935
936         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
937         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
938         (gst_base_sink_get_position), (gst_base_sink_change_state):
939         Store the sync time of the buffer end position separatly in a
940         new variable eos_rtime so we can properly sync the EOS event.
941         Fixes #340697.
942         Fix the docs for gst_base_sink_set_qos_enabled().
943         Don't set segment start to invalid value when we receive a 
944         non TIME newsegment.
945         get closer to handling position reporting for negative rates 
946         correctly.
947
948 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
949
950         * gst/gstcaps.c:
951         Docs about how to print caps for debug purposes.
952
953         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
954         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
955
956 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
957
958         * gst/gstelement.c:
959           use full enum names and preprend a '%' in docs strings to make recent 
960           gtk-doc turn that into a link
961
962 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
963
964         * docs/manual/basics-bins.xml:
965         * docs/manual/basics-bus.xml:
966         * docs/manual/basics-pads.xml:
967           Some typo fixes, some additions, some clarifications. 
968
969 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
970
971         * tools/gst-inspect.c: (main):
972         * tools/gst-launch.c: (main):
973         * tools/gst-run.c: (main):
974         * tools/gst-typefind.c: (main):
975         * tools/gst-xmlinspect.c: (main):
976           Use the string passed to g_option_context_new() for
977           what it's intended for - the program name is already
978           printed elsewhere.
979
980 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
981
982         * tools/Makefile.am:
983         * tools/gst-inspect.c: (main):
984         * tools/gst-launch.c: (main):
985         * tools/gst-xmlinspect.c: (main):
986         * tools/tools.h:
987           Add back --version command line option (#340460).
988
989         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
990           Add --version option and use GOption for argument parsing; refactor a
991           bit; accept directories as arguments and recurse into them; lastly,
992           print a decent error message when things go wrong.
993
994 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
995
996         * docs/manual/basics-bins.xml:
997         Don't mention GstThread (#340611)
998         * docs/manual/basics-elements.xml:
999         Update link to GObject tutorial (#340607)
1000         
1001 2006-05-05  Wim Taymans  <wim@fluendo.com>
1002
1003         * gst/gstbuffer.h:
1004         * gst/gstminiobject.c:
1005         Add note about refcounting and miniobject/buffer writeability
1006         to docs. Fixes #340604
1007
1008         * gst/gstelementfactory.h:
1009         Added some explanation about @klass.
1010
1011 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1012
1013         * docs/manual/intro-motivation.xml:
1014         * docs/manual/manual.xml:
1015         Avoid CORBA & Bonobo references (#340598)
1016
1017 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1018
1019         * docs/manual/basics-bus.xml:
1020         * docs/manual/basics-pads.xml:
1021         Fix up some inaccuracies and omissions (#340609)
1022         
1023 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1024
1025         * gst/gstghostpad.c:
1026           Small typo in docs (#340625)
1027
1028 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1029
1030         * gst/parse/Makefile.am:
1031           Make 'make -j' proof (see #340698).
1032
1033 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1034
1035         * configure.ac:
1036           Require GLib-2.8 here as well.
1037
1038 2006-05-05  Wim Taymans  <wim@fluendo.com>
1039
1040         * gst/glib-compat.c:
1041         * gst/gst.c: (init_pre):
1042         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1043         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1044         (gst_object_dispatch_properties_changed):
1045         * gst/gstobject.h:
1046         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1047         * gst/gststructure.c: (gst_structure_set_valist):
1048         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1049         Remove pre glib2.8 compatibility, fixes #340508
1050
1051 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1052
1053         * gst/gsttaglist.h:
1054           Mention type of tags in doc blurbs.
1055
1056 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1057
1058         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1059         (gst_pad_configure_src), (gst_pad_push):
1060         Restore acceptcaps checking behaviour now that good plugins have
1061         been released.
1062
1063 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1064
1065         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1066
1067         * gst/gst.c:
1068         * gst/gstbus.c:
1069         * gst/gstclock.c:
1070         * gst/gstevent.c:
1071         * gst/gstformat.c:
1072         * gst/gstmessage.c:
1073         * gst/gstparse.c:
1074         * gst/gstquery.c:
1075         * gst/gstutils.c:
1076         * gst/parse/Makefile.am:
1077         * libs/gst/base/gstadapter.c:
1078         * libs/gst/base/gstbasesrc.c:
1079         * libs/gst/base/gstpushsrc.c:
1080         * libs/gst/base/gsttypefindhelper.c:
1081         * plugins/elements/gstfakesrc.c:
1082         * plugins/elements/gstidentity.c:
1083           Make sure gstprivate.h and/or config.h are
1084           always included first, otherwise some of our
1085           defines (like _FILE_OFFSET_BITS) might be
1086           redefined in the system headers. Fixes build
1087           on opensolaris (#340016).
1088
1089 2006-05-04  Wim Taymans  <wim@fluendo.com>
1090
1091         * docs/libs/gstreamer-libs-sections.txt:
1092         API: addition: gst_adapter_take_buffer()
1093         
1094         * libs/gst/base/gstadapter.c: (gst_adapter_push),
1095         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1096         (gst_adapter_available_fast):
1097         * libs/gst/base/gstadapter.h:
1098         Prepare for optimizing the hell out of this hugely inefficient
1099         piece of code. 
1100         Added gst_adapter_take_buffer() so we can at least start thinking
1101         about subbuffering and merging.
1102         Added some comments.
1103
1104         * tests/check/Makefile.am:
1105         * tests/check/libs/adapter.c: (GST_START_TEST),
1106         (gst_adapter_suite), (main):
1107         Added GstAdapter check.
1108
1109 2006-05-04  Wim Taymans  <wim@fluendo.com>
1110
1111         * docs/design/part-overview.txt:
1112         Fix some typos, add blurb about buffer flags.
1113
1114 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1115
1116         * docs/libs/gstreamer-libs-sections.txt:
1117           make sure GstBaseTransformClass shows up in the docs
1118         * libs/gst/base/gstbasetransform.c:
1119         * libs/gst/base/gstbasetransform.h:
1120           move docs so gtk-doc picks it up now
1121
1122 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1123
1124         * docs/libs/gstreamer-libs-sections.txt:
1125           add missing symbols to docs
1126
1127 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1128
1129         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1130           back out the newsegment handling change, see #340060 for ongoing
1131           discussion
1132
1133 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
1134
1135         * tools/gst-run.c: (get_candidates), (main):
1136           Fix wrong g_file_test() usage (see glib docs for why it doesn't
1137           work); fix typo in error message. Fixes #340079.
1138
1139 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1140
1141         * common/Makefile.am:
1142         * docs/Makefile.am:
1143         * docs/faq/Makefile.am:
1144         * docs/gst/Makefile.am:
1145         * docs/libs/Makefile.am:
1146         * docs/manual/Makefile.am:
1147         * docs/plugins/Makefile.am:
1148         * docs/pwg/Makefile.am:
1149         * docs/slides/Makefile.am:
1150         * docs/upload.mak:
1151         * common/upload.mak:
1152           move upload.mak to common
1153
1154 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1155
1156         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1157           add more asserts on refcounts
1158           do more cleanup at end of tests
1159           fix test leaks showing in FC5
1160
1161 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1162
1163         * plugins/elements/gsttypefindelement.c:
1164         (gst_type_find_element_handle_event):
1165         reverted wrong change and reflowed code to avoid others falling into
1166         this trap
1167
1168 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1169
1170         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1171           fix changelog entry about last collectpads change,
1172           add notes about proper fix
1173
1174 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1175
1176         * gst/gst.c:
1177         * gst/gstregistry.c: (gst_registry_scan_path_level),
1178         (gst_registry_scan_path):
1179         * gst/gstregistry.h:
1180           only write out registry if it has changed, fixes #338339
1181
1182 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1183
1184         * gst/gstbin.c:
1185         * gst/gstpipeline.c:
1186         * plugins/elements/gstcapsfilter.c:
1187         * plugins/elements/gstfakesink.c:
1188         * plugins/elements/gstfakesrc.c:
1189         * plugins/elements/gstfdsink.c:
1190         * plugins/elements/gstfdsrc.c:
1191         * plugins/elements/gstfilesink.c:
1192         * plugins/elements/gstfilesrc.c:
1193         * plugins/elements/gstidentity.c:
1194         * plugins/elements/gstqueue.c:
1195         * plugins/elements/gsttee.c:
1196         * plugins/elements/gsttypefindelement.c:
1197         (gst_type_find_element_handle_event):
1198           make GstElementDetails const
1199
1200 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1201
1202         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1203         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1204         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1205           more detailed debug and formatting cleanup,
1206           forward newsegments to src-pad (so that e.g. adder not eats them)
1207
1208 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1209
1210         * gst/gstutils.c: (gst_element_link_pads):
1211           cleanup double code
1212
1213 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1214
1215         * libs/gst/controller/gstcontroller.c:
1216         (gst_controller_sync_values):
1217           some little tuning
1218         * tests/check/libs/controller.c: (GST_START_TEST),
1219         (gst_controller_suite):
1220           a new test for live value handling
1221
1222 2006-04-28  Wim Taymans  <wim@fluendo.com>
1223
1224         * gst/gstutils.c: (push_and_ref):
1225         Added some more docs.
1226         Fix refcount issue whith gst_element_found_tags() helper 
1227         function. Fixes #338335
1228
1229         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1230         Added testsuite for gst_element_found_tags().
1231
1232 2006-04-28  Michael Smith  <msmith@fluendo.com>
1233
1234         * gst/gstvalue.c: (gst_value_serialize_flags):
1235           Avoid NULL dereference when trying to serialize flags containing
1236           invalid values.
1237
1238 2006-04-28  Michael Smith  <msmith@fluendo.com>
1239
1240         * plugins/elements/gsttypefindelement.c:
1241         (gst_type_find_element_handle_event):
1242           If we get EOS before any data is accumulated, don't use
1243           uninitialised local variables.
1244
1245 2006-04-28  Michael Smith  <msmith@fluendo.com>
1246
1247         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1248         (gst_dp_event_from_packet):
1249           Fixes in reading/writing events over GDP (not currently used?) - 
1250           dereferencing NULL events for unknown/invalid event types, memory
1251           leak, and change g_warning to GST_WARNING.
1252
1253 2006-04-28  Wim Taymans  <wim@fluendo.com>
1254
1255         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1256         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1257         (gst_base_sink_get_position), (gst_base_sink_change_state):
1258         When frame dropping is enabled, we should not ignore frames
1259         without a duration.
1260         Update some documentation.
1261
1262 2006-04-28  Wim Taymans  <wim@fluendo.com>
1263
1264         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1265         (gst_base_src_send_event), (gst_base_src_change_state):
1266         Documentation updates.
1267
1268 2006-04-28  Wim Taymans  <wim@fluendo.com>
1269
1270         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1271         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1272         handle EAGAIN, EINTR and short writes correctly. Also clean
1273         up some error cases, avoid a deadlock on bad file descriptors and
1274         use GST_DEBUG_OBJECT.
1275         Fixes #339843
1276
1277 2006-04-28  Wim Taymans  <wim@fluendo.com>
1278
1279         * gst/gstvalue.c: (gst_value_serialize_buffer),
1280         (gst_value_deserialize_buffer):
1281         Don't try to serialize a GValue with a NULL buffer. 
1282         Fixes #339821.
1283
1284         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1285         Added check for serialisation of NULL buffers.
1286
1287 2006-04-28  Wim Taymans  <wim@fluendo.com>
1288
1289         * gst/gstminiobject.c: (gst_value_take_mini_object):
1290         Taking a NULL miniobject is valid, fix the case where
1291         we try to unref the NULL miniobject.
1292
1293 2006-04-28  Wim Taymans  <wim@fluendo.com>
1294
1295         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1296
1297         * gst/gstbin.c: (gst_bin_handle_message_func):
1298         Update docs.
1299         Don't leak bin refcount when a state recalc is
1300         in progress and we delay another one #339808.
1301
1302 2006-04-28  Wim Taymans  <wim@fluendo.com>
1303
1304         * docs/design/part-TODO.txt:
1305         Mention QoS as an ongoing work item.
1306
1307         * docs/design/part-buffering.txt:
1308         New doc about buffering that needs to be fleshed out
1309         at some point.
1310
1311         * docs/design/part-qos.txt:
1312         More QoS policy for decoders/demuxers/transforms
1313
1314         * docs/design/part-trickmodes.txt:
1315         Small update.
1316
1317 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1318
1319         * configure.ac:
1320           back to HEAD
1321
1322 === release 0.10.5 ===
1323
1324 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1325
1326         * configure.ac:
1327           releasing 0.10.5, "Fogo"
1328
1329 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1330
1331         patch by: Wim Taymans
1332
1333         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1334         (gst_pad_configure_src), (gst_pad_push):
1335         * gst/gstpipeline.c: (gst_pipeline_init):
1336           Fix internal data flow errors.  Fixes #338711.
1337
1338 2006-04-12  Wim Taymans  <wim@fluendo.com>
1339
1340         * tests/check/gst/gstelement.c: (GST_START_TEST):
1341         Don't leak the factory.
1342
1343 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1344
1345         * configure.ac:
1346         * win32/common/config.h:
1347           prerelease
1348
1349 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1350
1351         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1352         (gst_controller_unset_all):
1353           Free allocated GstTimedValues when freeing list nodes.
1354           Should fix leaks 'make check-valgrind' complains about.
1355
1356         * win32/common/libgstcontroller.def:
1357           Add gst_controller_unset_all.
1358
1359 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1360
1361         * docs/libs/gstreamer-libs-sections.txt:
1362         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1363         (gst_controller_unset_all):
1364         * libs/gst/controller/gstcontroller.h:
1365         API: Added new method gst_controller_unset_all()
1366         fixed gst_controller_unset()
1367         * tests/check/libs/controller.c: (GST_START_TEST),
1368         (gst_controller_suite):
1369         Added two testcases for new and fixed method
1370
1371 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
1372
1373         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1374           MSG_DONTWAIT is not defined on Cygwin, so work
1375           around that (fixes #317048).
1376           
1377 2006-04-11  Wim Taymans  <wim@fluendo.com>
1378
1379         * gst/gstelementfactory.c: (gst_element_register),
1380         (gst_element_factory_create), (gst_element_factory_make):
1381         Some cleanups.
1382         Fixed a FIXME.
1383         Updated docs (Fixes #131079)
1384
1385         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1386         Small cleanups.
1387
1388         * tests/check/gst/gstelement.c: (GST_START_TEST),
1389         (gst_element_suite):
1390         Added testcase for elementfactory class field.
1391
1392 2006-04-10  Wim Taymans  <wim@fluendo.com>
1393
1394         * gst/gstsegment.c:
1395         Added some more docs.
1396
1397         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1398         (gst_base_sink_reset_qos):
1399         Calculate more accurate rate values.
1400
1401 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
1402
1403         * gst/gst_private.h:
1404           add a new #ifdef to use __declspec(dllimport) only for
1405           other modules and not for gstreamer core
1406         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1407           use gst_guint64_to_gdouble for conversion
1408         * win32/common/libgstreamer.def:
1409           add new exported functions
1410         * win32/vs6/gst_inspect.dsp:
1411         * win32/vs6/gst_launch.dsp:
1412         * win32/vs6/libgstbase.dsp:
1413         * win32/vs6/libgstcontroller.dsp:
1414         * win32/vs6/libgstcoreelements.dsp:
1415         * win32/vs6/libgstdataprotocol.dsp:
1416         * win32/vs6/libgstnet.dsp:
1417           update project files
1418
1419 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1420
1421         * gst/gstbuffer.c: (gst_subbuffer_class_init):
1422         * gst/gstclock.c: (gst_clock_class_init):
1423         * gst/gstelement.c: (gst_element_class_init):
1424         * gst/gstindex.c: (gst_index_class_init):
1425         * gst/gstindexfactory.c: (gst_index_factory_class_init):
1426         * gst/gstobject.c: (gst_object_class_init),
1427         (gst_signal_object_class_init):
1428         * gst/gstpad.c: (gst_pad_class_init):
1429         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1430         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1431         * gst/gstregistry.c: (gst_registry_class_init):
1432         * gst/gstsystemclock.c: (gst_system_clock_class_init):
1433         * gst/gsttask.c: (gst_task_class_init):
1434         * gst/gstxml.c: (gst_xml_class_init):
1435         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1436         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1437         (gst_base_src_loop):
1438         * libs/gst/controller/gstcontroller.c:/
1439         (_gst_controller_class_init):
1440         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1441         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1442         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1443         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1444         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1445         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1446
1447 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
1448
1449         * gst/gstpad.c: (gst_pad_link):
1450           Must set peer pads before calling the link function, otherwise
1451           a task started from a link function might get a flow-not-linked
1452           result when trying to push because the other thread where the
1453           linking happens hasn't had a chance to set the peers yet. This
1454           might happen for example when a queue gets linked to a downstream
1455           element, as queue starts a streaming task when its source pad
1456           gets linked. Happens in real life when playing back flac/musepack
1457           files in playbin (#332390).
1458           
1459 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1460
1461         * gst/gstindex.h:
1462         * gst/gstxml.h:
1463         * libs/gst/base/gstadapter.h:
1464         * libs/gst/base/gstbasesink.h:
1465         * libs/gst/base/gstbasesrc.h:
1466         * libs/gst/base/gstbasetransform.h:
1467         * libs/gst/base/gstcollectpads.h:
1468         * libs/gst/base/gstpushsrc.h:
1469         Fix broken GObject macros
1470
1471 2006-04-07  Wim Taymans  <wim@fluendo.com>
1472
1473         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1474         Initialize start and stop times, thanks valgrind.
1475
1476 2006-04-07  Wim Taymans  <wim@fluendo.com>
1477
1478         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1479         Be a bit nicer to badly behaving upstream elements that expect
1480         us to deal with non TIME segments and timestamps (such as fakesrc
1481         in the testsuite).
1482
1483 2006-04-07  Wim Taymans  <wim@fluendo.com>
1484
1485         * gst/gstbus.c:
1486         Small documentation clarification about the signal watch.
1487
1488         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1489         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1490         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1491         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1492         (gst_base_sink_get_position_last),
1493         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1494         Convert and store timestamps in stream time and running time, the
1495         raw timestamps are not usefull, also document this better.
1496         Use different window sizes for good and bad QoS observations so
1497         we react to badness a little quicker.
1498         Keep track of the amount of rendered and dropped buffers.
1499         Send QoS timestamps in running time.
1500
1501         * libs/gst/base/gstbasetransform.c:
1502         (gst_base_transform_sink_eventfunc),
1503         (gst_base_transform_handle_buffer):
1504         Compare QoS timestamps against running time.
1505
1506 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1507
1508         * gst/gstpad.c:
1509           Typo fixes in docs.
1510
1511 2006-04-06  Michael Smith  <msmith@fluendo.com>
1512
1513         * gst/gstpad.c: (gst_pad_set_property):
1514           Use g_value_get_object() instead of g_value_dup_gst_object(),
1515           to avoid double-reffing the pad template (which we then sink,
1516           so this worked previously if (and only if) the pad template
1517           was floating.
1518
1519         * gst/gstpadtemplate.c: (gst_pad_template_init),
1520         (gst_pad_template_pad_created):
1521           Never return floating references to pad templates, create
1522           them as initially-sunken.
1523
1524           Document an extra function (and make this stop sinking our
1525           pad template, since that is now guaranteed to do nothing,
1526           since we created it sunken).
1527
1528         * gst/gstghostpad.c:
1529           Fix docs typo.
1530
1531 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1532
1533         * gst/gstinfo.c: (__gst_in_valgrind):
1534           Add some newlines.
1535
1536         * plugins/elements/gsttypefindelement.c:
1537         (gst_type_find_element_chain):
1538           Don't leak buffer caps.
1539
1540 2006-04-06  Michael Smith  <msmith@fluendo.com>
1541
1542         * gst/parse/grammar.y:
1543           Fix a leak in parse-launch for any source-or-sink named element 
1544           references used.
1545
1546         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1547           Unref the pipeline if it exists after we've failed parsing.
1548
1549 2006-04-05  Michael Smith  <msmith@fluendo.com>
1550
1551         * gst/gstpipeline.c: (gst_pipeline_init):
1552           When we create a pipeline bus, initially create it in flushing mode.
1553           Fixes leaks in at least one test, and makes a new pipeline work the
1554           same as one that has gone to READY and then back to NULL.
1555
1556         * gst/gstelement.c:
1557           Typo fix in docs.
1558
1559 2006-04-05  Michael Smith  <msmith@fluendo.com>
1560
1561         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1562           Unref a pad we reffed.
1563         * tests/check/gst/gstutils.c: (GST_START_TEST):
1564           Unref bins
1565
1566 2006-04-05  Michael Smith  <msmith@fluendo.com>
1567
1568         * gst/gstquery.c: (gst_query_set_formats),
1569         (gst_query_set_formatsv):
1570           Fix leaking GValues in queries, as shown by valgrind/testsuite.
1571
1572 2006-04-05  Michael Smith  <msmith@fluendo.com>
1573
1574         * tests/check/generic/sinks.c: (GST_START_TEST):
1575           Fix a variety of memleaks in sinks check, which are only sometimes 
1576           shown by running the tests under valgrind (weird?).
1577
1578 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
1579
1580         * docs/version.entities.in:
1581           Fix the substituted entity name after thomas' changes on the
1582           weekend.
1583
1584 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1585
1586         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1587         VALGRIND_PRINTF
1588         
1589 2006-04-05  Andy Wingo  <wingo@pobox.com>
1590
1591         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1592
1593         * libs/gst/base/gstbasetransform.c
1594         (gst_base_transform_sink_eventfunc): When resetting our segment on
1595         FLUSH_STOP, also update the flag saying we haven't seen a
1596         newsegment.
1597
1598 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1599
1600         Patch by: Paolo Borelli  <pborelli at katamail dot com>
1601
1602         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1603         (gst_plugin_check_license):
1604           minor clean-ups: G_DEFINE_TYPE already takes care of the
1605           parent_class stuff, no need to do it twice. Mark array of
1606           license strings as constant. (#337103)
1607           
1608 2006-04-04  Michael Smith  <msmith@fluendo.com>
1609
1610         * tools/gst-inspect.c: (print_element_list):
1611           Free the right plugin list; fixes a memory leak.
1612
1613 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1614
1615         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
1616
1617         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1618           Don't error out on empty buffers (#336945).
1619           
1620 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
1621
1622         * docs/libs/gstreamer-libs-sections.txt:
1623         * gst/gsttaglist.c:
1624         * libs/gst/base/gstbasesink.c:
1625         * libs/gst/base/gstbasesink.h:
1626         * libs/gst/base/gstbasesrc.c:
1627         * libs/gst/base/gstbasesrc.h:
1628           Documentation updates. Make BaseSink and BaseSrc docs contain the
1629           class structure so that people can actually see the prototypes for
1630           virtual functions they're supposed to be overriding.
1631
1632 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1633
1634         * plugins/elements/gsttypefindelement.c:
1635         (gst_type_find_element_chain):
1636           More debug info; when skipping typefinding, send cached
1637           events in all cases.
1638
1639 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1640
1641         * configure.ac:
1642           use new AS_VERSION and AS_NANO macros
1643         * gst/gst-i18n-lib.h:
1644         * gst/gst.c:
1645         * gst/gsterror.c:
1646         * gst/gstversion.h.in:
1647         * win32/common/config.h:
1648         * win32/common/config.h.in:
1649           update accordingly
1650
1651 2006-03-31  Michael Smith  <msmith@fluendo.com>
1652
1653         * plugins/elements/gsttypefindelement.c:
1654         (gst_type_find_element_chain):
1655           Do not typefind content if the buffers already have caps.
1656           Neccesary for icydemux (#333657), and the right thing to do anyway.
1657
1658 2006-03-30  Wim Taymans  <wim@fluendo.com>
1659
1660         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1661         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1662         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1663         (gst_base_sink_record_qos_observation),
1664         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1665         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1666         (gst_base_sink_change_state):
1667         More QoS measurements as described in the design doc.
1668         Get rid of ringbuffer with observations, running average is
1669         more simple and equally good.
1670         Calculates valid proportion now.
1671         Added beginning of flood measurement.
1672
1673 2006-03-29  Wim Taymans  <wim@fluendo.com>
1674
1675         * docs/design/part-qos.txt:
1676         * gst/gstclock.c:
1677         Small documentation updates and additions.
1678
1679 2006-03-29  Wim Taymans  <wim@fluendo.com>
1680
1681         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1682         (gst_base_src_send_event), (gst_base_src_loop),
1683         (gst_base_src_change_state):
1684         Perform the EOS logic when we reach the segment stop position.
1685         Fix compilation on gcc4.1
1686
1687 2006-03-29  Wim Taymans  <wim@fluendo.com>
1688
1689         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1690
1691         * plugins/elements/gstqueue.c: (gst_queue_init),
1692         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1693         (gst_queue_set_property):
1694         * plugins/elements/gstqueue.h:
1695         In queue, when EOS is received, if minimum threshold > max_size -
1696         current_level, there is chance that queue blocks forever in conditional
1697         item del wait. This is because the queue is not emptied completely due
1698         to minimum threshold.  Here is another approach. Instead of setting
1699         cur_levels to max in EOS, just zero all minimum threshold levels. This
1700         should make sure that queue gives out all data. When going to READY
1701         (stop) state, just reset the original minimum threshold levels.
1702         Fixes #336336.
1703
1704 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
1705
1706         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1707         (gst_type_find_element_handle_event),
1708         (gst_type_find_element_send_cached_events),
1709         (gst_type_find_element_change_state):
1710         * plugins/elements/gsttypefindelement.h:
1711           When typefinding is done in push mode, we should cache
1712           events we receive during typefinding instead of just
1713           dropping them (e.g. newsegment, custom events from
1714           dvdreadsrc etc.) and then send them out once we've
1715           determined the type of the stream (and decodebin
1716           has had a chance to plug in a decoder/demuxer).
1717           
1718 2006-03-27  Wim Taymans  <wim@fluendo.com>
1719
1720         * docs/design/part-qos.txt:
1721         First QoS ideas.
1722
1723 2006-03-27  Wim Taymans  <wim@fluendo.com>
1724
1725         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1726
1727         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1728         (gst_base_src_send_event), (gst_base_src_change_state):
1729         Handle element seek correctly when we are streaming.
1730         Fixes #326998.
1731
1732 2006-03-24  Michael Smith  <msmith@fluendo.com>
1733
1734         * docs/faq/gst-uninstalled:
1735           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1736           allow you to correctly run intalled applications built against old 
1737           core, using plugins that require updated core (e.g. running
1738           installed totem against a full uninstalled gstreamer stack)
1739
1740 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1741
1742         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1743         more debug details
1744
1745 2006-03-24  Wim Taymans  <wim@fluendo.com>
1746
1747         * docs/gst/gstreamer-sections.txt:
1748         Rearrange the order of the methods so that related methods
1749         are grouped together in sections.
1750
1751 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1752
1753         * gst/gstelement.c:
1754           Little clarification in the docs
1755
1756 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1757
1758         * docs/README:
1759         formatting fix
1760         * plugins/elements/gstidentity.c:
1761         * plugins/elements/gstqueue.c:
1762         * plugins/elements/gsttee.c:
1763         * plugins/elements/gsttypefindelement.c:
1764         GST_ELEMENT_DETAILS formatting
1765
1766 2006-03-24  Wim Taymans  <wim@fluendo.com>
1767
1768         * libs/gst/base/gstbasesink.h:
1769         Only add fields, not insert or we break ABI.
1770
1771 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1772
1773         * win32/common/libgstbase.def:
1774         * win32/common/libgstreamer.def:
1775           Update, add recently added functions.
1776
1777 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1778
1779         * docs/gst/gstreamer-sections.txt:
1780         * gst/gstutils.c: (gst_pad_query_peer_position),
1781         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
1782         * gst/gstutils.h:
1783           API: add some new utility functions:
1784            - gst_pad_query_peer_position()
1785            - gst_pad_query_peer_duration()
1786            - gst_pad_query_peer_convert()
1787           
1788 2006-03-23  Wim Taymans  <wim@fluendo.com>
1789
1790         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1791         (gst_base_sink_init), (gst_base_sink_finalize),
1792         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
1793         (gst_base_sink_set_property), (gst_base_sink_get_property),
1794         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
1795         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1796         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
1797         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1798         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1799         (gst_base_sink_preroll_object), (gst_base_sink_event),
1800         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
1801         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1802         (gst_base_sink_query), (gst_base_sink_change_state):
1803         Decouple max-lateness and the fact that QoS messages are generated
1804         with a new property (qos).
1805         added API: GstBaseSink::async_play()
1806         Add vmethod so subclasses can be notified of ASYNC playing
1807         state changes.
1808         Collect timestamp start and stop to report better current
1809         position in EOS/PLAYING/PAUSED/READY/NULL.
1810         Refactor QoS/frame dropping and other measurements.
1811         API: GstBaseSrc::qos
1812         Fixes #326311
1813
1814         * libs/gst/base/gstbasesink.h:
1815         Added Private struct.
1816         API: gst_base_sink_set_qos_enabled()
1817         API: gst_base_sink_is_qos_enabled()
1818
1819 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1820
1821         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1822           If compiling against GLib-2.8 or newer, try to read the
1823           registry file using GMappedFile first before falling back
1824           to fopen() + fread() (#332151).
1825
1826 2006-03-22  Wim Taymans  <wim@fluendo.com>
1827
1828         * gst/gstinfo.c: (gst_debug_set_active),
1829         (gst_debug_category_set_threshold):
1830         Disable debugging unless explicitly activated.
1831         Fixes #335480.
1832
1833 2006-03-22  Wim Taymans  <wim@fluendo.com>
1834
1835         * gst/gstelement.c: (gst_element_set_locked_state),
1836         (gst_element_dispose):
1837         Cleanup the error case.
1838
1839         * gst/gstobject.c: (gst_object_dispose):
1840         print a critical when some object was disposed with
1841         a parent, also revive the object since it might
1842         crash the parent.
1843
1844 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
1845
1846         * tools/gst-launch.1.in:
1847           Fix another typo.
1848
1849 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1850
1851         * configure.ac:
1852         * tests/check/Makefile.am:
1853           disable some tests when we don't have a registry
1854         * tests/check/gst/gstutils.c: (gst_utils_suite):
1855           don't build the part that needs parsing
1856
1857 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1858
1859         * gst/Makefile.am
1860         * tests/examples/Makefile.am:
1861           fix --disable-parse build
1862
1863 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1864
1865         * tools/gst-feedback.1.in:
1866           Fix typo: s/feeback/feedback/ (#133494).
1867
1868 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1869
1870         * tools/Makefile.am:
1871         * tools/gst-launch.1.in:
1872           Add FILES section and correct entry about GST_REGISTRY_PATH
1873           environment variable (#133495; #133494).
1874
1875 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1876
1877         * tools/Makefile.am:
1878         * tools/gst-md5sum.1.in:
1879         * tools/gst-md5sum.c:
1880           Remove gst-md5sum and man page (the md5sink element
1881           required was removed ages ago)
1882
1883 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1884
1885         * gst/gststructure.c: (gst_structure_id_set_value):
1886           Make sure that string fields in structures/taglists
1887           contain valid UTF-8 - we don't want to pass rubbish to
1888           applications because of a buggy plugin (cp. #334167).
1889
1890 2006-03-21  Edward Hervey  <edward@fluendo.com>
1891
1892         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1893         (gst_bin_handle_message_func):
1894         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
1895         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
1896         (gst_element_set_bus_func):
1897         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
1898         * gst/gstminiobject.c: (gst_value_set_mini_object),
1899         (gst_value_take_mini_object):
1900         * gst/gstpad.c: (gst_pad_set_pad_template):
1901         * gst/gstpipeline.c: (gst_pipeline_dispose),
1902         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
1903         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
1904         (gst_collect_pads_chain):
1905         * libs/gst/net/gstnettimeprovider.c:
1906         (gst_net_time_provider_set_property):
1907         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
1908         It's in fact all issues with gst_*object_replace().
1909
1910 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1911
1912         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
1913         
1914         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1915         * pkgconfig/gstreamer-check.pc.in:
1916           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
1917
1918 2006-03-21  Edward Hervey  <edward@fluendo.com>
1919
1920         * gst/gstbuffer.h:
1921         * gst/gstevent.h:
1922         * gst/gstmessage.h:
1923         gst_[buffer|event|message]_ref() macros are replaced by a static
1924         inline functions because gcc-4.1 will about if the return value
1925         isn't used.
1926         * tests/check/gst/gstevent.c: (event_probe):
1927         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
1928
1929 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
1930
1931         * gst/gstutils.h:
1932         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
1933         the type' case. (Closes: #335195 for now). In the future, when we
1934         depend on GLib 2.10, we could also intern the type name using
1935         g_intern_static_string()
1936
1937 2006-03-20  Wim Taymans  <wim@fluendo.com>
1938
1939         * gst/gstbin.c: (gst_bin_handle_message_func),
1940         (bin_query_max_init), (bin_query_position_fold),
1941         (bin_query_position_done), (gst_bin_query):
1942         Position query should also take max of all streams.
1943
1944 2006-03-20  Wim Taymans  <wim@fluendo.com>
1945
1946         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
1947         (gst_fake_src_finalize):
1948         Fix leaks in fakesrc.
1949
1950         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1951         Fix leaks in the testcase.
1952
1953 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
1954
1955         * gst/gst_private.h:
1956           add win32 specific import decoration(__declspec(dllimport)) 
1957           for all extern GstDebugCategory * variables
1958         * win32/common/libgstbase.def:
1959         * win32/common/libgstcontroller.def:
1960         * win32/common/libgstreamer.def:
1961           Add some exports, remove empty lines
1962         * win32/common/libgstdataprotocol.def:
1963         * win32/common/libgstdataprotocol.dsp:
1964         * win32/common/libgstnet.def:
1965         * win32/common/libgstnet.dsp:
1966           new project files and exportation files added
1967         
1968 2006-03-19  Wim Taymans  <wim@fluendo.com>
1969
1970         * tests/check/libs/basesrc.c: (eos_event_counter):
1971         Use proper return value for probe.
1972
1973 2006-03-17  Wim Taymans  <wim@fluendo.com>
1974
1975         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1976         (gst_pad_push):
1977         Don't leak buffers, caps and pads on negotiation errors.
1978
1979 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
1980
1981         * docs/faq/cvs.xml:
1982         * docs/faq/dependencies.xml:
1983         * docs/faq/developing.xml:
1984         * docs/faq/faq.xml:
1985         * docs/faq/general.xml:
1986         * docs/faq/getting.xml:
1987         * docs/faq/legal.xml:
1988         * docs/faq/troubleshooting.xml:
1989         * docs/faq/using.xml:
1990         Faq review and update.
1991
1992 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
1993
1994         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
1995         (gst_pad_push):
1996         Don't pound the cpu to pieces by checking get_caps when accept_caps
1997         is called with the same caps as the pad already has.
1998         Use GST_DEBUG_OBJECT when outputting caps change information.
1999
2000 2006-03-15  Wim Taymans  <wim@fluendo.com>
2001
2002         * gst/gstclock.c: (gst_clock_class_init):
2003         Fix docs.
2004
2005 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2006
2007         * gst/gstbuffer.h:
2008         Documentation fix.
2009
2010         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2011         (gst_pad_accept_caps), (gst_pad_configure_sink),
2012         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2013         Make the default acceptcaps behaviour be to check the requested 
2014         caps against the gst_pad_get_caps output. 
2015
2016         Ensure that gst_pad_accept_caps is used to check caps when a pad
2017         doesn't have a setcaps function, so that pads automatically refuse 
2018         caps that they don't allow in their pad template. (Fixes #332986)
2019
2020         When a buffer with attached caps is pushed, ensure that the source 
2021         pad receives those caps even if the element didn't call
2022         gst_pad_set_caps first.
2023
2024 2006-03-15  Wim Taymans  <wim@fluendo.com>
2025
2026         * libs/gst/base/gstadapter.c:
2027         Add some docs.
2028
2029 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2030
2031         * win32/common/libgstbase.def:
2032         * win32/common/libgstcontroller.def:
2033         * win32/common/libgstreamer.def:
2034           Add a whole bunch of missing functions (#334434).
2035
2036 2006-03-14  Wim Taymans  <wim@fluendo.com>
2037
2038         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2039         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2040         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2041         Better debug info when we receive a segment event.
2042         Reorganize a bit so we can pass the get_times() results around.
2043         Use the segment format when calculating the running time.
2044         Don't do QoS is sync is disabled or we have no clock or the
2045         element does not want us to sync to the clock.
2046         Don't drop buffers if QoS is disabled for now.
2047
2048 2006-03-14  Wim Taymans  <wim@fluendo.com>
2049
2050         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2051         Marked the stats property as unimplemented so people don't get
2052         wild ideas.
2053         Add debug message when regression goes wrong.
2054         Added some more docs.
2055
2056 2006-03-14  Wim Taymans  <wim@fluendo.com>
2057
2058         * gst/gstsegment.c: (gst_segment_to_stream_time):
2059         Return correct return type in case of errors.
2060
2061 2006-03-14  Wim Taymans  <wim@fluendo.com>
2062
2063         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2064           Don't segfault on invalid formats.
2065
2066 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2067
2068         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2069           Can't use gst_segment_to_running_time() when the segment
2070           is not in GST_TIME_FORMAT (like with filesink, for example).
2071           Stops flac encoding pipelines from spewing critical warnings
2072           at EOS (#331248).
2073           
2074 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2075
2076         * gst/gstpipeline.c: (gst_pipeline_class_init):
2077           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2078
2079         * plugins/elements/gsttypefindelement.c:
2080         (gst_type_find_element_handle_event):
2081           Don't try to typefind empty streams.
2082
2083 2006-03-14  Wim Taymans  <wim@fluendo.com>
2084
2085         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2086         (gst_base_sink_do_qos):
2087         Separate QoS calculation.
2088         Only drop buffers when lateness is bigger than the 
2089         duration of the buffer.
2090
2091 2006-03-13  Wim Taymans  <wim@fluendo.com>
2092
2093         * gst/gstpipeline.c: (gst_pipeline_set_property),
2094         (gst_pipeline_get_property), (do_pipeline_seek),
2095         (gst_pipeline_change_state), (gst_pipeline_set_delay),
2096         (gst_pipeline_get_delay):
2097         Don't deadlock when reading properties.
2098
2099 2006-03-13  Wim Taymans  <wim@fluendo.com>
2100
2101         * libs/gst/base/gstbasetransform.c:
2102         (gst_base_transform_class_init), (gst_base_transform_init),
2103         (gst_base_transform_sink_event),
2104         (gst_base_transform_sink_eventfunc),
2105         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2106         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2107         (gst_base_transform_set_property),
2108         (gst_base_transform_get_property),
2109         (gst_base_transform_change_state), (gst_base_transform_update_qos),
2110         (gst_base_transform_set_qos_enabled),
2111         (gst_base_transform_is_qos_enabled):
2112         * libs/gst/base/gstbasetransform.h:
2113         Make basetransform virtual method for src events too.
2114         Handle QOS in basetransform.
2115         API: gst_base_transform_update_qos()
2116         API: gst_base_transform_set_qos_enabled()
2117         API: gst_base_transform_is_qos_enabled()
2118
2119 2006-03-13  Wim Taymans  <wim@fluendo.com>
2120
2121         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2122         (gst_base_sink_do_sync):
2123         Small cleanups.
2124         Use QOS debug category.
2125
2126 2006-03-13  Wim Taymans  <wim@fluendo.com>
2127
2128         * plugins/elements/gstqueue.c:
2129         Very small doc update.
2130
2131 2006-03-13  Wim Taymans  <wim@fluendo.com>
2132
2133         * gst/gst_private.h:
2134         * gst/gstinfo.c: (_gst_debug_init):
2135         Added QOS debug category
2136
2137 2006-03-13  Wim Taymans  <wim@fluendo.com>
2138
2139         * docs/gst/gstreamer-sections.txt:
2140         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2141         * gst/gstbin.h:
2142         * gst/gstbus.c: (gst_bus_class_init):
2143         * gst/gstbus.h:
2144         * gst/gstclock.c:
2145         * gst/gstelement.c: (gst_element_set_locked_state):
2146         * gst/gstsegment.c:
2147         Documentation updates.
2148
2149         * gst/gstpipeline.c: (gst_pipeline_get_type),
2150         (gst_pipeline_class_init), (gst_pipeline_init),
2151         (gst_pipeline_dispose), (gst_pipeline_set_property),
2152         (gst_pipeline_get_property), (do_pipeline_seek),
2153         (gst_pipeline_send_event), (gst_pipeline_change_state),
2154         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2155         (gst_pipeline_get_delay):
2156         * gst/gstpipeline.h:
2157         Added methods for setting the delay.
2158         API: gst_pipeline_set_delay()
2159         API: gst_pipeline_get_delay()
2160         Add pipeline debug category
2161         Various cleanups.
2162         Updated docs.
2163         Don't reset stream time when seek failed.
2164
2165 2006-03-13  Wim Taymans  <wim@fluendo.com>
2166
2167         * docs/design/draft-klass.txt:
2168         * docs/design/part-clocks.txt:
2169         * docs/design/part-events.txt:
2170         * docs/design/part-gstbin.txt:
2171         * docs/design/part-gstpipeline.txt:
2172         * docs/design/part-messages.txt:
2173         * docs/design/part-negotiation.txt:
2174         * docs/design/part-overview.txt:
2175         * docs/design/part-preroll.txt:
2176         * docs/design/part-seeking.txt:
2177         * docs/design/part-states.txt:
2178         * docs/design/part-streams.txt:
2179         Documentation updates.
2180
2181 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2182
2183         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2184         us to leak strings...
2185
2186 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2187
2188         * libs/gst/net/gstnettimeprovider.c:
2189           fix docs
2190         * win32/common/config.h:
2191           update
2192
2193 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2194
2195         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2196
2197         * configure.ac:
2198           Don't check for libgnomeui (leftover from old examples
2199           that aren't built or disted any longer) (#334303).
2200           
2201 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2202
2203         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2204         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2205           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2206           there's no space left on the device.
2207
2208 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2209
2210         * gst/gstclock.h:
2211           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2212           to cast the input to GstClockTime before comparing with
2213           another GstClockTime value.
2214
2215 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2216
2217         * configure.ac:
2218           back to trunk
2219
2220 === release 0.10.4 ===
2221
2222 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2223
2224         * configure.ac:
2225           releasing 0.10.4, "Light"
2226
2227 2006-03-10  Michael Smith  <msmith@fluendo.com>
2228
2229         * libs/gst/dataprotocol/dataprotocol.c:
2230           Fix docs for dataprocotol to not get the return types completely
2231           wrong for a few functions.
2232
2233 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2234
2235         * docs/gst/gstreamer-sections.txt:
2236         * gst/gstpipeline.c: (gst_pipeline_class_init),
2237         (gst_pipeline_init), (gst_pipeline_set_property),
2238         (gst_pipeline_get_property), (gst_pipeline_change_state),
2239         (gst_pipeline_set_auto_flush_bus),
2240         (gst_pipeline_get_auto_flush_bus):
2241         * gst/gstpipeline.h:
2242           Add new API: gst_pipeline_set_auto_flush_bus() and
2243           gst_pipeline_get_auto_flush_bus() to disable automatic
2244           flushing of the pipeline's GstBus when going from READY
2245           to NULL state (#332045).
2246
2247 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2248
2249         * docs/gst/gstreamer-sections.txt:
2250         * gst/gsturi.c: (gst_uri_has_protocol):
2251         * gst/gsturi.h:
2252            Add new API: gst_uri_has_protocol() (#333779).
2253
2254 2006-03-09  Wim Taymans  <wim@fluendo.com>
2255
2256         * gst/gstclock.c: (gst_clock_entry_new),
2257         (gst_clock_id_compare_func), (gst_clock_id_wait),
2258         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2259         (gst_clock_init), (gst_clock_get_internal_time),
2260         (gst_clock_set_master), (do_linear_regression),
2261         (gst_clock_add_observation), (gst_clock_set_property):
2262         * gst/gstclock.h:
2263         Review docs.
2264         Small cleanups.
2265         Fix a possible segfault when the window-size is made smaller.
2266         Calculate jitter before performing the clock wait. Ideally
2267         the clock implementation should calculate jitter but we need
2268         API breakage for that.
2269
2270         * gst/gstsystemclock.c: (gst_system_clock_init):
2271         Docs review.
2272         
2273         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2274         Remove leftover else
2275
2276         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2277         (gst_systemclock_suite):
2278         Added check to test GST_CLOCK_DIFF.
2279
2280 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2281
2282         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2283         (gst_type_find_helper_get_range):
2284           If we are provided with the size, we should implement
2285           GstTypeFind::get_length, so that typefind functions who
2286           want to can actually peek at the middle of a file.
2287
2288 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2289
2290         * docs/manual/advanced-dataaccess.xml:
2291           Add some very very basic error checking.
2292
2293         * docs/pwg/appendix-checklist.xml:
2294           Some updates to the list of things to check when writing an element.
2295
2296 2006-03-08  Wim Taymans  <wim@fluendo.com>
2297
2298         * docs/design/part-element-transform.txt:
2299         Added some docs about the design of tranform elements.
2300
2301         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2302         (gst_base_src_loop), (gst_base_src_change_state):
2303         Mark buffers with the DISCONT flag.
2304
2305 2006-03-08  Michael Smith  <msmith@fluendo.com>
2306
2307         * gst/gstregistry.h:
2308         * gst/gstregistryxml.c: (gst_registry_save),
2309         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2310         (gst_registry_xml_save_pad_template),
2311         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2312         (gst_registry_xml_write_cache):
2313           Rewrite registry-saving to avoid race conditions and check for
2314           failed writes.
2315
2316 2006-03-08  Wim Taymans  <wim@fluendo.com>
2317
2318         * libs/gst/base/gstbasetransform.c:
2319         (gst_base_transform_transform_caps),
2320         (gst_base_transform_transform_size),
2321         (gst_base_transform_prepare_output_buffer),
2322         (gst_base_transform_get_unit_size),
2323         (gst_base_transform_buffer_alloc),
2324         (gst_base_transform_handle_buffer),
2325         (gst_base_transform_change_state):
2326         Cleanups, separate normal flow from errors, add sensible
2327         DEBUG lines.
2328         Don't try to renegotiate when allocating an output buffer.
2329         Also copy DISCONT buffer flag when copying a buffer.
2330         Reset the transform after we finish streaming, not during.
2331
2332 2006-03-08  Wim Taymans  <wim@fluendo.com>
2333
2334         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2335         Use last buffer timestamp in qos message.
2336
2337 2006-03-07  Wim Taymans  <wim@fluendo.com>
2338
2339         Patch by: Christophe Fergeau
2340
2341         * docs/pwg/advanced-tagging.xml:
2342         * docs/pwg/building-pads.xml:
2343           fixes #333416
2344
2345 2006-03-07  Wim Taymans  <wim@fluendo.com>
2346
2347         * docs/libs/gstreamer-libs-sections.txt:
2348         Added basesink new methods.
2349
2350         * gst/gstevent.c:
2351         * gst/gstevent.h:
2352         Docs updates. Flesh out the QoS docs.
2353
2354         * libs/gst/base/gstadapter.c:
2355         Small doc clarification about ownership and flushing.
2356
2357         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2358         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2359         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2360         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2361         * libs/gst/base/gstbasesink.h:
2362         API additions: 
2363         Added new methods to allow subclass to control max-lateness 
2364         and sync.
2365         Generate very basic QoS events based on last sync observation.
2366         Updated docs, fix typo, added some QoS blurb.
2367
2368         * libs/gst/base/gstbasesrc.c:
2369         Remove obsolete _get_state() calls from docs.
2370
2371 2006-03-07  Wim Taymans  <wim@fluendo.com>
2372
2373         * docs/libs/gstreamer-libs-sections.txt:
2374         * libs/gst/base/gstbasetransform.h:
2375         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2376         Fix docs for GstBaseSrc.
2377
2378 2006-03-07  Wim Taymans  <wim@fluendo.com>
2379
2380         * docs/gst/gstreamer-sections.txt:
2381         * gst/gstbuffer.h:
2382         * gst/gstvalue.c:
2383         * libs/gst/base/gstbasetransform.h:
2384         Small documentation fixes.
2385
2386 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2387
2388         * gst/gstvalue.c:
2389           Document thread-unsafety of gst_value_register_foo_func()
2390           when used at the same time as gst_value_foo() (#322628).
2391
2392 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2393
2394         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2395         (gst_push_src_check_get_range):
2396           Push sources don't support pull mode by default.
2397
2398 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2399
2400         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2401         (gst_base_src_init), (gst_base_src_pad_check_get_range),
2402         (gst_base_src_default_check_get_range):
2403         * libs/gst/base/gstbasesrc.h:
2404           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2405           provide default implementation, and rename
2406           gst_base_src_check_get_range() to
2407           gst_base_src_pad_check_get_range() for clarity.
2408
2409 2006-03-06  Wim Taymans  <wim@fluendo.com>
2410
2411         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2412         Make property overridable.
2413
2414 2006-03-06  Wim Taymans  <wim@fluendo.com>
2415
2416         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2417         (gst_base_sink_init), (gst_base_sink_set_property),
2418         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2419         * libs/gst/base/gstbasesink.h:
2420         API addition: Make max-lateness a property.
2421
2422 2006-03-06  Wim Taymans  <wim@fluendo.com>
2423
2424         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2425         (gst_base_sink_do_sync), (gst_base_sink_render_object):
2426         Don't ever draw a frame that is >10ms late.
2427
2428 2006-03-06  Michael Smith  <msmith@fluendo.com>
2429
2430         * gst/gstmessage.c: (_gst_message_copy):
2431           When copying a message, set the parent_refcount of the enclosed
2432           structure to point at the copy, not the original message.
2433
2434 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2435
2436         Patch by: Christophe Fergeau
2437
2438         * gst/gstutils.h:
2439           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2440           usable in c++ code (#333417)
2441
2442 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2443
2444         * gst/gstclock.h:
2445           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2446
2447 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
2448
2449         * libs/gst/base/gstbasetransform.c:
2450         (gst_base_transform_transform_caps):
2451           Make sure caps are writable before passing them to
2452           gst_caps_append().
2453
2454 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2455
2456         * gst/gsterror.h:
2457           Fix some minor docs errors.
2458
2459 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2460
2461           Patch by: Ross Burton <ross at burtonini dot com>
2462
2463         * gst/gsterror.c: (_gst_resource_errors_init):
2464         * gst/gsterror.h:
2465           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2466
2467 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2468
2469         * gst/gst.c:
2470         Add a check and output a g_warning when GStreamer is built
2471         against GLib 2.6 but running against 2.8 or higher, and vice 
2472         versa. (Closes: #323542)
2473
2474 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2475
2476         * gst/parse/parse.l:
2477           Commit patch for parse_launch syntax from #331255. Removes 
2478           support for quoted strings and mimetypes when writing filtered 
2479           caps. See the bug report for more details - I'm pretty sure this
2480           obscure feature is not in use by _anyone_ anywhere.
2481
2482           With this simple change, the size of the gstreamer.so here 
2483           drops from 2193KB to 1565KB.
2484
2485 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2486
2487         * plugins/elements/gsttypefindelement.h:
2488         * plugins/elements/gsttypefindelement.c:
2489         (gst_type_find_element_src_event), (start_typefinding),
2490         (stop_typefinding), (gst_type_find_element_handle_event),
2491         (gst_type_find_element_chain),
2492         (gst_type_find_element_chain_do_typefinding):
2493           Use gst_type_find_helper_for_buffer() for chain-based
2494           typefinding.
2495
2496 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2497
2498         * plugins/elements/gsttypefindelement.c:
2499         (gst_type_find_element_class_init),
2500         (gst_type_find_element_set_property),
2501         (gst_type_find_element_get_property):
2502           Deprecate "maximum" property (not only was it only taken into
2503           account for typefinding in push-mode anyway, it also was never
2504           actually possible to set it in the first place because the
2505           property was registered with the numeric property ID for the
2506           "minimum" property). Register "maximum" property correctly,
2507           for the sake of future copy'n'pasters. Remove some cruft
2508           from property get/set functions.
2509
2510 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2511
2512         * plugins/elements/gsttypefindelement.c:
2513         (gst_type_find_element_activate):
2514           Use gst_type_find_helper_get_range() here, so we
2515           can honour the "minimum" property and also emit
2516           the signal with the correct probability of the found caps.
2517
2518 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
2519
2520         * docs/libs/gstreamer-libs-sections.txt:
2521         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2522         (helper_find_suggest), (gst_type_find_helper_get_range),
2523         (gst_type_find_helper):
2524         * libs/gst/base/gsttypefindhelper.h:
2525           New API: gst_type_find_helper_get_range() (#333042).
2526
2527 2006-03-02  Michael Smith  <msmith@fluendo.com>
2528
2529         * gst/gstregistryxml.c: (load_feature):
2530           Asserting on a failure to read part of the registry is Not Cool.
2531           Just log a warning and return NULL (which is already handled)
2532
2533 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
2534
2535         * win32/common/libgstbase.def:
2536           added export of gst_type_find_helper_for_buffer
2537         * win32/common/libgstbase.def:
2538           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2539           gst_ghost_pad_get_target
2540
2541 2006-02-28  Wim Taymans  <wim@fluendo.com>
2542
2543         * docs/design/draft-klass.txt:
2544         We use Filter now.
2545         Added Connector to mark elements that are only used to
2546         allow pipeline connections.
2547         Moved Debug to extra feature since most of them are 
2548         functionally something else.
2549
2550 2006-02-28  Wim Taymans  <wim@fluendo.com>
2551
2552         * docs/design/draft-klass.txt:
2553         Some updates and clarifications.
2554
2555 2006-02-28  Wim Taymans  <wim@fluendo.com>
2556
2557         * docs/design/draft-klass.txt:
2558         Proposal for klass field values.
2559
2560         * docs/design/part-streams.txt:
2561         Start of a doc describing stream anatomy.
2562
2563 2006-02-28  Wim Taymans  <wim@fluendo.com>
2564
2565         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2566         Help the compiler a bit with type registration.
2567         Use existing forward cod path instead of duplicating it when 
2568         handling a message.
2569         
2570         * gst/gstbus.c: (gst_bus_get_type):
2571         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2572         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2573         * gst/gstclock.c: (gst_clock_get_type):
2574         * gst/gstelement.c: (gst_element_get_type),
2575         * gst/gstelementfactory.c: (gst_element_factory_get_type):
2576         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2577         * gst/gstminiobject.c: (gst_mini_object_get_type):
2578         * gst/gstpad.c: (gst_pad_get_type):
2579         * gst/gstsegment.c: (gst_segment_get_type):
2580         * gst/gststructure.c: (gst_structure_get_type):
2581         * gst/gstsystemclock.c: (gst_system_clock_get_type):
2582         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2583         * gst/gstvalue.c:
2584         Help compiler with type registration.
2585
2586         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2587         Small doc update.
2588
2589 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2590
2591         * plugins/elements/gsttypefindelement.c:
2592         (gst_type_find_element_handle_event):
2593           When we get an EOS event and have not found a type yet
2594           (most likely because we had not yet accumulated
2595           TYPE_FIND_MIN_SIZE of data yet), try to determine the
2596           type given the data we have so far. Fixes typefinding
2597           for very short streams again, most notably quicktime
2598           redirections as used on Apple's trailer site (#331701).
2599
2600 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2601
2602         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2603         (gst_type_find_helper):
2604           Try typefinding factories with the highest rank first.
2605
2606 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2607
2608         * docs/libs/gstreamer-libs-docs.sgml:
2609         * docs/libs/gstreamer-libs-sections.txt:
2610         * libs/gst/base/gsttypefindhelper.c:
2611           Add section for typefind helper and add documentation
2612           for the old and the new function.
2613
2614 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2615
2616         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
2617         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
2618         (gst_type_find_helper_for_buffer):
2619         * libs/gst/base/gsttypefindhelper.h:
2620           New API: gst_type_find_helper_for_buffer() (#332723).
2621           
2622 2006-02-27  Michael Smith  <msmith@fluendo.com>
2623
2624         Patch by: Loïc Minier
2625
2626         * configure.ac:
2627         * docs/Makefile.am:
2628         * docs/slides/Makefile.am:
2629           prevent CVS directories getting disted.
2630
2631 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2632
2633         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
2634           Use the REFCOUNTING category for caps refcounting.
2635           
2636 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2637
2638         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2639           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2640
2641 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2642
2643         * plugins/elements/gsttypefindelement.c:
2644         (gst_type_find_element_activate):
2645           Use gst_pad_check_pull_range() before _activate_pull()
2646           to avoid unnecessary open/close (see #331690).
2647
2648 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2649
2650         * gst/gstutils.c:
2651           Docs enhancement: make it crystal clear what the
2652           gst_pad_add_*_probe() callbacks should look like.
2653
2654 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2655
2656         * libs/gst/base/gstbasesrc.c:
2657           Document how applications can stop recording from
2658           live sources (see #330996).
2659
2660 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2661
2662         * tests/check/Makefile.am:
2663         * tests/check/libs/basesrc.c: (eos_event_counter),
2664         (basesrc_eos_events_pull), (basesrc_eos_events_push),
2665         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2666         (gst_basesrc_suite), (main):
2667           ... and add some tests for the base source EOS stuff.
2668
2669 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2670
2671         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2672           Test case originally showed the problem fixed below,
2673           but was then amended. Add checks back at the place
2674           where they used to be.
2675
2676 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2677
2678         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2679         (gst_base_src_init), (gst_base_src_loop),
2680         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2681         (gst_base_src_change_state):
2682         * libs/gst/base/gstbasesrc.h:
2683           Don't unconditionally send EOS when going from PAUSED to
2684           READY state, esp. make sure we don't send two EOS events
2685           in some cases (e.g. one when reaching EOS and one when
2686           going from PAUSED to READY). Also, we don't want to send
2687           EOS events when operating in pull mode. However, we do
2688           want to send an EOS event when shutting down a live
2689           source explicitly, for example (fixes #330996).
2690           
2691 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2692
2693         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2694           Update src->read_position after a seek when not using mmap.
2695           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2696
2697 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
2698
2699         * gst/Makefile.am:
2700         * gst/gstparse.h:
2701         * gst/gstutils.c:
2702         * gst/gstutils.h:
2703         Make things work with --disable-parse as they do with 
2704         --disable-load-save - the symbols involved disappear, but the
2705         header is still installed and GST_DISABLE_PARSE is included via
2706         gstconfig.h
2707
2708 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2709
2710         * libs/gst/base/gstbasetransform.c:
2711         (gst_base_transform_change_state): Fix a stupid bug. I was 
2712         sure I compiled that.
2713
2714 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2715
2716         * gst/gstpad.c: (gst_pad_set_blocked_async):
2717         * gst/gstutils.c: (gst_pad_add_data_probe),
2718         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2719         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2720         (gst_pad_remove_buffer_probe): Make those function act on the
2721         ghostpad target when it's a ghostpad. (Closes #331727)
2722
2723 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2724
2725         * libs/gst/base/gstbasetransform.c:
2726         (gst_base_transform_change_state): Make basetransform reusable.
2727         (Closes #331898)
2728
2729 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
2730
2731         * docs/random/release:
2732         Move the current documentation of how to do a release to the top
2733         of the file.
2734
2735         * gst/gstbin.c: (gst_bin_class_init),
2736         (gst_bin_handle_message_func):
2737         Allow multiple state-recalculation threads. (Closes #328873)
2738
2739 2006-02-19  Julien MOUTTE  <julien@moutte.net>
2740
2741         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2742         * gst/gstpad.c: (gst_pad_set_event_function),
2743         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2744         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2745         2 strings. You can't use the STR_NULL macro on that.
2746
2747 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
2748
2749         * gst/gstpad.c: (gst_pad_set_event_function),
2750         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2751         (gst_pad_set_getcaps_function)
2752         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2753           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2754           So now, we can use --gst-debug-level=5 on Windows
2755         * win32/common/libgstcontroller.def:
2756           Added export of gst_controller_init
2757         * win32/vs6/libgstcontroller.dsp:
2758           Fixed Release post build configuration
2759
2760 2006-02-17  Wim Taymans  <wim@fluendo.com>
2761
2762         * tests/check/gst/gstquery.c: (GST_START_TEST):
2763         Added another check.
2764
2765 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
2766
2767         * plugins/elements/gsttypefindelement.c: (find_peek):
2768           We can do peeks at non-zero offsets, as long as they
2769           fall within the buffer we have.
2770
2771 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
2772
2773         * tests/check/Makefile.am:
2774         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2775         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2776         (parse_suite), (main):
2777           Add testsuite for parse launch syntax
2778
2779 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
2780
2781         * plugins/elements/gsttypefindelement.c:
2782         (gst_type_find_element_chain):
2783           When typefinding is unsuccessful in the chain function, don't
2784           error out immediately. Only error out with NO_CAPS_FOUND if
2785           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
2786           otherwise simply wait for more data so we can try typefinding
2787           again with more data later. Also, don't attempt to typefind
2788           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
2789           this should improve typefinding from network sources where the
2790           size of the first buffer can be somewhat random.
2791
2792 2006-02-14  Wim Taymans  <wim@fluendo.com>
2793
2794         * docs/gst/gstreamer-sections.txt:
2795         * gst/gstpadtemplate.c:
2796         * gst/gstpadtemplate.h:
2797         Fix padtemplate docs, fixes #328805.
2798
2799 2006-02-14  Wim Taymans  <wim@fluendo.com>
2800
2801         * tools/gst-launch.c: (main):
2802         NO_PREROLL is not an ERROR so don't send confusing messages
2803         to the user.
2804
2805 2006-02-14  Wim Taymans  <wim@fluendo.com>
2806
2807         Patch by: Torsten Schoenfeld
2808
2809         * gst/gstregistry.c: (gst_registry_get_default),
2810         (_gst_registry_cleanup):
2811         Protect default registry with lock and ref/sink it.
2812         Fixes #324818
2813
2814 2006-02-14  Wim Taymans  <wim@fluendo.com>
2815
2816         * gst/gstbuffer.c:
2817         * gst/gstquery.c: (gst_query_list_add_format),
2818         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2819         (gst_query_parse_formats_nth):
2820         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2821         Docs fixes.
2822
2823 2006-02-14  Wim Taymans  <wim@fluendo.com>
2824
2825         * docs/gst/gstreamer-sections.txt:
2826         Reworked query docs.
2827
2828         * gst/gstquery.c: (gst_query_new_formats),
2829         (gst_query_list_add_format), (gst_query_set_formats),
2830         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2831         (gst_query_parse_formats_nth):
2832         * gst/gstquery.h:
2833         Flesh out formats query, added some new methods.
2834         Fix part of #324398.
2835
2836         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
2837         Added query creation tests.
2838
2839 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
2840
2841         * gst/gstpad.c: (fixate_value):
2842         Add a default fixation for fraction lists.
2843
2844 2006-02-13  Wim Taymans  <wim@fluendo.com>
2845
2846         * gst/gsttask.c: (gst_task_init), (gst_task_func),
2847         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
2848         (gst_task_join):
2849         * gst/gsttask.h:
2850         Detect and warn for obvious deadlocks. fixes #320340
2851         Fix error case where lock was not released.
2852
2853         * tests/check/Makefile.am:
2854         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
2855         (task_func), (gst_element_suite), (main):
2856         Add task check.
2857
2858 2006-02-13  Wim Taymans  <wim@fluendo.com>
2859
2860         * docs/gst/gstreamer-sections.txt:
2861         * gst/gstbus.c:
2862         Add new functions to docs.
2863
2864 2006-02-13  Wim Taymans  <wim@fluendo.com>
2865
2866         * docs/design/part-TODO.txt:
2867         Updated TODO list, basesrc supports seeking to non-bytes
2868         formats.
2869
2870         * docs/design/part-element-sink.txt:
2871         Update docs.
2872
2873         * gst/gstbin.c: (bin_replace_message),
2874         (gst_bin_handle_message_func):
2875         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
2876         * gst/gstevent.c: (gst_event_finalize):
2877         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2878         (gst_pad_send_event):
2879         Use shiny new _TYPE_NAME macros.
2880
2881         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2882         Move debug statement up.
2883
2884         * gst/gstelement.c: (gst_element_set_locked_state):
2885         Add some debugging.
2886
2887 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
2888
2889         * docs/gst/gstreamer-sections.txt:
2890         * gst/gstmessage.h:
2891         * gst/gstquery.h:
2892           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
2893           macros (#330906). Also, document the already existing
2894           GST_QUERY_TYPE macro.
2895
2896 2006-02-13  Wim Taymans  <wim@fluendo.com>
2897
2898         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
2899         (event_probe), (GST_START_TEST):
2900         Only events up to the pipeline EOS are counted, there are
2901         some more when going to NULL currently which we don't care
2902         about for now.
2903
2904 2006-02-13  Wim Taymans  <wim@fluendo.com>
2905
2906         * gst/gstpad.c: (gst_pad_send_event):
2907         Correctly check flushing and emit probes. fixes #330125
2908
2909 2006-02-10  Andy Wingo  <wingo@pobox.com>
2910
2911         * gst/gstbus.c (gst_bus_class_init): Declare our private data
2912         structure.
2913         (gst_bus_init): Cache the location of the private data in the
2914         instance structure.
2915         (gst_bus_enable_sync_message_emission) 
2916         (gst_bus_disable_sync_message_emission): Implement new public
2917         functions.
2918         (gst_bus_post): Emit the sync-message signal if the user asked for
2919         it. Fixes #330684.
2920
2921         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
2922         location of the bus-private structure.
2923         (gst_bus_enable_sync_message_emission)
2924         (gst_bus_disable_sync_message_emission): API addition
2925
2926 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
2927
2928         Patch by: Vincent Torri
2929
2930         * docs/pwg/building-boiler.xml:
2931         PWG patch from #326800
2932
2933 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
2934
2935         * configure.ac:
2936         * docs/Makefile.am:
2937         * docs/design/Makefile.am:
2938           Dist design docs.
2939
2940 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
2941
2942         * configure.ac:
2943           back to CVS
2944
2945 === release 0.10.3 ===
2946
2947 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
2948
2949         * configure.ac:
2950           releasing 0.10.3, "Like a virgin"
2951
2952 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
2953
2954         * configure.ac:
2955           2nd prerelease of 0.10.3
2956           Bump libtool versioning.
2957
2958 2006-02-07  Andy Wingo  <wingo@pobox.com>
2959
2960         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
2961         update last_stop if we're in TIME format and the timestamp is
2962         valid.
2963
2964         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
2965         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
2966         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
2967         If we get a new newsegment with a different format, adapt
2968         accordingly.
2969
2970         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
2971         of 0. Not a problem, really.
2972
2973         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
2974         warn if sync=true.
2975
2976 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
2977
2978         * configure.ac:
2979           Prelease of 0.10.3
2980
2981 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
2982
2983         * win32/vs7:
2984           project files updated to the default vs7 configuration
2985         * win32/common/libgstbase.def:
2986         * win32/common/libgstreamer.def:
2987           added new symbols,
2988           removed empty lines,
2989           sorted all exported symbols alphabetically
2990         * win32/common/dirent.c:
2991         * win32/common/dirent.h:
2992         * win32/common/gchar.h:
2993           use windows line end.
2994           
2995 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
2996
2997         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2998           Send EOS event when stopping.
2999
3000 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3001
3002         * docs/README:
3003           Tell folks what to do if the plugin-foobar.xml file
3004           hasn't been generated for a newly-added plugin.
3005
3006 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3007
3008         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3009         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3010         (gst_collect_pads_start), (gst_collect_pads_stop),
3011         (gst_collect_pads_event): Collectpads now holds a reference
3012         to the GstPad that was added. Indeed we don't want to look
3013         at pads that might just go away with no warning...
3014
3015 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3016
3017         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3018         (gst_collect_pads_start), (gst_collect_pads_stop),
3019         (gst_collect_pads_event), (gst_collect_pads_chain):
3020         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3021         Mark Nauwelaerts's patch on bug #328491.
3022
3023 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3024
3025         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3026         (gst_utils_suite):
3027           Add some simple tests for gst_parse_bin_from_description() and
3028           gst_bin_find_unconnected_pad() (#329069).
3029
3030 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3031
3032         * tools/gst-launch.c: (event_loop), (main):
3033           Catch errors during preroll (#320084).
3034
3035 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3036
3037         * plugins/elements/gsttypefindelement.c:
3038         (gst_type_find_element_activate):
3039           Post TYPE_NOT_FOUND error message when typefinding
3040           is unsuccessful in the activate function as well.
3041
3042 2006-02-02  Wim Taymans  <wim@fluendo.com>
3043
3044         * docs/design/part-element-sink.txt:
3045         Updated doc.
3046
3047 2006-02-02  Wim Taymans  <wim@fluendo.com>
3048
3049         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3050         (gst_base_sink_render_object),
3051         (gst_base_sink_queue_object_unlocked):
3052         Only keep track of prerollable items when we are 
3053         prerolling.
3054         Before rendering after preroll, always check if we
3055         have queued items.
3056         Added some more debugging.
3057
3058 2006-02-02  Wim Taymans  <wim@fluendo.com>
3059
3060         * gst/gstelement.c: (gst_element_continue_state),
3061         (gst_element_set_state_func), (gst_element_change_state):
3062         Fixed #326576, been running this for quite some time with
3063         no regressions at all.
3064
3065 2006-02-02  Wim Taymans  <wim@fluendo.com>
3066
3067         * common/gst.supp:
3068         Added more suppressions
3069
3070 2006-02-02  Wim Taymans  <wim@fluendo.com>
3071
3072         * docs/design/part-element-sink.txt:
3073         Updated document.
3074
3075         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3076         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3077         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3078         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3079         (gst_base_sink_do_sync), (gst_base_sink_render_object),
3080         (gst_base_sink_preroll_object),
3081         (gst_base_sink_queue_object_unlocked),
3082         (gst_base_sink_queue_object), (gst_base_sink_event),
3083         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3084         (gst_base_sink_loop), (gst_base_sink_activate_pull),
3085         (gst_base_sink_get_position), (gst_base_sink_change_state):
3086         * libs/gst/base/gstbasesink.h:
3087         Totally refactored matching the design doc.
3088         Use two segments, one to clip incomming buffers and another to
3089         perform sync.
3090         Handle queueing correctly, bypass the queue when playing.
3091         Make EOS cancelable.
3092         Handle errors correctly when operating in pull based mode.
3093
3094         * tests/check/elements/fakesink.c: (GST_START_TEST),
3095         (fakesink_suite):
3096         Added new check for sinks.
3097
3098 2006-02-02  Wim Taymans  <wim@fluendo.com>
3099
3100         * gst/gstsegment.c: (gst_segment_clip):
3101         No reason to refuse to clip when start == -1
3102
3103 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
3104
3105         * docs/README:
3106         * docs/manual/intro-basics.xml:
3107         * docs/manual/intro-preface.xml:
3108         * docs/manual/manual.xml:
3109         * docs/pwg/advanced-dparams.xml:
3110         * docs/pwg/intro-basics.xml:
3111         * docs/pwg/intro-preface.xml:
3112         * docs/pwg/pwg.xml:
3113           describe dparams (controller) for plugins
3114           unify docs a little more
3115
3116 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
3117
3118         * docs/gst/gstreamer-sections.txt:
3119         * gst/gstutils.c: (element_find_unconnected_pad),
3120         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3121         * gst/gstutils.h:
3122           Add new API: gst_parse_bin_from_description() and
3123           gst_bin_find_unconnected_pad() (#329069).
3124
3125 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
3126
3127         * docs/manual/README:
3128           uncover a nasty detail of the docs build
3129
3130 2006-01-31  Wim Taymans  <wim@fluendo.com>
3131
3132         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3133         Don't cache duration messages if we're not going to use or
3134         free them.
3135
3136 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
3137
3138         * docs/manual/advanced-dparams.xml:
3139         * docs/pwg/advanced-dparams.xml:
3140           more dparam docs
3141         * gst/gstindex.c:
3142           fix docs
3143         * libs/gst/controller/lib.c: (gst_controller_init):
3144           init just once
3145
3146 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3147
3148         * gst/gstelement.c: (gst_element_message_full):
3149           also show file/line/func if no additional debug was given
3150
3151 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3152         
3153         * win32/vs7/grammar.vcproj:
3154           activate copy of autogenerated files for Release mode
3155
3156 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3157         
3158         * win32/common/libgstreamer.def:
3159           export gst_value_compare
3160
3161 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3162
3163         * plugins/elements/Makefile.am:
3164         * plugins/elements/gstelements.c:
3165         * plugins/elements/gstfdsink.c: (_do_init),
3166         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3167         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3168         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3169         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3170         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3171         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3172         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3173         * plugins/elements/gstfdsink.h:
3174         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3175
3176 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3177
3178         * docs/manual/advanced-dparams.xml:
3179           describe controller
3180         * docs/manual/advanced-position.xml:
3181         * docs/manual/basics-init.xml:
3182         * docs/manual/manual.xml:
3183         * docs/manual/titlepage.xml:
3184         * docs/pwg/pwg.xml:
3185         * docs/pwg/titlepage.xml:
3186           cleanup xml (more to come)
3187         * libs/gst/controller/gstcontroller.c:
3188           fix typo
3189
3190 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3191         
3192         * win32/vs6/grammar.dsp:
3193           add autogen of gstmarshal.c,h for Release mode
3194                 
3195 2006-01-30  Wim Taymans  <wim@fluendo.com>
3196
3197         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3198         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3199         (gst_base_sink_handle_object), (gst_base_sink_event),
3200         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3201         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3202         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3203         (gst_base_sink_deactivate), (gst_base_sink_activate),
3204         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3205         (gst_base_sink_query), (gst_base_sink_change_state):
3206         Basesink cleanups, remove some old code.
3207         Handle the case where a subclass can preroll in the render
3208         method (mostly audiosinks).
3209         Handle more events.
3210         Remove some locks around variables that are now protected
3211         with the PREROLL_LOCK (clock_id, flushing, ..).
3212         Optimize position query some more, do correct locking.
3213         Remove old code to push queue in state change, this is not
3214         needed anymore since preroll blocks on all prerollable items 
3215         now.
3216         Almost implemented as described in design doc.
3217
3218 2006-01-30  Wim Taymans  <wim@fluendo.com>
3219
3220         * tests/check/gst/gstbin.c: (GST_START_TEST):
3221         Wait for refcount to settle down before checking.
3222
3223 2006-01-30  Wim Taymans  <wim@fluendo.com>
3224
3225         * docs/design/part-element-sink.txt:
3226         Pseudo code overview of desired sink behaviour regarding
3227         preroll.
3228
3229 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3230         * win32/vs6/grammar.dsp:
3231           fix some bugs in Release mode for autogenerated files
3232                 
3233 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3234         * win32/common/libgstbase.def:
3235         * win32/common/libgstreamer.def:
3236           export some new symbols: gst_base_src_set_format,
3237           gst_iterator_next, gst_structure_set_valist
3238
3239 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3240
3241         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3242         Set pad functions unconditionally. Fixes #329105.
3243
3244 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3245         * win32/vs8:
3246           add vs8 project files created by Sergey Scobich
3247
3248 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3249
3250         * gst/gstutils.c: (gst_element_unlink_pads):
3251         Don't leak pad references.
3252
3253         * tests/check/elements/fakesink.c: (GST_START_TEST):
3254         * tests/check/generic/sinks.c: (GST_START_TEST):
3255         * tests/check/generic/states.c: (GST_START_TEST):
3256         * tests/check/gst/gstbin.c: (GST_START_TEST):
3257         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3258         * tests/check/gst/gstelement.c: (GST_START_TEST):
3259         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3260         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3261         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3262         Fix a bunch of leaks. Make generic/sinks.c
3263         use a bit less cpu by slowing the buffer rate
3264         between fakesrc and fakesink.
3265         
3266 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3267         * gst/gstcaps.c:
3268         * gst/gstelement.c: (gst_element_send_event):
3269         * gst/gstevent.c:
3270         * gst/gstinfo.c:
3271         * gst/gstiterator.c:
3272         * gst/gstiterator.h:
3273         * gst/gstpad.c: (gst_pad_send_event):
3274         * gst/gststructure.c:
3275         * gst/gsturi.c:
3276         * gst/gstutils.c:
3277         * gst/gstvalue.c:
3278         * libs/gst/base/gstadapter.c:
3279           doc fixes, to link to function, just write gst_cool_function(), don't
3280           prefix with '#'
3281
3282 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3283
3284         * plugins/elements/gsttee.c: (gst_tee_do_push),
3285         (gst_tee_handle_buffer):
3286         Always prefer an actual return value from a src
3287         pad in place of NOT_LINKED. This means we return
3288         WRONG_STATE when all src pads are WRONG_STATE
3289         instead of NOT_LINKED.
3290
3291         Lock when replacing the last message to prevent
3292         racing with the get_property method.
3293
3294         Add debug output
3295
3296 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3297
3298         * tests/check/Makefile.am:
3299         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3300         (main):
3301         Add a very simple check that should have caught the memleak I fixed
3302         last night (if not for the slice allocator hiding it)
3303
3304 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3305
3306         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3307         (gst_bin_remove_func), (gst_bin_handle_message_func),
3308         (bin_query_duration_fold), (bin_query_generic_fold):
3309         Clean up references to the clock provider when disposed or when
3310         handling a clock-lost message from it.
3311
3312         Unref sinks when performing a query via gst_iterator_fold, as the
3313         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3314
3315         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3316         (gst_clock_set_master):
3317         Drop our reference to the master clock, if any, when we are disposed.
3318
3319         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3320         Chain up in dispose. 
3321
3322 2006-01-26  Wim Taymans  <wim@fluendo.com>
3323
3324         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3325         Add some debugging.
3326
3327 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3328
3329         * plugins/elements/gsttee.c: (gst_tee_do_push),
3330         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3331         handles pad being NOT_LINKED or in WRONG_STATE.
3332
3333 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3334
3335         * win32/MANIFEST:
3336           more updating
3337
3338 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3339
3340         * win32/MANIFEST:
3341           remove obsolete entry
3342
3343 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3344
3345         * docs/gst/gstreamer-sections.txt:
3346         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3347         (gst_bin_iterate_sources), (gst_bin_send_event):
3348         * gst/gstbin.h:
3349         * gst/gstelement.c: (gst_element_send_event):
3350         * gst/gstevent.c:
3351         * gst/gstpad.c: (gst_pad_send_event):
3352           added code for downstream events, reviewed docs in gstevent.c
3353
3354 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3355
3356         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3357         We only query position using the clock in the playing state.
3358         Query peer in the other cases.
3359         * win32/common/config.h: Updates.
3360
3361 2006-01-24  Wim Taymans  <wim@fluendo.com>
3362
3363         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3364         A clock entry that is scheduled for the exact time of the
3365         clock is still in time.
3366
3367         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3368         (gst_base_sink_do_sync):
3369         Add some more debug info.
3370
3371 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3372
3373         * win32/vs7:
3374           Add new vs7 project files and solution.
3375
3376 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3377
3378         * win32/vs7:
3379           all files removed as they were out-dated.
3380
3381 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3382
3383         * docs/random/release:
3384           update notes
3385         * gst/gstbin.c: (gst_bin_init):
3386         * gst/gstbus.c: (gst_bus_new):
3387         * gst/gstbus.h:
3388         * gst/gstpipeline.c: (gst_pipeline_init):
3389           use gst_bus_new(), improve logging, fix docs
3390         * win32/common/config.h:
3391           update for cvs build
3392
3393 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3394
3395         * autogen.sh:
3396           up required version of automake to 1.7
3397
3398 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
3399
3400         * win32/common/libgstreamer.def:
3401           export gst_buffer_is_metadata_writable
3402
3403 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3404
3405         * docs/gst/gstreamer-sections.txt:
3406         * gst/gstevent.h:
3407           Add gst_event_replace() (#327001)
3408
3409 2006-01-20  Wim Taymans  <wim@fluendo.com>
3410
3411         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3412         Make it actually compile too..
3413
3414 2006-01-20  Wim Taymans  <wim@fluendo.com>
3415
3416         * gst/gstcaps.c:
3417         Clarify behaviour of _is_equal() when passing NULL parameters.
3418
3419         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3420         (gst_pad_set_caps):
3421         Cleanups. Don't unref NULL caps.
3422         When setting the same caps, protect caps of the pad with
3423         proper lock.
3424         Use full functionality of _is_equal() when comparing caps.
3425
3426 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3427
3428         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3429         Don't loop infinitely if there are no buffers to present. Partially
3430         fixes #327197, but collectpads is just broken for reusing elements
3431         to do multiple encodes atm.
3432
3433 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3434
3435         * tools/gst-inspect.c: (print_element_features):
3436         * tools/gst-xmlinspect.c: (main):
3437         URL_HANDLER is not a plugin feature we can search for in
3438         the registry.
3439
3440 2006-01-19  Edward Hervey  <edward@fluendo.com>
3441
3442         * gst/gstelement.c: (gst_element_pads_activate): 
3443         When activating, do src pads first, then sink pads.
3444         When de-activating, do sink pads first, then src pads.
3445
3446 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3447
3448         * docs/gst/gstreamer-sections.txt:
3449         Add gst_index_add_associationv to the docs
3450
3451 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3452
3453         * gst/gstevent.c:
3454           Fix docs typo
3455
3456         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3457         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3458           Do some refactoring. Doesn't actually change functionality,
3459           but makes landing the DRAIN event easier later.
3460
3461 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
3462
3463         * docs/pwg/advanced-scheduling.xml:
3464           Update from 0.9.x to 0.10 API and make example a bit
3465           clearer.
3466
3467 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3468
3469         * docs/gst/gstreamer-sections.txt:
3470         Add gst_buffer_(is|make)_metadata_writable methods.
3471
3472 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3473
3474         * docs/design/part-sparsestreams.txt:
3475         Update sparse streams doc, hopefully for greater clarity
3476
3477 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
3478
3479         * docs/design/part-events.txt:
3480         Remove mention of FILLER events.
3481         Add DRAIN event.
3482
3483         * docs/design/part-sparsestreams.txt:
3484         Write some things about using NEWSEGMENT to keep sparse streams
3485         flowing.
3486
3487 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3488
3489         * gst/gstbin.c: (gst_bin_dispose):
3490           Guard gst_object_unref call against a NULL object (dispose
3491           can theoretically be called multiple times).
3492           
3493 2006-01-18  Wim Taymans  <wim@fluendo.com>
3494
3495         * gst/gstbin.c: (gst_bin_element_set_state):
3496         * gst/gstclock.c: (gst_clock_id_wait):
3497         Added some more debug info.
3498
3499         * libs/gst/base/gstadapter.c:
3500         Added more docs.
3501
3502         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3503         (gst_base_sink_do_sync), (gst_base_sink_chain):
3504         Added some comments.
3505
3506 2006-01-18  Wim Taymans  <wim@fluendo.com>
3507
3508         * tests/check/Makefile.am:
3509         * tests/check/elements/fakesink.c: (chain_async_buffer),
3510         (chain_async), (chain_async_return), (GST_START_TEST),
3511         (fakesink_suite), (main):
3512         Added fakesink test that checks prerolling and clipping
3513         behaviour.
3514
3515         * tests/check/gst/gstutils.c: (GST_START_TEST):
3516         Make check run faster so that buildbots don't timeout.
3517
3518 2006-01-18  Wim Taymans  <wim@fluendo.com>
3519
3520         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3521         (gst_base_sink_do_sync):
3522         Some cleanups.
3523         When the sink finishes blocking on the preroll buffer, it can
3524         immediatly render it instead of rendering when the next buffer
3525         arrives.
3526
3527 2006-01-18  Wim Taymans  <wim@fluendo.com>
3528
3529         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3530         (gst_base_sink_get_property), (gst_base_sink_do_sync),
3531         (gst_base_sink_chain):
3532         Small cleanups.
3533         GST_ELEMENT_CLOCK and sync are protected with LOCK.
3534         Don't store _last_stop if the buffer is dropped.
3535
3536 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3537
3538         * plugins/elements/gsttypefindelement.c:
3539         (gst_type_find_element_class_init):
3540           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3541           object method handler that sets the caps on the pad and we want
3542           that to happen before we emit the signal (fixes e.g. feeding a
3543           plain text file to decodebin).
3544
3545 2006-01-18  Christian Schaller  <Christian@fluendo.com>
3546
3547         * gst/gstplugin.c: Add MPL and Proprietary as license options
3548
3549 2006-01-18  Andy Wingo  <wingo@pobox.com>
3550
3551         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3552         symbol was exported before, it appears this was just an oversight.
3553         Fixes #168703.
3554         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3555
3556         * gst/gstindex.c (gst_index_add_associationv): Changed int in
3557         prototype to gint. OK since this prototype was not in the header.
3558
3559 2006-01-17  Andy Wingo  <wingo@pobox.com>
3560
3561         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3562         registry while we remove plugins.
3563
3564         * tools/gst-inspect.c (print_element_info): Don't unref the
3565         factory arg, that should be the responsibility of whatever code
3566         received the ref. Fixes a double-free when called from
3567         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3568         (main): Unref the factory if we have one.
3569         (print_element_list): No change -- relies on the
3570         plugin_feature_list_free to free the list of features.
3571
3572 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
3573
3574         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3575         (gst_buffer_make_metadata_writable):
3576         * gst/gstbuffer.h:
3577         * libs/gst/base/gstbasetransform.c:
3578         (gst_base_transform_prepare_output_buf):
3579         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3580         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3581           Replace gst_buffer_(make|is)_metadata_writable patch now
3582           that the release is out.
3583
3584 2006-01-17  Andy Wingo  <wingo@pobox.com>
3585
3586         * gst/gstregistry.c: Reflow design comment. Update so as to speak
3587         in the present tense without reference to versions.
3588
3589         * gst/gstregistry.c (gst_registry_add_plugin)
3590         (gst_registry_remove_plugin, gst_registry_remove_feature)
3591         (gst_registry_find_feature, gst_registry_get_feature_list)
3592         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3593         (gst_registry_lookup, gst_registry_scan_path)
3594         (_gst_registry_remove_cache_plugins)
3595         (gst_registry_get_feature_list_by_plugin): Add argument
3596         validation.
3597
3598 === release 0.10.2 ===
3599
3600 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
3601
3602         * configure.ac:
3603           releasing 0.10.2, "If man is five"
3604
3605 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3606
3607         * gst/gstbuffer.c:
3608         * gst/gstbuffer.h:
3609         * libs/gst/base/gstbasetransform.c:
3610         (gst_base_transform_prepare_output_buf):
3611         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3612         * tests/check/gst/gstbuffer.c: (gst_test_suite):
3613           Back out patch until after the release.
3614
3615 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3616
3617         * gst/gstminiobject.c:
3618           Spelling fix in docs.
3619         * ChangeLog - remove conflict indicator
3620
3621 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3622
3623         Reviewed By: Andy Wingo
3624
3625         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3626         (gst_buffer_make_metadata_writable):
3627         * gst/gstbuffer.h:
3628           Add gst_buffer_(is|make)_metadata_writable as analogues of
3629           gst_buffer_(is|make)_writable.
3630
3631         * libs/gst/base/gstbasetransform.c:
3632         (gst_base_transform_prepare_output_buf):
3633         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3634           Use name gst_buffer_(is|make)_metadata_writable functions.
3635
3636         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3637           Test gst_buffer_(is|make)_metadata_writable
3638         
3639           (Closes: #324162)
3640
3641 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3642
3643         * docs/manual/Makefile.am:
3644           don't do parallel make
3645         * configure.ac:
3646           AC_SUBST HOST_CPU
3647         * win32/common/config.h.in:
3648           add generations for HOST_CPU and GST_MAJORMINOR
3649         * win32/common/config.h:
3650           commit generated result
3651
3652 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
3653
3654         * docs/manual/appendix-integration.xml:
3655           Update GNOME integration section to use gst_init_get_option_group()
3656           instead of the old popt stuff (#322911). Also, GNOME applications
3657           should  now use gconf*sink and gconf*src instead of the old gconf
3658           helper lib we had.
3659
3660 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
3661
3662
3663         * docs/gst/gstreamer-docs.sgml:
3664         * docs/gst/gstreamer-sections.txt:
3665         * docs/libs/gstreamer-libs-sections.txt:
3666           add new API entries to the docs
3667         * libs/gst/controller/Makefile.am:
3668         * libs/gst/controller/gstcontroller.c:
3669         * libs/gst/controller/gstcontroller.h:
3670         * libs/gst/controller/gstcontrollerprivate.h:
3671         * libs/gst/controller/gsthelper.c:
3672         * libs/gst/controller/gstinterpolation.c:
3673           move private structs to private header
3674         * po/README:
3675           gstreamer-0.7 -> gstreamer-0.10
3676         * tests/check/libs/struct_i386.h:
3677           remove private structs
3678
3679 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3680
3681         * plugins/indexers/Makefile.am:
3682           Fixes as part of #317048
3683
3684 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3685
3686         * plugins/indexers/Makefile.am:
3687           fix #316086 - compilation when mmap is missing
3688
3689 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
3690
3691         * libs/gst/base/gstbasesink.c:
3692           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
3693           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3694         * win32/common/config.h:
3695           added some defines GST_MAJORMINOR and HOST_CPU
3696         * win32/common/libgstbase.def:
3697         * win32/common/libgstreamer.def:
3698           added some exported functions.
3699
3700 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3701
3702         * libs/gst/controller/gstcontroller.c:
3703         (gst_controlled_property_set_interpolation_mode),
3704         (gst_controlled_property_new):
3705         * libs/gst/controller/gstcontroller.h:
3706         * libs/gst/controller/gstinterpolation.c:
3707         (interpolate_none_get_string_value_array):
3708           make G_TYPE_STRING controlable
3709
3710 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3711
3712         * tools/README:
3713         * tools/gst-feedback.1.in:
3714         * tools/gst-inspect.1.in:
3715         * tools/gst-launch.1.in:
3716         * tools/gst-md5sum.1.in:
3717         * tools/gst-typefind.1.in:
3718         * tools/gst-xmlinspect.1.in:
3719         * tools/gst-xmllaunch.1.in:
3720           cleanup man-pages, remove reference to gst-register, document env-vars
3721
3722 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
3723
3724         * gst/gstbuffer.c: (gst_buffer_span):
3725           gst_buffer_span should copy the timestamp of the first buffer
3726           if they were both originally overlapping subbuffers of the 
3727           same parent, using the same logic as the 'slow copy' case.
3728
3729 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
3730
3731         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3732           Need to awaken ALL the pads when we pop a buffer, otherwise
3733           collectpads only works when there is 2 input streams.
3734
3735 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
3736
3737         * docs/random/ensonic/media-device-daemon.txt:
3738           more ideas (dbus)
3739         * gst/gstbuffer.c:
3740           fix doc example, add clarification
3741         * tools/gst-launch.1.in:
3742           add initial info about GST_PLUGIN_PATH, needs more work
3743
3744 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3745
3746         * docs/manual/basics-bins.xml:
3747         * docs/manual/basics-elements.xml:
3748         * docs/manual/intro-basics.xml:
3749           Some more minor docs additions and updates.
3750
3751 2006-01-11  Wim Taymans  <wim@fluendo.com>
3752
3753         * docs/manual/basics-bins.xml:
3754         * docs/manual/basics-elements.xml:
3755         Some small fixes as pointed out by Ser-ver on IRC.
3756
3757 2006-01-10  Edward Hervey  <edward@fluendo.com>
3758
3759         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3760         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3761         the single-segment mode.
3762
3763 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
3764
3765         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3766
3767         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3768         (gst_base_src_perform_seek), (gst_base_src_send_event),
3769         (gst_base_src_set_property), (gst_base_src_get_property),
3770         (gst_base_src_loop), (gst_base_src_start),
3771         (gst_base_src_activate_push):
3772         * libs/gst/base/gstbasesrc.h:
3773           Name (private) union; makes Sun's Forte compiler happy (#324900).
3774
3775 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3776
3777         * README:
3778           gst-register is gone.
3779
3780 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3781
3782         * gst/gstvalue.c: (_gst_value_initialize):
3783           make the G_TYPE_DATE instantiation work if debug is disabled
3784
3785 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
3786
3787         * gst/gstmessage.c: (gst_message_parse_tag),
3788         (gst_message_parse_error), (gst_message_parse_warning):
3789           Don't crash when return location for error/warning debug
3790           string is NULL; add fact that return locations can be
3791           NULL to docs where appropriate.
3792
3793 2006-01-05  Wim Taymans  <wim@fluendo.com>
3794
3795         * gst/gstplugin.c: (gst_plugin_load_file):
3796         Replace strdup by g_strdup.
3797
3798 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3799
3800         * docs/pwg/advanced-types.xml:
3801           fix doc borkage
3802
3803 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3804
3805         submitted by: Abel Cheung
3806
3807         * po/LINGUAS:
3808         * po/zh_TW.po:
3809           Added Chinese (traditional) translation
3810
3811 2006-01-04  Wim Taymans  <wim@fluendo.com>
3812
3813         * docs/manual/basics-pads.xml:
3814         * docs/plugins/Makefile.am:
3815         * docs/plugins/gstreamer-plugins-docs.sgml:
3816         * docs/plugins/gstreamer-plugins-sections.txt:
3817         * docs/pwg/advanced-clock.xml:
3818         * docs/pwg/advanced-scheduling.xml:
3819         * docs/pwg/advanced-types.xml:
3820         * plugins/elements/gstfdsink.c:
3821         * plugins/elements/gstfdsrc.c:
3822         * plugins/elements/gstfdsrc.h:
3823         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3824         * plugins/elements/gstidentity.h:
3825         * plugins/elements/gstqueue.h:
3826         * plugins/elements/gsttee.c:
3827         * plugins/elements/gsttee.h:
3828         * plugins/elements/gsttypefindelement.c:
3829         (gst_type_find_element_class_init):
3830         * plugins/elements/gsttypefindelement.h:
3831         Small updates to various docs.
3832         Added core plugins to docs.
3833
3834 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3835
3836         * common/gst.supp:
3837           add a suppression for liboil's uninitialized variable
3838
3839 2006-01-02  James Livingston  <jrl at ids dot org dot au>
3840
3841         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3842
3843         * gst/gstutils.h:
3844           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
3845           macro, so that gcc doesn't complain if the -Wmissing-prototypes
3846           compiler switch is being used (#325429).
3847
3848 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
3849
3850         * gst/gstbin.c: (gst_bin_query):
3851           Disable duration query caching in bins until it gets
3852           fixed (see #324807).
3853
3854 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3855
3856         * tools/gst-inspect.c: (print_element_properties_info):
3857           Handle properties of POINTER and BOXED type.
3858
3859 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3860
3861         * gst/gst.c: (init_post):
3862           Init tags stuff and some other things before loading
3863           any static plugins (there may be other static plugins
3864           than just the GStreamer ones, and they may want to
3865           register their own tags or formats or whatever, and
3866           preferably without segfaulting).
3867
3868         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3869           Print at least a warning in the debug logs if we drop a
3870           query just because we don't know how to adjust the value
3871           in the particular format.
3872
3873 2005-12-24  David Schleef  <ds@schleef.org>
3874
3875         * tools/gstreamer-completion:
3876           Replacement for gst-complete written in sh and sed.  Only
3877           completes names of features, but that's 90% of what I want
3878           it for.  Properties are not available in registry.xml.  (Maybe
3879           they should be...)
3880
3881 === release 0.10.1 ===
3882
3883 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
3884
3885         * configure.ac:
3886           releasing 0.10.1, "Nollaig chridheil"
3887
3888 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
3889
3890         * docs/faq/cvs.xml:
3891           Add missing quote, should be make ERROR_CFLAGS="".
3892
3893 2005-12-20  Wim Taymans  <wim@fluendo.com>
3894
3895         * docs/design/part-trickmodes.txt:
3896         More documentation on trickmodes.
3897
3898 2005-12-20  Edward Hervey  <edward@fluendo.com>
3899
3900         * gst/gstcaps.c: (gst_static_caps_get_type):
3901         * gst/gstcaps.h:
3902           API addition: GST_TYPE_STATIC_CAPS
3903         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
3904         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
3905         * gst/gstpadtemplate.h:
3906           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
3907         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
3908         bindings.
3909
3910 2005-12-18  Wim Taymans  <wim@fluendo.com>
3911
3912         * libs/gst/base/gstadapter.c:
3913         * libs/gst/base/gstadapter.h:
3914         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3915         (gst_base_sink_get_position):
3916         * libs/gst/base/gstbasesink.h:
3917         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3918         (gst_base_src_default_query), (gst_base_src_default_do_seek),
3919         (gst_base_src_do_seek), (gst_base_src_perform_seek),
3920         (gst_base_src_send_event), (gst_base_src_update_length),
3921         (gst_base_src_get_range), (gst_base_src_loop),
3922         (gst_base_src_start):
3923         * libs/gst/base/gstbasesrc.h:
3924         * libs/gst/base/gstbasetransform.h:
3925         * libs/gst/base/gstcollectpads.h:
3926         * libs/gst/base/gstpushsrc.c:
3927         * libs/gst/base/gstpushsrc.h:
3928         * libs/gst/dataprotocol/dataprotocol.c:
3929         * libs/gst/dataprotocol/dataprotocol.h:
3930         * libs/gst/net/gstnetclientclock.h:
3931         * libs/gst/net/gstnettimeprovider.h:
3932         Documentation updates.
3933
3934 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
3935
3936         * docs/manual/basics-helloworld.xml:
3937           Remove superfluous closing bracket in helloworld example.
3938
3939 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
3940
3941         * tools/gst-launch.1.in:
3942           Update gst-launch man page; add a section with useful
3943           environment variables. Fixes #323882.
3944
3945 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
3946
3947         * gst/gst.c:
3948         * gst/gst_private.h:
3949           change some char* into char[]
3950
3951 2005-12-16  Wim Taymans  <wim@fluendo.com>
3952
3953         * gst/gstregistryxml.c: (load_feature):
3954         Cleanups.
3955         Don't use g_object_unref on GstObjects so that we avoid
3956         leaks on unsafe glibs.
3957
3958 2005-12-16  Wim Taymans  <wim@fluendo.com>
3959
3960         * gst/gstbin.c: (gst_bin_recalc_state):
3961         Small doc updates.
3962
3963 2005-12-16  Wim Taymans  <wim@fluendo.com>
3964
3965         * common/check.mak:
3966         Added make forever target for check.
3967
3968 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3969
3970         * gst/gst.c: (init_post):
3971           make the registry cache file HOST_CPU-dependent
3972
3973 2005-12-16  Andy Wingo  <wingo@pobox.com>
3974
3975         * plugins/elements/gstbufferstore.c
3976         (gst_buffer_store_cleared_func): Pay attention to g_list_append
3977         return value.
3978
3979         * tests/check/gst/gstobject.c
3980         (test_fake_object_name_threaded_unique): Pay attention to
3981         g_list_sort return value.
3982
3983 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
3984
3985         * tools/gst-feedback-m.m:
3986           Update for 0.9/0.10 (fixes #323870).
3987
3988 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
3989
3990         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
3991           Fix lcopy for mini objects, the mini object needs to be ref'ed.
3992           
3993         * tests/check/gst/gstminiobject.c: (my_foo_init),
3994         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
3995         (test_value_collection), (gst_mini_object_suite):
3996           Add test to ensure refcounts end up as expected when passing
3997           GstMiniObjects through g_object_get() and g_object_set().
3998
3999 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4000
4001         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4002         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4003         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4004         of collectpads. This version removes a lot of races without
4005         touching API/ABI. Yay !
4006
4007 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4008
4009         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4010           Don't allow activation of a srcpad in pull_range if it has no
4011           getrange function.
4012           Change some debug statements to be a little clearer
4013
4014         * plugins/elements/gsttypefindelement.c:
4015         (gst_type_find_handle_src_query):
4016           Check that we have a peer before executing queries thereupon.
4017
4018         * tests/examples/metadata/read-metadata.c: (message_loop):
4019           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4020           immediately return us any available message with 0 timeout.
4021
4022 2005-12-12  Michael Smith  <msmith@fluendo.com>
4023
4024         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4025           Don't unref factories after calling them.
4026         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4027         * plugins/elements/gsttypefindelement.c:
4028         (gst_type_find_element_chain):
4029           Free lists of factories after using them. Fixing typefinding memory
4030           leaks.
4031
4032 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4033
4034         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4035         (gst_plugin_feature_load):
4036           more meaningful debug output
4037         * configure.ac:
4038         * tests/Makefile.am:
4039         * tests/old/examples/Makefile.am:
4040           make make distcheck happy again
4041
4042 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4043
4044         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4045           Catch the special case where we are operating chain-based,
4046           but the downstream peer pad has no chain function. Emit a
4047           custom error message in this case instead of letting the
4048           core generate one implying that this is some sort of core
4049           bug. It's not, it just means that whatever got plugged
4050           into the pipeline downstream when we announced the type
4051           can only operate pull-based, while our source can only
4052           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4053           Error string has not been marked for translation yet, as
4054           it probably needs some more work first.
4055
4056         (gst_type_find_element_get_best_possibility):
4057           Add helper function to find the best of all available
4058           found possibilities that qualify given the min. threshold.
4059
4060         (gst_type_find_element_handle_event):
4061           Fix the case where we get an EOS while still in TYPEFIND
4062           mode (we want to chose the best of all possible types,
4063           not just the first type that happens to be in our unsorted
4064           list of possible types).
4065
4066         (gst_type_find_element_chain):
4067           Make sure we return GST_FLOW_ERROR when we errored out
4068           in stop_typefinding(); also, don't just find the best of
4069           all found type entries and then use the last examined
4070           type entry, but actually use the best entry.
4071
4072 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4073
4074         * tests/examples/typefind/typefind.c: (type_found):
4075         * tests/examples/xml/runxml.c: (xml_loaded):
4076           More gcc4 fixes and a mem leak fix.
4077
4078 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4079
4080         * tests/examples/xml/createxml.c: (object_saved):
4081           gcc 4 fixes
4082
4083 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4084
4085         * tests/Makefile.am:
4086           enable the examples even more
4087
4088 2005-12-12  Andy Wingo  <wingo@pobox.com>
4089
4090         * libs/gst/net/gstnettimeprovider.c
4091         (gst_net_time_provider_class_init, gst_net_time_provider_init)
4092         (gst_net_time_provider_set_property)
4093         (gst_net_time_provider_get_property):
4094         API addition: Export "active" as a GObject property.
4095         (gst_net_time_provider_thread): Only respond to time queries if
4096         the time provider is active.
4097
4098         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4099         NetTimeProvider, preserving binary compat.
4100
4101 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4102
4103         * tests/examples/controller/audio-example.c: (main):
4104         * tests/examples/launch/Makefile.am:
4105           convert comments again
4106
4107 2005-12-12  Wim Taymans  <wim@fluendo.com>
4108
4109         * libs/gst/base/gstpushsrc.c:
4110         Fix typo.
4111
4112 2005-12-12  Wim Taymans  <wim@fluendo.com>
4113
4114         * docs/libs/gstreamer-libs-sections.txt:
4115         Added new symbol to docs.
4116
4117         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4118         (gst_base_src_init), (gst_base_src_set_format),
4119         (gst_base_src_default_query), (gst_base_src_query),
4120         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4121         (gst_base_src_perform_seek), (gst_base_src_send_event),
4122         (gst_base_src_default_event), (gst_base_src_event_handler),
4123         (gst_base_src_set_property), (gst_base_src_get_property),
4124         (gst_base_src_wait), (gst_base_src_do_sync),
4125         (gst_base_src_update_length), (gst_base_src_get_range),
4126         (gst_base_src_check_get_range), (gst_base_src_loop),
4127         (gst_base_src_default_negotiate), (gst_base_src_start),
4128         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4129         (gst_base_src_change_state):
4130         * libs/gst/base/gstbasesrc.h:
4131         Implement seeking to other formats than _BYTES.
4132         Implement more seeking methods correctly.
4133         Doc updates.
4134         Added query vmethod.
4135         Added do_seek vmethod to make life easier for subclasses
4136         when seeking.
4137         API addition: gst_base_src_set_format()
4138
4139 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4140
4141         * tests/examples/Makefile.am:
4142           added that too
4143
4144 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4145
4146         * configure.ac:
4147         * docs/random/ensonic/media-device-daemon.txt:
4148         * tests/examples/controller/.cvsignore:
4149         * tests/examples/controller/Makefile.am:
4150         * tests/examples/controller/audio-example.c: (main):
4151         * tests/examples/helloworld/.cvsignore:
4152         * tests/examples/helloworld/Makefile.am:
4153         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4154         * tests/examples/launch/.cvsignore:
4155         * tests/examples/launch/Makefile.am:
4156         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4157         * tests/examples/metadata/.cvsignore:
4158         * tests/examples/metadata/Makefile.am:
4159         * tests/examples/metadata/read-metadata.c: (message_loop),
4160         (make_pipeline), (print_tag), (main):
4161         * tests/examples/queue/.cvsignore:
4162         * tests/examples/queue/Makefile.am:
4163         * tests/examples/queue/queue.c: (event_loop), (main):
4164         * tests/examples/typefind/.cvsignore:
4165         * tests/examples/typefind/Makefile.am:
4166         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4167         (main):
4168         * tests/examples/xml/.cvsignore:
4169         * tests/examples/xml/Makefile.am:
4170         * tests/examples/xml/createxml.c: (object_saved), (main):
4171         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4172         * tests/old/examples/Makefile.am:
4173         * tests/old/examples/TODO:
4174         * tests/old/examples/controller/.cvsignore:
4175         * tests/old/examples/controller/Makefile.am:
4176         * tests/old/examples/controller/audio-example.c:
4177         * tests/old/examples/helloworld/.cvsignore:
4178         * tests/old/examples/helloworld/Makefile.am:
4179         * tests/old/examples/helloworld/helloworld.c:
4180         * tests/old/examples/launch/.cvsignore:
4181         * tests/old/examples/launch/Makefile.am:
4182         * tests/old/examples/launch/mp3parselaunch.c:
4183         * tests/old/examples/launch/mp3play:
4184         * tests/old/examples/manual/Makefile.am:
4185         * tests/old/examples/metadata/Makefile.am:
4186         * tests/old/examples/metadata/read-metadata.c:
4187         * tests/old/examples/queue/.cvsignore:
4188         * tests/old/examples/queue/Makefile.am:
4189         * tests/old/examples/queue/queue.c:
4190         * tests/old/examples/typefind/.cvsignore:
4191         * tests/old/examples/typefind/Makefile.am:
4192         * tests/old/examples/typefind/typefind.c:
4193         * tests/old/examples/xml/.cvsignore:
4194         * tests/old/examples/xml/Makefile.am:
4195         * tests/old/examples/xml/createxml.c:
4196         * tests/old/examples/xml/runxml.c:
4197           applied some simple fixing to some examples
4198           re-enabled the working examples
4199
4200 2005-12-12  Wim Taymans  <wim@fluendo.com>
4201
4202         * gst/gstsegment.c: (gst_segment_init),
4203         (gst_segment_set_last_stop), (gst_segment_set_seek),
4204         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4205         (gst_segment_to_running_time):
4206         Added more documentation.
4207         Make sure the last_pos value is updated properly.
4208         Make sure to_stream_time and to_running_time don't
4209         operate on wrong values.
4210
4211         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4212         Update check.
4213
4214 2005-12-12  Michael Smith  <msmith@fluendo.com>
4215
4216         * plugins/elements/gsttypefindelement.c: (free_entry),
4217         (gst_type_find_element_chain):
4218           Now that we're not leaking factories, make sure we keep references
4219           to them while we need them.
4220
4221 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4222
4223         * tests/check/gst/struct_i386.h:
4224           ifdef out the XML structs
4225
4226 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4227
4228         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4229           floor is not needed, F is always positive; this obviates the
4230           need for adding -lm when building without libxml
4231
4232 2005-12-12  Wim Taymans  <wim@fluendo.com>
4233
4234         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4235         Take current playback rate into account when reporting
4236         the position.
4237
4238 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4239
4240         * docs/manual/mime-world.fig:
4241           Let's try this again, this time with a file that is
4242           actually in XFig format.
4243
4244 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4245
4246         * docs/manual/mime-world.fig:
4247           Add audioconvert element to diagram so that it
4248           matches the text and the code (fixes #319526).
4249
4250 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4251
4252         * docs/pwg/building-chainfn.xml:
4253         * docs/pwg/building-pads.xml:
4254         * docs/pwg/building-state.xml:
4255         * docs/pwg/other-source.xml:
4256           Update state change stuff for 0.10 (fixes #322969).
4257
4258 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4259
4260         * docs/manual/advanced-dataaccess.xml:
4261         * docs/manual/appendix-checklist.xml:
4262         * docs/manual/appendix-programs.xml:
4263         * docs/manual/basics-pads.xml:
4264         * docs/manual/highlevel-components.xml:
4265         * docs/manual/manual.xml:
4266           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4267           add converters in front of pipelines; remove curly
4268           brackets for threads stuff, they no longer exist; use
4269           GST_TYPE_FRACTION for framerates; update some pieces of
4270           code to 0.10, but there's plenty more to do.
4271
4272         * docs/manual/appendix-porting.xml:
4273           Expand on asynchroneous state changes; s/0.9/0.10/;
4274           mention disappearance of gst_init_get_popt_table()
4275           (fixes #322916).
4276
4277 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4278
4279         * docs/faq/using.xml:
4280           Spider no longer exists, and neither does gst-launch-ext.
4281           Update examples to use decodebin and playbin and put
4282           converters in front of sinks (fixes #323726).
4283
4284 2005-12-09  Michael Smith  <msmith@fluendo.com>
4285
4286         * plugins/elements/gsttypefindelement.c: (find_peek),
4287         (gst_type_find_element_chain):
4288           Fix leaking element factories in typefinding.
4289           Fix problem where we forgot about a probable type on non-seekable
4290           files, and thus later mis-typefound it.
4291
4292 2005-12-09  Michael Smith  <msmith@fluendo.com>
4293
4294         * common/m4/gst-makecontext.m4:
4295         * common/m4/gst-mcsc.m4:
4296         * configure.ac:
4297         * win32/common/config.h:
4298         * win32/common/config.h.in:
4299           Remove makecontext stuff; not used in 0.10 and causes problems on
4300           HPUX according to bug #322441
4301
4302 2005-12-07  Wim Taymans  <wim@fluendo.com>
4303
4304         * tests/check/Makefile.am:
4305         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4306         (main):
4307         * tests/check/libs/struct_i386.h:
4308         Added ABI check for libs
4309
4310 2005-12-07  Wim Taymans  <wim@fluendo.com>
4311
4312         * tests/check/Makefile.am:
4313         And add the struct_i386.h to dist.
4314
4315 2005-12-07  Wim Taymans  <wim@fluendo.com>
4316
4317         * tests/check/Makefile.am:
4318         * tests/check/gst/.cvsignore:
4319         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4320         (main):
4321         * tests/check/gst/struct_i386.h:
4322         Added check for ABI compatibility.
4323
4324 2005-12-07  Wim Taymans  <wim@fluendo.com>
4325
4326         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4327         (gst_fake_src_get_times), (gst_fake_src_create):
4328         Fix broken sync option, fixes #323259
4329
4330 2005-12-07  Wim Taymans  <wim@fluendo.com>
4331
4332         * gst/gstbuffer.c:
4333         Small docs update.
4334
4335         * gst/gstcaps.c: (gst_caps_is_equal):
4336         Don't assert on NULL <--> X. Fixes #323260
4337
4338         * gst/gstminiobject.c: (gst_mini_object_replace):
4339         If we're doing atomic operations, we might just as well use
4340         the proper way to get an atomic pointer.
4341
4342         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4343         Clean up debugging.
4344
4345 2005-12-07  Michael Smith  <msmith@fluendo.com>
4346
4347         * gst/parse/grammar.y:
4348           Remove handling of { } for threads.
4349
4350 2005-12-06  David Schleef  <ds@schleef.org>
4351
4352         * libs/gst/base/gstbasetransform.c: speling fix.
4353
4354 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4355
4356         * docs/libs/tmpl/gstdataprotocol.sgml:
4357         * docs/random/omega/testing/gstobject.c:
4358         * gst/gst.c:
4359         * gst/gstclock.c:
4360         * gst/gstelement.c:
4361         * gst/gstelementfactory.c:
4362         * gst/gsterror.c:
4363         * gst/gstevent.c:
4364         * gst/gstghostpad.c:
4365         * gst/gstinfo.c:
4366         * gst/gstpadtemplate.c:
4367         * gst/gstregistryxml.c:
4368         * gst/gsttaglist.c:
4369         * gst/gsttagsetter.c:
4370         * gst/gsttypefind.c:
4371         * gst/gstvalue.c:
4372         * libs/gst/base/gstbasesrc.c:
4373         * libs/gst/net/gstnetclientclock.c:
4374         * libs/gst/net/gstnettimeprovider.c:
4375         * plugins/elements/gstfakesrc.c:
4376         * plugins/elements/gstfdsrc.c:
4377         * plugins/elements/gstfilesrc.c:
4378         * plugins/elements/gstidentity.c:
4379         * plugins/elements/gstqueue.c:
4380         * plugins/elements/gsttypefindelement.c:
4381         * plugins/indexers/gstfileindex.c:
4382         * plugins/indexers/gstmemindex.c:
4383         * tests/check/gst/gsttag.c:
4384         * tests/old/examples/cutter/cutter.c:
4385         * tests/old/examples/mixer/mixer.c:
4386         * tests/old/examples/xml/runxml.c: (main):
4387         * tests/old/testsuite/caps/normalisation.c:
4388         * tests/old/testsuite/debug/global.c:
4389         * tests/old/testsuite/parse/parse1.c:
4390         * tools/gst-xmlinspect.c:
4391         * win32/common/dirent.c:
4392           expand tabs
4393
4394 === release 0.10.0 ===
4395
4396 2005-12-05   <thomas (at) apestaart (dot) org>
4397
4398         * configure.ac:
4399           releasing 0.10.0, "Maroilles"
4400
4401 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4402
4403         submitted by: Funda Wang <fundawang@linux.net.cn>
4404
4405         * po/LINGUAS:
4406         * po/zh_CN.po:
4407           added Chinese (Traditional) translation
4408
4409 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4410
4411         * docs/gst/gstreamer-sections.txt:
4412         * docs/libs/tmpl/gstdataprotocol.sgml:
4413         * docs/random/thomasvs/TODO:
4414         * gst/gstutils.c:
4415         * gst/gstutils.h:
4416           fix docs
4417
4418 2005-12-05  Andy Wingo  <wingo@pobox.com>
4419
4420         patch by: Wim Taymans <wim@fluendo.com>
4421
4422         * libs/gst/base/gstbasetransform.c
4423         (gst_base_transform_prepare_output_buf)
4424         (gst_base_transform_buffer_alloc):
4425         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4426         alloc_buffer_and_set_caps.
4427
4428         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4429         set_caps on the source pad.
4430         (gst_pad_alloc_buffer_and_set_caps): New function, does what
4431         alloc_buffer used to do. Fixes #322874.
4432
4433         * docs/gst/gstreamer-sections.txt: 
4434         * docs/design/part-negotiation.txt: 
4435         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4436         changes.
4437
4438 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4439
4440         patch by: Sebastien Moutte
4441
4442         * win32/MANIFEST:
4443         * win32/common/config.h.in:
4444         * win32/vs6/libgstcontroller.dsp:
4445           win32 build fixes
4446
4447 2005-12-05  Wim Taymans  <wim@fluendo.com>
4448
4449         * gst/gstcaps.c: (gst_caps_is_equal):
4450         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4451         (gst_fake_src_create):
4452         Back out previous code changes, leave doc updates, file bugs 
4453         instead. 
4454
4455 2005-12-05  Wim Taymans  <wim@fluendo.com>
4456
4457         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4458         (gst_fake_src_get_times), (gst_fake_src_create):
4459         * plugins/elements/gstfakesrc.h:
4460         Fix broken sync code.
4461
4462 2005-12-05  Wim Taymans  <wim@fluendo.com>
4463
4464         * gst/gstcaps.c: (gst_caps_is_equal):
4465         Comparing NULL against !NULL yields different caps, not a
4466         failure.
4467
4468 2005-12-05  Wim Taymans  <wim@fluendo.com>
4469
4470         * gst/gstpipeline.c:
4471         Fix small typo in docs.
4472
4473 2005-12-05  Andy Wingo  <wingo@pobox.com>
4474
4475         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
4476
4477         * gst/gst.c (init_post): remove hard-coded 0.9 location for
4478         registries/plugins with a MAJORMINOR one.
4479         (plugin_desc): Rename library from gstcoreleements to
4480         staticelements. Fixes #323222.
4481
4482 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
4483
4484         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4485           Change debug category to 'collectpads' from 'collect_pads'
4486           (fixes #323250).
4487
4488 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4489
4490         patch by: Sebastien Moutte
4491
4492         * libs/gst/controller/gstinterpolation.c:
4493           use convert function for uint64/double
4494         * win32/vs6/libgstcontroller.dsp:
4495           link to GLib
4496
4497 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4498
4499         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4500         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4501         * gst/gstutils.h:
4502         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4503           add tests that seem to show that the guint64/gdouble conversions
4504           are correct.
4505
4506 2005-12-02  Wim Taymans  <wim@fluendo.com>
4507
4508         * gst/gstregistry.c: (gst_registry_add_path):
4509         * gst/gstregistry.h:
4510         * gst/gstregistryxml.c:
4511         Fix docs again.
4512
4513 2005-12-02  Wim Taymans  <wim@fluendo.com>
4514
4515         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4516         (gst_util_uint64_scale_int):
4517         Small cleanup.
4518
4519         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4520         Add debug log line.
4521
4522         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4523         Add FIXME.
4524
4525 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4526
4527         * win32/MANIFEST:
4528         * win32/common/config.h:
4529         * win32/vs6/gstreamer.dsw:
4530         * win32/vs6/libgstcoreelements.dsp:
4531         * win32/vs6/libgstelements.dsp:
4532           renamed core elements plugin
4533
4534 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4535
4536         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4537         (get_candidates):
4538           do piece-wise major/minor comparison so 0.9 < 0.10
4539           also allow .exe extensions for tools
4540
4541 2005-12-02  Michael Smith  <msmith@fluendo.com>
4542
4543         * gst/gst.c:
4544           Escape a % to make gtkdoc happier; bug 322958.
4545
4546 === release 0.9.7 ===
4547
4548 2005-12-01   <thomas (at) apestaart (dot) org>
4549
4550         * configure.ac:
4551           releasing 0.9.7, "My Dog Has No Nose"
4552
4553 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4554
4555         * common/gst-xmlinspect.py:
4556         * configure.ac:
4557         * docs/libs/tmpl/gstdataprotocol.sgml:
4558         * docs/random/release:
4559         * po/af.po:
4560         * po/az.po:
4561         * po/bg.po:
4562         * po/ca.po:
4563         * po/cs.po:
4564         * po/de.po:
4565         * po/en_GB.po:
4566         * po/fr.po:
4567         * po/it.po:
4568         * po/nb.po:
4569         * po/nl.po:
4570         * po/ru.po:
4571         * po/sq.po:
4572         * po/sr.po:
4573         * po/sv.po:
4574         * po/tr.po:
4575         * po/uk.po:
4576         * po/vi.po:
4577         * win32/common/config.h:
4578         * win32/common/config.h.in:
4579         * win32/vs6/gst_inspect.dsp:
4580         * win32/vs6/gst_launch.dsp:
4581         * win32/vs6/libgstbase.dsp:
4582         * win32/vs6/libgstelements.dsp:
4583         * win32/vs6/libgstreamer.dsp:
4584         * win32/vs7/GStreamer.vcproj:
4585         * win32/vs7/gst-inspect.vcproj:
4586         * win32/vs7/gst-launch.vcproj:
4587         * win32/vs7/libgstbase.vcproj:
4588           bump GST_MAJORMINOR to 0.10
4589           reset libtool version
4590
4591 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4592
4593         * po/LINGUAS:
4594         * po/bg.po:
4595           Added Bulgarian translation by (Alexander Shopov)
4596
4597 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4598
4599         * tests/check/gst/gstplugin.c:
4600           fix test
4601
4602 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4603
4604         * common/gst-xmlinspect.py:
4605         * common/gtk-doc-plugins.mak:
4606         * configure.ac:
4607         * docs/Makefile.am:
4608         * docs/gst/Makefile.am:
4609         * docs/gst/gstreamer-docs.sgml:
4610         * docs/gst/gstreamer-sections.txt:
4611         * docs/gst/gstreamer.types:
4612         * docs/gst/gstreamer.types.in:
4613         * docs/plugins/Makefile.am:
4614         * docs/plugins/gstreamer-plugins-docs.sgml:
4615         * docs/plugins/gstreamer-plugins-sections.txt:
4616         * docs/plugins/gstreamer-plugins.types:
4617         * docs/plugins/inspect.stamp:
4618         * docs/plugins/inspect/plugin-coreelements.xml:
4619         * docs/plugins/inspect/plugin-coreindexers.xml:
4620         * docs/plugins/scanobj-build.stamp:
4621         * gstreamer.spec.in:
4622         * plugins/elements/Makefile.am:
4623         * plugins/elements/gstelements.c:
4624         * plugins/elements/gstfakesink.c:
4625         * plugins/elements/gstfakesrc.c:
4626         * plugins/elements/gstfilesink.c:
4627         * plugins/elements/gstfilesrc.c:
4628         * plugins/elements/gstqueue.c:
4629         * plugins/indexers/Makefile.am:
4630         * plugins/indexers/gstindexers.c:
4631           document core plugins in a separate document just like all the
4632           others
4633           rename these plugins to something starting with core
4634
4635 2005-12-01  Andy Wingo  <wingo@pobox.com>
4636
4637         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4638         padding here before, but it missed the commit.
4639
4640 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4641
4642         * libs/gst/controller/gstinterpolation.c:
4643           whitespace prices have crashed, we should feel free to use some now
4644           use gst_guint64_to_gdouble
4645
4646 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4647
4648         * libs/gst/controller/gstcontroller.c:
4649         * libs/gst/controller/gsthelper.c:
4650         * libs/gst/controller/gstinterpolation.c:
4651         * libs/gst/controller/lib.c:
4652           wrap config.h include
4653
4654 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4655
4656         * docs/gst/gstreamer-sections.txt:
4657           update docs
4658
4659 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4660
4661         * plugins/elements/gstelements.c:
4662         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4663         (gst_fd_sink__class_init), (gst_fd_sink__init),
4664         (gst_fd_sink__chain), (gst_fd_sink__set_property),
4665         (gst_fd_sink__get_property):
4666         * plugins/elements/gstfdsink.h:
4667         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4668         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4669         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4670         (gst_fd_src_unlock), (gst_fd_src_set_property),
4671         (gst_fd_src_get_property), (gst_fd_src_create),
4672         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4673         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4674         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4675         (gst_fd_src_uri_handler_init):
4676         * plugins/elements/gstfdsrc.h:
4677         * plugins/elements/gstqueue.c: (gst_queue_get_type):
4678           more anal cleanup
4679
4680 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4681
4682         * docs/gst/Makefile.am:
4683         * docs/gst/gstreamer.types.in:
4684         * gst/Makefile.am:
4685           fix the docs build
4686
4687 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4688
4689         * configure.ac:
4690         * gst/Makefile.am:
4691         * gst/gst.c:
4692         * gst/gstplugin.h:
4693         * gst/gstregistry.h:
4694         * tests/benchmarks/complexity.c:
4695         * tests/benchmarks/mass-elements.c:
4696         * tests/check/Makefile.am:
4697         * tools/Makefile.am:
4698         * tools/gst-inspect.c:
4699         * tools/gst-xmlinspect.c:
4700           various fixes to make
4701           --disable-nls --disable-registry --disable-loadsave
4702           --disable-parse --disable-gst-debug
4703           work and get the core .so down to 360444 bytes after stripping
4704
4705 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4706
4707         * Makefile.am:
4708         * configure.ac:
4709           descend into tests
4710         * docs/random/thomasvs/TODO:
4711         * tests/Makefile.am:
4712         * tests/README:
4713           add a README
4714
4715 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4716
4717         * win32/GStreamer.vcproj:
4718         * win32/MANIFEST:
4719         * win32/Makefile:
4720         * win32/Makefile.inspect:
4721         * win32/Makefile.launch:
4722         * win32/Makefile.register:
4723         * win32/README.txt:
4724         * win32/gst-inspect.vcproj:
4725         * win32/gst-launch.vcproj:
4726         * win32/gst-register.vcproj:
4727         * win32/gstelements.vcproj:
4728         * win32/gstgetbits.def:
4729         * win32/gstgetbits.vcproj:
4730         * win32/gstreamer-dbg.def:
4731         * win32/gstreamer.def:
4732         * win32/libgstbase.def:
4733         * win32/libgstbase.vcproj:
4734         * win32/link_oldruntime.c:
4735         * win32/mman.c:
4736         * win32/mman.h:
4737         * win32/mman.inl:
4738         * win32/msvc71.sln:
4739           move even more stuff, win32/ is nice and clean now
4740
4741 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4742
4743         * libs/gst/control/.cvsignore:
4744         * win32/MANIFEST:
4745         * win32/config.h:
4746         * win32/dirent.c:
4747         * win32/dirent.h:
4748         * win32/gstbytestream.def:
4749         * win32/gstbytestream.vcproj:
4750         * win32/gstconfig.h:
4751         * win32/gstenumtypes.c:
4752         * win32/gstenumtypes.h:
4753         * win32/gstoptimalscheduler.vcproj:
4754         * win32/gstversion.h:
4755         * win32/gtchar.h:
4756         * win32/testsuite/bins.vcproj:
4757         * win32/testsuite/bytestream.vcproj:
4758         * win32/testsuite/caps.vcproj:
4759         * win32/testsuite/cleanup.vcproj:
4760         * win32/testsuite/clock.vcproj:
4761         * win32/testsuite/debug.vcproj:
4762         * win32/testsuite/dlopen.vcproj:
4763         * win32/testsuite/dynparams.vcproj:
4764         * win32/testsuite/elements.vcproj:
4765         * win32/testsuite/ghostpads.vcproj:
4766         * win32/testsuite/indexers.vcproj:
4767         * win32/testsuite/negotiation.vcproj:
4768         * win32/testsuite/parse.vcproj:
4769         * win32/testsuite/plugin.vcproj:
4770         * win32/testsuite/refcounting.vcproj:
4771         * win32/testsuite/schedulers.vcproj:
4772         * win32/testsuite/states.vcproj:
4773         * win32/testsuite/tags.vcproj:
4774         * win32/testsuite/threads.vcproj:
4775           remove old win32 stuff that isn't maintained and should be
4776           reorganized
4777
4778 2005-11-30  Andy Wingo  <wingo@pobox.com>
4779
4780         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4781         loading the gst.interfaces python module bork.
4782
4783         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
4784         available since GLib 2.2. Fixes #318031.
4785
4786 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4787
4788         * Makefile.am:
4789         * check/.cvsignore:
4790         * check/Makefile.am:
4791         * check/elements/.cvsignore:
4792         * check/elements/fakesrc.c:
4793         * check/elements/fdsrc.c:
4794         * check/elements/identity.c:
4795         * check/generic/.cvsignore:
4796         * check/generic/states.c:
4797         * check/gst-libs/.cvsignore:
4798         * check/gst-libs/controller.c:
4799         * check/gst-libs/gdp.c:
4800         * check/gst/.cvsignore:
4801         * check/gst/capslist.h:
4802         * check/gst/gst.c:
4803         * check/gst/gstbin.c:
4804         * check/gst/gstbuffer.c:
4805         * check/gst/gstbus.c:
4806         * check/gst/gstcaps.c:
4807         * check/gst/gstelement.c:
4808         * check/gst/gstevent.c:
4809         * check/gst/gstghostpad.c:
4810         * check/gst/gstiterator.c:
4811         * check/gst/gstmessage.c:
4812         * check/gst/gstminiobject.c:
4813         * check/gst/gstobject.c:
4814         * check/gst/gstpad.c:
4815         * check/gst/gstpipeline.c:
4816         * check/gst/gstplugin.c:
4817         * check/gst/gstsegment.c:
4818         * check/gst/gststructure.c:
4819         * check/gst/gstsystemclock.c:
4820         * check/gst/gsttag.c:
4821         * check/gst/gstutils.c:
4822         * check/gst/gstvalue.c:
4823         * check/net/.cvsignore:
4824         * check/net/gstnetclientclock.c:
4825         * check/net/gstnettimeprovider.c:
4826         * check/pipelines/.cvsignore:
4827         * check/pipelines/cleanup.c:
4828         * check/pipelines/simple_launch_lines.c:
4829         * check/pipelines/stress.c:
4830         * check/states/.cvsignore:
4831         * check/states/sinks.c:
4832         * configure.ac:
4833         * examples/Makefile.am:
4834         * examples/appreader/.cvsignore:
4835         * examples/appreader/Makefile.am:
4836         * examples/appreader/appreader.c:
4837         * examples/controller/.cvsignore:
4838         * examples/controller/Makefile.am:
4839         * examples/controller/audio-example.c:
4840         * examples/cutter/.cvsignore:
4841         * examples/cutter/Makefile.am:
4842         * examples/cutter/cutter.c:
4843         * examples/cutter/cutter.h:
4844         * examples/events/Makefile.am:
4845         * examples/events/seek.c:
4846         * examples/helloworld/.cvsignore:
4847         * examples/helloworld/Makefile.am:
4848         * examples/helloworld/helloworld.c:
4849         * examples/helloworld2/.cvsignore:
4850         * examples/helloworld2/Makefile.am:
4851         * examples/helloworld2/helloworld2.c:
4852         * examples/launch/.cvsignore:
4853         * examples/launch/Makefile.am:
4854         * examples/launch/mp3parselaunch.c:
4855         * examples/launch/mp3play:
4856         * examples/manual/.cvsignore:
4857         * examples/manual/Makefile.am:
4858         * examples/manual/extract.pl:
4859         * examples/metadata/Makefile.am:
4860         * examples/metadata/read-metadata.c:
4861         * examples/mixer/.cvsignore:
4862         * examples/mixer/Makefile.am:
4863         * examples/mixer/mixer.c:
4864         * examples/mixer/mixer.h:
4865         * examples/pingpong/.cvsignore:
4866         * examples/pingpong/Makefile.am:
4867         * examples/pingpong/pingpong.c:
4868         * examples/plugins/.cvsignore:
4869         * examples/plugins/Makefile.am:
4870         * examples/plugins/example.c:
4871         * examples/plugins/example.h:
4872         * examples/pwg/.cvsignore:
4873         * examples/pwg/Makefile.am:
4874         * examples/pwg/extract.pl:
4875         * examples/queue/.cvsignore:
4876         * examples/queue/Makefile.am:
4877         * examples/queue/queue.c:
4878         * examples/queue2/.cvsignore:
4879         * examples/queue2/Makefile.am:
4880         * examples/queue2/queue2.c:
4881         * examples/queue3/.cvsignore:
4882         * examples/queue3/Makefile.am:
4883         * examples/queue3/queue3.c:
4884         * examples/queue4/.cvsignore:
4885         * examples/queue4/Makefile.am:
4886         * examples/queue4/queue4.c:
4887         * examples/retag/.cvsignore:
4888         * examples/retag/Makefile.am:
4889         * examples/retag/retag.c:
4890         * examples/retag/transcode.c:
4891         * examples/thread/.cvsignore:
4892         * examples/thread/Makefile.am:
4893         * examples/thread/thread.c:
4894         * examples/typefind/.cvsignore:
4895         * examples/typefind/Makefile.am:
4896         * examples/typefind/typefind.c:
4897         * examples/xml/.cvsignore:
4898         * examples/xml/Makefile.am:
4899         * examples/xml/createxml.c:
4900         * examples/xml/runxml.c:
4901         * tests/Makefile.am:
4902         * tests/check/Makefile.am:
4903         * testsuite/.cvsignore:
4904         * testsuite/Makefile.am:
4905         * testsuite/Rules:
4906         * testsuite/caps/.cvsignore:
4907         * testsuite/caps/Makefile.am:
4908         * testsuite/caps/app_fixate.c:
4909         * testsuite/caps/audioscale.c:
4910         * testsuite/caps/caps.c:
4911         * testsuite/caps/caps.h:
4912         * testsuite/caps/caps_strings:
4913         * testsuite/caps/compatibility.c:
4914         * testsuite/caps/deserialize.c:
4915         * testsuite/caps/enumcaps.c:
4916         * testsuite/caps/eratosthenes.c:
4917         * testsuite/caps/filtercaps.c:
4918         * testsuite/caps/fixed.c:
4919         * testsuite/caps/fraction-convert.c:
4920         * testsuite/caps/fraction-multiply-and-zero.c:
4921         * testsuite/caps/intersect2.c:
4922         * testsuite/caps/intersection.c:
4923         * testsuite/caps/normalisation.c:
4924         * testsuite/caps/random.c:
4925         * testsuite/caps/renegotiate.c:
4926         * testsuite/caps/sets.c:
4927         * testsuite/caps/simplify.c:
4928         * testsuite/caps/string-conversions.c:
4929         * testsuite/caps/structure.c:
4930         * testsuite/caps/subtract.c:
4931         * testsuite/caps/union.c:
4932         * testsuite/debug/.cvsignore:
4933         * testsuite/debug/Makefile.am:
4934         * testsuite/debug/category.c:
4935         * testsuite/debug/commandline.c:
4936         * testsuite/debug/global.c:
4937         * testsuite/debug/output.c:
4938         * testsuite/debug/printf_extension.c:
4939         * testsuite/dlopen/.cvsignore:
4940         * testsuite/dlopen/Makefile.am:
4941         * testsuite/dlopen/dlopen_gst.c:
4942         * testsuite/dlopen/loadgst.c:
4943         * testsuite/elements/.cvsignore:
4944         * testsuite/elements/Makefile.am:
4945         * testsuite/elements/gst-inspect-check.in:
4946         * testsuite/elements/struct_i386.h:
4947         * testsuite/elements/struct_size.c:
4948         * testsuite/indexers/.cvsignore:
4949         * testsuite/indexers/Makefile.am:
4950         * testsuite/indexers/cache1.c:
4951         * testsuite/indexers/indexdump.c:
4952         * testsuite/parse/.cvsignore:
4953         * testsuite/parse/Makefile.am:
4954         * testsuite/parse/parse1.c:
4955         * testsuite/parse/parse2.c:
4956         * testsuite/plugin/.cvsignore:
4957         * testsuite/plugin/Makefile.am:
4958         * testsuite/plugin/README:
4959         * testsuite/plugin/dynamic.c:
4960         * testsuite/plugin/linked.c:
4961         * testsuite/plugin/loading.c:
4962         * testsuite/plugin/registry.c:
4963         * testsuite/plugin/static.c:
4964         * testsuite/plugin/static2.c:
4965         * testsuite/plugin/testplugin.c:
4966         * testsuite/plugin/testplugin2.c:
4967         * testsuite/plugin/testplugin2_s.c:
4968         * testsuite/plugin/testplugin_s.c:
4969         * testsuite/refcounting/.cvsignore:
4970         * testsuite/refcounting/Makefile.am:
4971         * testsuite/refcounting/bin.c:
4972         * testsuite/refcounting/element.c:
4973         * testsuite/refcounting/element_pad.c:
4974         * testsuite/refcounting/mainloop.c:
4975         * testsuite/refcounting/mem.c:
4976         * testsuite/refcounting/mem.h:
4977         * testsuite/refcounting/object.c:
4978         * testsuite/refcounting/pad.c:
4979         * testsuite/refcounting/sched.c:
4980         * testsuite/refcounting/thread.c:
4981         * testsuite/states/.cvsignore:
4982         * testsuite/states/Makefile.am:
4983         * testsuite/states/bin.c:
4984         * testsuite/states/locked.c:
4985         * testsuite/states/parent.c:
4986         * testsuite/threads/.cvsignore:
4987         * testsuite/threads/159566.c:
4988         * testsuite/threads/159852.c:
4989         * testsuite/threads/Makefile.am:
4990         * testsuite/threads/queue.c:
4991         * testsuite/threads/signals.c:
4992         * testsuite/threads/staticrec.c:
4993         * testsuite/threads/thread.c:
4994         * testsuite/threads/threadb.c:
4995         * testsuite/threads/threadc.c:
4996         * testsuite/threads/threadd.c:
4997         * testsuite/threads/threade.c:
4998         * testsuite/threads/threadf.c:
4999         * testsuite/threads/threadg.c:
5000         * testsuite/threads/threadh.c:
5001         * testsuite/threads/threadi.c:
5002           move all of these under tests
5003
5004 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5005
5006         * configure.ac:
5007         * tests/Makefile.am:
5008           fix distcheck
5009
5010 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5011
5012         * docs/gst/gstreamer-sections.txt:
5013         * tests/sched/.cvsignore:
5014         * tests/sched/Makefile.am:
5015         * tests/sched/cases/(fs-fs).xml:
5016         * tests/sched/cases/(fs-i-fs).xml:
5017         * tests/sched/cases/(fs-i-i-fs).xml:
5018         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5019         * tests/sched/dynamic-pipeline.c:
5020         * tests/sched/interrupt1.c:
5021         * tests/sched/interrupt2.c:
5022         * tests/sched/interrupt3.c:
5023         * tests/sched/runtestcases:
5024         * tests/sched/runxml.c:
5025         * tests/sched/sched-stress.c:
5026         * tests/sched/sort.c:
5027         * tests/sched/testcases:
5028         * tests/sched/testcases1.tc:
5029         * tests/seeking/.cvsignore:
5030         * tests/seeking/Makefile.am:
5031         * tests/seeking/seeking1.c:
5032         * tests/threadstate/.cvsignore:
5033         * tests/threadstate/Makefile.am:
5034         * tests/threadstate/test1.c:
5035         * tests/threadstate/test2.c:
5036         * tests/threadstate/threadstate1.c:
5037         * tests/threadstate/threadstate2.c:
5038         * tests/threadstate/threadstate3.c:
5039         * tests/threadstate/threadstate4.c:
5040         * tests/threadstate/threadstate5.c:
5041           remove obsolete tests
5042         * configure.ac:
5043         * tests/bench-complexity.scm:
5044         * tests/bench-mass_elements.scm:
5045         * tests/complexity.c:
5046         * tests/complexity.gnuplot:
5047         * tests/instantiate/.cvsignore:
5048         * tests/instantiate/Makefile.am:
5049         * tests/instantiate/caps.c:
5050         * tests/mass_elements.c:
5051         * tests/network-clock-utils.scm:
5052         * tests/network-clock.scm:
5053         * tests/plot-data:
5054         First pass at cleaning up tests/ dir before moving the rest
5055         Combined with CVS surgery
5056
5057 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5058
5059         * po/POTFILES.in:
5060           queue has moved, update
5061
5062 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5063
5064         * docs/gst/gstreamer-sections.txt:
5065           remove double entries from the docs
5066         * gst/gst_private.h:
5067         * gst/gstinfo.c: (_gst_debug_init):
5068           remove the THREAD debug category
5069         * gst/Makefile.am:
5070         * gst/gstqueue.c:
5071         * gst/gstqueue.h:
5072         * docs/gst/gstreamer.types:
5073         * plugins/elements/gstqueue.c: (gst_queue_get_type),
5074         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5075           completely move queue and fix up debugging categories
5076
5077 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5078
5079         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5080           make initialization portable, using LL is not
5081
5082 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5083
5084         * win32/common/gstconfig.h:
5085           add large padding
5086
5087 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5088
5089         * win32/common/libgstreamer.def:
5090           rename symbols; sort base section
5091
5092 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5093
5094         * gst/gstclock.c: (do_linear_regression):
5095           remove crack non-portable handrolled DEBUG macro
5096
5097 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5098
5099         * docs/random/release:
5100           update notes
5101         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5102         (gst_object_flags_get_type), (register_gst_bin_flags),
5103         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5104         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5105         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5106         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5107         (gst_caps_flags_get_type), (register_gst_clock_return),
5108         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5109         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5110         (gst_clock_flags_get_type), (register_gst_state),
5111         (gst_state_get_type), (register_gst_state_change_return),
5112         (gst_state_change_return_get_type), (register_gst_state_change),
5113         (gst_state_change_get_type), (register_gst_element_flags),
5114         (gst_element_flags_get_type), (register_gst_core_error),
5115         (gst_core_error_get_type), (register_gst_library_error),
5116         (gst_library_error_get_type), (register_gst_resource_error),
5117         (gst_resource_error_get_type), (register_gst_stream_error),
5118         (gst_stream_error_get_type), (register_gst_event_type_flags),
5119         (gst_event_type_flags_get_type), (register_gst_event_type),
5120         (gst_event_type_get_type), (register_gst_seek_type),
5121         (gst_seek_type_get_type), (register_gst_seek_flags),
5122         (gst_seek_flags_get_type), (register_gst_format),
5123         (gst_format_get_type), (register_gst_index_certainty),
5124         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5125         (gst_index_entry_type_get_type),
5126         (register_gst_index_lookup_method),
5127         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5128         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5129         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5130         (gst_index_flags_get_type), (register_gst_debug_level),
5131         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5132         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5133         (gst_iterator_result_get_type), (register_gst_iterator_item),
5134         (gst_iterator_item_get_type), (register_gst_message_type),
5135         (gst_message_type_get_type), (register_gst_mini_object_flags),
5136         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5137         (gst_pad_link_return_get_type), (register_gst_flow_return),
5138         (gst_flow_return_get_type), (register_gst_activate_mode),
5139         (gst_activate_mode_get_type), (register_gst_pad_direction),
5140         (gst_pad_direction_get_type), (register_gst_pad_flags),
5141         (gst_pad_flags_get_type), (register_gst_pad_presence),
5142         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5143         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5144         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5145         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5146         (gst_plugin_flags_get_type), (register_gst_rank),
5147         (gst_rank_get_type), (register_gst_query_type),
5148         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5149         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5150         (gst_tag_flag_get_type), (register_gst_task_state),
5151         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5152         (gst_alloc_trace_flags_get_type),
5153         (register_gst_type_find_probability),
5154         (gst_type_find_probability_get_type), (register_gst_uri_type),
5155         (gst_uri_type_get_type), (register_gst_parse_error),
5156         (gst_parse_error_get_type):
5157         * win32/common/gstenumtypes.h:
5158         * win32/common/gstversion.h:
5159           update visual studio generated files
5160
5161 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5162
5163         * win32/vs6/libgstbase.dsp:
5164         * win32/vs6/libgstelements.dsp:
5165           update project files for new locations
5166
5167 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5168
5169         * Makefile.am:
5170           remove some files
5171         * README:
5172           reinstate and update
5173         * DEVEL:
5174         * REQUIREMENTS:
5175           removed
5176         * LICENSE:
5177         * docs/random/LICENSE:
5178           moved to random
5179
5180 2005-11-30  Edward Hervey  <edward@fluendo.com>
5181
5182         * gst/gsttypefind.c: (gst_type_find_register):
5183         * gst/gsttypefind.h:
5184         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5185         (gst_type_find_factory_dispose):
5186         * gst/gsttypefindfactory.h:
5187         Fix memory leak in GstTypeFindFactory.
5188
5189 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5190
5191         * gst/gst.c:
5192         * plugins/elements/Makefile.am:
5193         * plugins/elements/gstelements.c:
5194         * plugins/elements/gstqueue.c:
5195           move queue from core to the elements plugin
5196
5197 2005-11-29  Andy Wingo  <wingo@pobox.com>
5198
5199         * libs/gst/base/gstbasetransform.h: 
5200         * libs/gst/base/gstbasesrc.h: 
5201         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5202
5203         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5204         of pointers by which to pad very extensible base classes (like the
5205         ones in libs/gst/base).
5206
5207 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5208
5209         * docs/gst/gstreamer-docs.sgml:
5210         * docs/gst/gstreamer-sections.txt:
5211         * docs/libs/gstreamer-libs-docs.sgml:
5212         * docs/libs/gstreamer-libs-sections.txt:
5213           moving documentation from core to lib
5214
5215 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5216
5217         * check/Makefile.am:
5218         * configure.ac:
5219         * docs/gst/Makefile.am:
5220         * gst/Makefile.am:
5221         * gst/base/.cvsignore:
5222         * gst/base/Makefile.am:
5223         * gst/base/README:
5224         * gst/base/gstadapter.c:
5225         * gst/base/gstadapter.h:
5226         * gst/base/gstbasesink.c:
5227         * gst/base/gstbasesink.h:
5228         * gst/base/gstbasesrc.c:
5229         * gst/base/gstbasesrc.h:
5230         * gst/base/gstbasetransform.c:
5231         * gst/base/gstbasetransform.h:
5232         * gst/base/gstcollectpads.c:
5233         * gst/base/gstcollectpads.h:
5234         * gst/base/gstpushsrc.c:
5235         * gst/base/gstpushsrc.h:
5236         * gst/base/gsttypefindhelper.c:
5237         * gst/base/gsttypefindhelper.h:
5238         * gst/check/Makefile.am:
5239         * gst/check/gstcheck.c:
5240         * gst/check/gstcheck.h:
5241         * gst/net/Makefile.am:
5242         * gst/net/gstnet.h:
5243         * gst/net/gstnetclientclock.c:
5244         * gst/net/gstnetclientclock.h:
5245         * gst/net/gstnettimepacket.c:
5246         * gst/net/gstnettimepacket.h:
5247         * gst/net/gstnettimeprovider.c:
5248         * gst/net/gstnettimeprovider.h:
5249         * libs/gst/Makefile.am:
5250         * libs/gst/base/Makefile.am:
5251         * libs/gst/base/gstbasetransform.c:
5252         * libs/gst/check/Makefile.am:
5253         * plugins/elements/Makefile.am:
5254         * po/POTFILES.in:
5255           CVS surgery + support to move base, check, and net out of gst
5256           and into libs/gst
5257
5258 2005-11-29  Andy Wingo  <wingo@pobox.com>
5259
5260         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5261
5262         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5263         padding.
5264
5265         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5266
5267         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5268
5269         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5270
5271         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5272         padding; reduces object size by about 30%. We don't expect
5273         anything else to go into gstobject.
5274
5275         * gst/gstminiobject.h (struct _GstMiniObject)
5276         (struct _GstMiniObjectClass): Only one pointer of padding; the
5277         payload is only a pointer and two ints anyway. For the class there
5278         are only two methods as well.
5279         
5280         * gst/gstelement.h (struct _GstElementClass): Removed
5281         the state_changed signal callback, it is not used.
5282
5283 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5284
5285         * docs/gst/gstreamer.types:
5286           fix includes, though they are a little dinky
5287
5288 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5289
5290         * check/Makefile.am:
5291           look in the right place for elements, a lot more chance of
5292           success
5293         * gst/Makefile.am:
5294           remove indexers and elements subdirs
5295         * plugins/Makefile.am:
5296           make indexers conditional
5297
5298 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5299
5300         * Makefile.am:
5301         * configure.ac:
5302         * plugins/elements/Makefile.am:
5303         * plugins/elements/gstcapsfilter.c:
5304         * plugins/elements/gstfilesink.c:
5305         * plugins/elements/gstfilesrc.c:
5306         * plugins/elements/gstidentity.c:
5307         * plugins/indexers/Makefile.am:
5308           do CVS surgery and related build fixery to move elements
5309           and indexers in a new gstreamer/plugins directory, out of the
5310           gst/ directory
5311
5312 2005-11-29  Andy Wingo  <wingo@pobox.com>
5313
5314         * check/Makefile.am:
5315         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5316         * pkgconfig/gstreamer-net.pc.in:
5317         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5318         #322257.
5319
5320 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5321
5322         * tools/Makefile.am:
5323         * tools/gst-complete.1.in:
5324         * tools/gst-complete.c:
5325         * tools/gst-compprep.1.in:
5326         * tools/gst-compprep.c:
5327           removing -compprep and -complete
5328
5329 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5330
5331         * gst/gstevent.c: (gst_event_new_new_segment),
5332         (gst_event_parse_new_segment):
5333         * gst/gstevent.h:
5334           fix #320529 - clean up new_segment API and structure.
5335           Let's hope everyone was using the methods, and not the structure.
5336
5337 2005-11-29  Edward Hervey  <edward@fluendo.com>
5338
5339         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5340         (gst_base_sink_event), (gst_base_sink_do_sync),
5341         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5342         Properly handle non GST_FORMAT_TIME segment
5343         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5344         Properly handle non GST_FORMAT_TIME segment
5345         * gst/gstsegment.c:
5346         This function is valid if the accumulator is 0 and the format
5347         is different from the requested format.
5348         
5349 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5350
5351         * docs/gst/gstreamer-sections.txt:
5352         Add gst_query_new_seeking and gst_query_parse_seeking to the
5353         docs.
5354
5355 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5356
5357         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5358           Treat a pad alloc with new caps the same as if we were not
5359           negotiated, in order to allow a changing upstream output
5360           to produce a new format of data.
5361
5362 2005-11-29  Edward Hervey  <edward@fluendo.com>
5363
5364         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5365         (gst_base_transform_event), (gst_base_transform_eventfunc):
5366         The event virtual method is now properly implemented, with a default
5367         handler
5368         Sub classes should call the parent_class event method. They should
5369         return FALSE if they had a problem handling the given event, or don't
5370         want GstBaseTransform to send that even downstream
5371         * gst/elements/gstidentity.c: (gst_identity_class_init),
5372         (gst_identity_init), (gst_identity_event),
5373         (gst_identity_transform_ip), (gst_identity_set_property),
5374         (gst_identity_get_property):
5375         * gst/elements/gstidentity.h:
5376         Added the single-segment boolean property.
5377         If set to TRUE, it will output a single segment of data, starting from
5378         0, will eat up all incoming newsegment, and modify the timestamp of the
5379         buffers accordingly
5380
5381 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
5382
5383         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5384           Don't ref NULL target pad (#322751). Improve docs.
5385
5386 2005-11-29  Michael Smith  <msmith@fluendo.com>
5387
5388         * gst/gstregistryxml.c: (load_plugin):
5389           Don't crash if we failed to load a feature from a plugin. 
5390
5391 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5392
5393         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5394         (GST_START_TEST):
5395           use more check API and less GLib API
5396
5397 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5398
5399         * Makefile.am:
5400           don't run checks if we don't have check
5401         * common/check.mak:
5402           remove the registry when running make torture
5403         * docs/gst/gstreamer-sections.txt:
5404           remove second multiply
5405         * gst/gstqueue.c: (gst_queue_loop):
5406           fix a compile warning when disabling debug
5407
5408 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5409
5410         * gst/gstinfo.h:
5411         Hey! Let's print the pad name if the pointer != NULL instead
5412         of when it == NULL :-)
5413
5414 2005-11-28  Wim Taymans  <wim@fluendo.com>
5415
5416         * check/gst/gstutils.c: (GST_START_TEST):
5417         Updated check, add some scaling accuracy checking code.
5418
5419         * gst/gstutils.c: (gst_util_div128_64),
5420         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5421         (gst_util_uint64_scale_int):
5422         Fix 6 times faster division code. Optimize for common 
5423         1/1 and less common X/1 cases.
5424
5425 2005-11-28  Wim Taymans  <wim@fluendo.com>
5426
5427         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5428         More checks.
5429
5430         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5431         (do_linear_regression), (gst_clock_add_observation):
5432         Cleanups.
5433         Release lock when the clock cannot be slaved.
5434         Catch the case where the regression returned an invalid denominator.
5435
5436         * gst/gstutils.c: (gst_util_div128_64_iterate),
5437         (gst_util_div128_64), (gst_util_uint64_scale_int64),
5438         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5439         Add protentially more performant non-iterative 128/64 divide function
5440         that unfortunatly does not work yet.
5441         Shortcut the trivial 0/X = 0 case.
5442         Remove the warnings on overflow.
5443
5444 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5445
5446         * gst/gstplugin.c: (gst_plugin_register_func):
5447           everything causing a plugin not to load should be at least a WARNING
5448
5449 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
5450
5451         * docs/random/ensonic/dparams.txt:
5452           some TODOs for the next dev cycle
5453         * libs/gst/controller/gstcontroller.c:
5454         (gst_controlled_property_set_interpolation_mode),
5455         (gst_controlled_property_new):
5456         * libs/gst/controller/gstcontroller.h:
5457           use base type to assign acccessor functions
5458
5459 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5460
5461         * check/Makefile.am:
5462         Oops, that should have been top_srcdir
5463
5464 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5465
5466         * check/Makefile.am:
5467         * check/elements/fdsrc.c: (GST_START_TEST):
5468         Use a cmdline define to specify the location of a file to use for
5469         testing, to avoid breaking distcheck.
5470
5471 2005-11-28  Andy Wingo  <wingo@pobox.com>
5472
5473         * gst/gstpad.c (fixate_value): Use array functions for arrays.
5474
5475 2005-11-28  Edward Hervey  <edward@fluendo.com>
5476
5477         * tools/gst-launch.c: (main):
5478         Clarify the output strings, makes it easier to translate.
5479         Fixes #322626
5480
5481 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5482
5483         * gst/Makefile.am:
5484           don't try and build net if we don't even have <sys/socket.h>
5485
5486 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
5487
5488         * check/Makefile.am:
5489         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5490         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5491           Add tests for fdsrc seekability
5492
5493         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5494         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5495         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5496         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5497         * gst/elements/gstfdsrc.h:
5498           fdsrc should not be a 'live' source.
5499           Implement seeking on seekable fd's.
5500
5501         * gst/gstquery.c: (gst_query_new_seeking),
5502         (gst_query_parse_seeking):
5503         * gst/gstquery.h:
5504           Implement SEEKING query functions: 
5505             *_new_seeking and *_parse_seeking
5506
5507 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
5508
5509         * gst/gstelement.c: (gst_element_dispose):
5510           don't loop forever
5511
5512         * gst/gstiterator.c:
5513         * gst/gststructure.c:
5514           doc fixes
5515
5516         * libs/gst/controller/gstcontroller.c:
5517         (gst_controlled_property_set_interpolation_mode):
5518         * libs/gst/controller/gstcontroller.h:
5519         * libs/gst/controller/gstinterpolation.c:
5520         (interpolate_none_get_enum_value_array):
5521           support controlling enums
5522
5523 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5524
5525         * gst/gstvalue.c:
5526           Improve documentation for gst_value_union().
5527
5528         * gst/gstvalue.h:
5529           Change return value for union, intersect and subtract functions
5530           from gint to gboolean.
5531
5532 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5533
5534         * gst/gstvalue.c: (gst_value_serialize_any_list),
5535         (gst_value_transform_any_list_string),
5536         (gst_value_deserialize_list), (gst_value_deserialize_array),
5537         (gst_value_set_int_range), (gst_value_deserialize_int_range),
5538         (gst_value_set_double_range), (gst_value_deserialize_double_range),
5539         (gst_value_set_fraction_range_full),
5540         (gst_value_deserialize_fraction_range),
5541         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5542         (gst_value_deserialize_boolean),
5543         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5544         (gst_value_serialize_float), (gst_value_deserialize_float),
5545         (gst_string_wrap), (gst_value_deserialize_string),
5546         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5547         (gst_value_union_int_range_int_range),
5548         (gst_value_intersect_int_range_int_range),
5549         (gst_value_intersect_double_range_double_range),
5550         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5551         (gst_value_subtract_int_range_int_range),
5552         (gst_value_subtract_double_double_range),
5553         (gst_value_subtract_double_range_double_range),
5554         (gst_value_deserialize_fraction):
5555         * gst/gstvalue.h:
5556           Use gint, gdouble and gchar in our API instead of int, double and
5557           char (and make usage in gstvalue.c more consistent).
5558
5559 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5560
5561         * check/Makefile.am:
5562         * libs/gst/controller/Makefile.am:
5563         * libs/gst/dataprotocol/Makefile.am:
5564           fix up Makefile.am and remove GST_ENABLE_NEW
5565
5566 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5567
5568         * configure.ac:
5569         * gst/Makefile.am:
5570         * gst/base/Makefile.am:
5571         * gst/check/Makefile.am:
5572         * gst/elements/Makefile.am:
5573         * gst/net/Makefile.am:
5574           update LDFLAGS use some more
5575
5576 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5577
5578         * common/m4/gst-doc.m4:
5579           Fixes #312589
5580
5581 2005-11-26  Edward Hervey  <edward@fluendo.com>
5582
5583         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5584         This shouldn't issue a g_warning since it returns NULL if it
5585         couldn't find the plugin, and all functions using this behave
5586         properly on a NULL return. Switching to a GST_WARNING.
5587
5588 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
5589
5590         * gst/gstbin.c: (gst_bin_handle_message_func):
5591         Don't leak clock messages.
5592
5593 2005-11-25  Wim Taymans  <wim@fluendo.com>
5594
5595         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5596         (gst_util_uint64_scale_int):
5597         Optimisations, remove unneeded vars.
5598
5599 2005-11-25  Wim Taymans  <wim@fluendo.com>
5600
5601         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5602         Added more checks for the high precision uint64 cases.
5603
5604         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5605         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5606         Implement high precision (guint64 * guint64) / guint64.
5607
5608 2005-11-24  Wim Taymans  <wim@fluendo.com>
5609
5610         * gst/base/gstbasesrc.c: (gst_base_src_query):
5611         Fix wrong percentage query.
5612
5613         * gst/gstutils.c: (gst_util_uint64_scale),
5614         (gst_util_uint64_scale_int):
5615         Add some more common cases that can be handled 
5616         efficiently to _scale.
5617
5618 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5619
5620         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5621         (gst_mini_object_suite):
5622           don't use check calls from threads; check probably isn't
5623           threadsafe and using a lock to make it threadsafe would
5624           defeat the purpose of this check
5625         * gst/check/gstcheck.c:
5626         * gst/check/gstcheck.h:
5627           use GST_DEBUG some more
5628
5629 2005-11-24  Wim Taymans  <wim@fluendo.com>
5630
5631         * gst/gstutils.c: (gst_util_uint64_scale),
5632         (gst_util_uint64_scale_int):
5633         Chain trivial case to _scale_int.
5634
5635 2005-11-24  Wim Taymans  <wim@fluendo.com>
5636
5637         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5638         Added test for scaling.
5639
5640         * gst/gstclock.h:
5641         Small doc fix.
5642
5643         * gst/gstutils.c: (gst_util_uint64_scale_int):
5644         Implemented high precision scaling code.
5645
5646 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
5647
5648         * gst/gstinfo.h:
5649           do not crash on pad==NULL
5650
5651 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5652
5653         Patch by: Stefan Kost
5654
5655         * common/gtk-doc.mak:
5656         * docs/gst/Makefile.am:
5657         * docs/libs/Makefile.am:
5658           Fix distcheck issues for the libraries docs build
5659           Closes #319599.
5660
5661 2005-11-24  Michael Smith <msmith@fluendo.com>
5662
5663         * docs/manual/basics-helloworld.xml:
5664           Fix bug #315027: memory leak in example code in docs.
5665
5666 2005-11-24  Michael Smith <msmith@fluendo.com>
5667
5668         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5669           Unlock the PREROLL_LOCK in a failure case.
5670
5671 2005-11-24  Wim Taymans  <wim@fluendo.com>
5672
5673         * docs/gst/gstreamer-sections.txt:
5674         * gst/base/gstadapter.h:
5675         * gst/base/gstbasesink.h:
5676         * gst/base/gstbasesrc.h:
5677         * gst/base/gstbasetransform.h:
5678         * gst/base/gstpushsrc.h:
5679         * gst/elements/gstfakesink.h:
5680         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5681         * gst/elements/gstfakesrc.h:
5682         * gst/elements/gstfilesink.h:
5683         * gst/elements/gstfilesrc.h:
5684         * gst/gst.c:
5685         * gst/gstbin.c:
5686         * gst/gstbuffer.c: (_gst_buffer_copy):
5687         * gst/gstbus.h:
5688         * gst/gstcaps.c:
5689         * gst/gstchildproxy.c:
5690         * gst/gstclock.c:
5691         * gst/gstelement.c:
5692         * gst/gstelementfactory.c:
5693         * gst/gstelementfactory.h:
5694         * gst/gstevent.c:
5695         * gst/gstghostpad.h:
5696         * gst/gstindex.h:
5697         * gst/gstinterface.h:
5698         * gst/gstminiobject.c:
5699         * gst/gstminiobject.h:
5700         * gst/gstpad.c:
5701         * gst/gstpad.h:
5702         * gst/gstpadtemplate.h:
5703         * gst/gstpipeline.h:
5704         * gst/gstpluginfeature.h:
5705         * gst/gstquery.h:
5706         * gst/gstqueue.h:
5707         * gst/gsttaglist.c:
5708         * gst/gsttaglist.h:
5709         * gst/gsttagsetter.c:
5710         * gst/gsttagsetter.h:
5711         * gst/gsttrace.c:
5712         * gst/gsttrace.h:
5713         * gst/gsttypefind.h:
5714         * gst/gsturi.h:
5715         * gst/gstvalue.c:
5716         * gst/net/gstnetclientclock.c:
5717         * gst/net/gstnetclientclock.h:
5718         * gst/net/gstnettimepacket.c:
5719         * gst/net/gstnettimeprovider.c:
5720         * gst/net/gstnettimeprovider.h:
5721         Doc fixes.
5722
5723 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5724
5725         * configure.ac: back to HEAD
5726
5727 === release 0.9.6 ===
5728
5729 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
5730
5731         * configure.ac:
5732           releasing 0.9.6, "Always On Time"
5733
5734 2005-11-23  Wim Taymans  <wim@fluendo.com>
5735
5736         * docs/gst/gstreamer-sections.txt:
5737         * gst/glib-compat.c:
5738         * gst/gsttagsetter.c:
5739         * gst/gstvalue.c:
5740         * gst/net/gstnetclientclock.c:
5741         * gst/net/gstnettimepacket.h:
5742         Doc updates.
5743
5744 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5745
5746         * docs/faq/using.xml:
5747         * docs/libs/tmpl/gstcontrol.sgml:
5748         * docs/manual/advanced-dparams.xml:
5749         * docs/manual/appendix-checklist.xml:
5750         * docs/manual/basics-elements.xml:
5751         * docs/pwg/other-source.xml:
5752         * docs/random/moving-plugins:
5753         * gst/gstpad.c:
5754         * tools/gst-launch.1.in:
5755           remove mentions of sinesrc
5756
5757 2005-11-23  Michael Smith <msmith@fluendo.com>
5758
5759         * docs/gst/gstreamer-sections.txt:
5760           Update for new API and API changes.
5761         * gst/gstobject.h:
5762           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5763         * gst/gstvalue.c:
5764           Documentation typo fix.
5765         * gst/net/gstnettimepacket.c:
5766           Documentation fixes for arguments.
5767
5768 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
5769
5770         * gst/gststructure.c: (gst_structure_get_fraction),
5771         (gst_structure_parse_value),
5772         (gst_structure_fixate_field_nearest_fraction):
5773         * gst/gststructure.h:
5774         * gst/gstutils.c: (gst_util_uint64_scale_int):
5775         * gst/gstutils.h:
5776         * scripts/update-funcnames:
5777         API Changes. 
5778         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
5779         Make gst_structure_fixate_field_nearest_fraction take a numerator
5780         and denominator argument instead of a GValue
5781         add gst_structure_get_fraction helper function.
5782
5783 2005-11-23  Wim Taymans  <wim@fluendo.com>
5784
5785         * docs/design/part-TODO.txt:
5786         Update TODO.
5787
5788         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5789         * gst/net/gstnetclientclock.h:
5790         Use parent fields for timeout and window_size.
5791
5792 2005-11-23  Andy Wingo  <wingo@pobox.com>
5793
5794         * check/net/gstnetclientclock.c (test_functioning): Adjust to
5795         rate_num/rate_denom change.
5796
5797         * gst/net/gstnetclientclock.c
5798         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
5799         OBJECT_LOCK. Don't call add_observation with the lock.
5800
5801         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
5802         fraction.
5803         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
5804         rate fraction.
5805         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
5806         deal with rate as a fraction whose numerator and denominator are
5807         GstClockTime values.
5808         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
5809         master; the other fields are protected by the SLAVE_LOCK.
5810         (do_linear_regression): Note that this must be called with the
5811         SLAVE_LOCK.
5812         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
5813         OBJECT_LOCK. Call set_calibration instead of touching the
5814         variables directly.
5815         (gst_clock_set_property, gst_clock_get_property): Protect
5816         master/slave parameters with the SLAVE_LOCK.
5817
5818         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
5819         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
5820         note that all of the instance variables that add_observation and
5821         the set_master functions use are protected by that lock and not
5822         the OBJECT_LOCK.
5823         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
5824
5825         * gst/gstclock.c (gst_clock_add_observation): No longer requires
5826         the caller to take the object lock.
5827
5828 2005-11-23  Wim Taymans  <wim@fluendo.com>
5829
5830         * gst/gsterror.c: (_gst_core_errors_init):
5831         * gst/gsterror.h:
5832         Add error for clock stuff.
5833
5834         * gst/gstpipeline.c: (gst_pipeline_change_state),
5835         (gst_pipeline_set_clock):
5836         Post clock error when clock cannot be used in a pipeline.
5837
5838 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
5839
5840         * docs/gst/gstreamer-sections.txt:
5841           make two symbols from gstinfo private for the docs
5842         * gst/base/gstcollectpads.h:
5843         * gst/gstutils.c:
5844           fix doc typos, update docs
5845
5846 2005-11-22  Wim Taymans  <wim@fluendo.com>
5847
5848         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5849         (gst_base_sink_wait), (gst_base_sink_do_sync),
5850         (gst_base_sink_handle_event):
5851         * gst/base/gstbasesink.h:
5852         No need to store the clock, the parent element class already
5853         has it.
5854
5855         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
5856         Updates for clock_set returning a gboolean
5857
5858         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
5859         (gst_clock_id_wait_async), (gst_clock_class_init),
5860         (gst_clock_init), (gst_clock_finalize),
5861         (gst_clock_get_internal_time), (gst_clock_get_time),
5862         (gst_clock_slave_callback), (gst_clock_set_master),
5863         (gst_clock_get_master), (do_linear_regression),
5864         (gst_clock_add_observation), (gst_clock_set_property),
5865         (gst_clock_get_property):
5866         * gst/gstclock.h:
5867         Implement master/slave. When setting a clock as a slave, a
5868         periodic timeout is scheduled to sample master and slave times.
5869         Then the slave clock is recalibrated to match offset and rate
5870         of the master clock.
5871         Update logging a bit.
5872         Add flag so that a clock can state that is cannot be slaved to
5873         another clock.
5874
5875         * gst/gstelement.c: (gst_element_set_clock):
5876         * gst/gstelement.h:
5877         The set clock returns a gboolean for when an element cannot
5878         deal with the selected clock in the pipeline. 
5879
5880         * gst/gstpipeline.c: (gst_pipeline_change_state),
5881         (gst_pipeline_set_clock):
5882         * gst/gstpipeline.h:
5883         Handle the case where the selected clock cannot be set on
5884         the pipeline.
5885
5886         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
5887         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
5888         (gst_net_client_clock_set_property),
5889         (gst_net_client_clock_get_property),
5890         (gst_net_client_clock_observe_times):
5891         * gst/net/gstnetclientclock.h:
5892         Use regression code in GstClock parent, remove duplicated
5893         functionality.
5894
5895 2005-11-22  Michael Smith <msmith@fluendo.com>
5896
5897         * gst/gstutils.c: (gst_util_clock_time_scale):
5898         * gst/gstutils.h:
5899         * docs/gst/gstreamer-sections.txt:
5900           Rename method to have extra underscore.
5901
5902 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5903
5904         * gst/elements/Makefile.am:
5905         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
5906         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5907         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
5908         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
5909         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
5910         * gst/elements/gstfakesrc.h:
5911         * gst/gstqueue.c: (queue_leaky_get_type):
5912           correctly fix GEnumValues so that nick is the short lowercase
5913           dashed tag
5914         * tools/gst-inspect.c: (print_element_properties_info):
5915           also show the nick, since it's useful to use from parse_launch
5916           syntax
5917           Fixes #322139
5918
5919 2005-11-22  Michael Smith <msmith@fluendo.com>
5920
5921         * gst/gstutils.c: (gst_util_clocktime_scale):
5922         * gst/gstutils.h:
5923         * docs/gst/gstreamer-sections.txt:
5924           Add util method for scaling a clocktime by a fraction. Useful 
5925           implementation is left as an exercise for the reader.
5926
5927 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5928
5929         * gst/gstvalue.c: (gst_value_collect_fraction_range):
5930         If needed, allocate storage in the destination value during
5931         collection.
5932
5933 2005-11-22  Edward Hervey  <edward@fluendo.com>
5934
5935         * docs/gst/gstreamer-sections.txt:
5936         * gst/Makefile.am:
5937         * gst/gst.h:
5938         * gst/gsturitype.c:
5939         * gst/gsturitype.h:
5940         * gst/gstutils.c: (gst_util_set_object_arg):
5941         * tools/gst-compprep.c: (main):
5942         * tools/gst-inspect.c: (print_element_properties_info):
5943         Removed GstURI, closes bug #321061
5944
5945 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5946
5947         * check/gst/gststructure.c: (GST_START_TEST):
5948         * gst/gststructure.c: (gst_structure_parse_value):
5949           Oops, broke automatic string type parsing.
5950           Add a test to catch it in future.
5951
5952 2005-11-22  Andy Wingo  <wingo@pobox.com>
5953
5954         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
5955         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
5956         Actually rename the function implementations. Grr.
5957
5958 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5959
5960         * check/gst/capslist.h:
5961           Comment test cases
5962         * check/gst/gststructure.c: (GST_START_TEST),
5963         (gst_structure_suite):
5964           Test automatic value type detection in gst_structure_from_string.
5965         * gst/gststructure.c: (gst_structure_parse_value):
5966           Add fraction as a type we try and guess automatically in
5967           caps/structure strings.
5968
5969 2005-11-22  Andy Wingo  <wingo@pobox.com>
5970
5971         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
5972
5973         * gst/gsttagsetter.h:
5974         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
5975         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
5976         (gst_tag_setter_add_tag_valist)
5977         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
5978         _add_values, _add_valist, and _add_valist_values. Since this is an
5979         interface the function suffixes should be more explicit so
5980         language binding don't end up with element.add_valist ->
5981         gst_tag_setter_add_valist, for example. Fixes #322069.
5982
5983 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
5984
5985         * check/gst/gstcaps.c: (GST_START_TEST):
5986           Extend caps string tests to check that a caps to string
5987           conversion is reversible and produces the same caps.
5988
5989         * gst/gststructure.c: (gst_structure_value_get_generic_type):
5990           Output "fraction" as the generic type fraction range, so caps
5991           serialisation and deserialisation works.
5992         * check/gst/capslist.h:
5993         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5994           Support 'MIN' and 'MAX' for deserialising fractions.
5995
5996 2005-11-22  Andy Wingo  <wingo@pobox.com>
5997
5998         * gst/gstevent.h (gst_event_new_new_segment)
5999         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6000         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6001         Renamed from *_newsegment, *_buffersize, *_notarget.
6002
6003         * scripts/update-funcnames: New script, performs the changes
6004         listed above.
6005
6006 2005-11-22  Wim Taymans  <wim@fluendo.com>
6007
6008         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6009         Make sure the GstFlowReturn is returned.
6010
6011         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6012         (gst_bus_add_signal_watch):
6013         * gst/gstbus.h:
6014         add gst_bus_add_signal_watch_full.
6015
6016         * gst/gstplugin.c: (gst_plugin_load_file):
6017         Small style cleanup.
6018
6019 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6020
6021         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6022           Block the fakesrc srcpad when we send an event, to avoid
6023           contention on the stream_lock causing random test failures.
6024
6025 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6026
6027         * check/gst/gstvalue.c: (GST_START_TEST):
6028         * gst/gstvalue.c: (gst_value_fraction_subtract):
6029           Fix subtraction.
6030
6031 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
6032
6033         * gst/gst.h:
6034           include "gstchildproxy.h"
6035         * gst/gstchildproxy.h:
6036         * libs/gst/controller/gstcontroller.h:
6037           use G_GNUC_NULL_TERMINATED
6038
6039 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6040
6041         * check/gst/capslist.h:
6042         * check/gst/gstcaps.c: (GST_START_TEST):
6043         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6044         * gst/gststructure.c: (gst_structure_parse_range),
6045         (gst_structure_fixate_field_nearest_fraction):
6046         * gst/gststructure.h:
6047         * gst/gstvalue.c: (gst_value_init_fraction_range),
6048         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6049         (gst_value_collect_fraction_range),
6050         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6051         (gst_value_set_fraction_range_full),
6052         (gst_value_get_fraction_range_min),
6053         (gst_value_get_fraction_range_max),
6054         (gst_value_serialize_fraction_range),
6055         (gst_value_transform_fraction_range_string),
6056         (gst_value_compare_fraction_range),
6057         (gst_value_deserialize_fraction_range),
6058         (gst_value_intersect_fraction_fraction_range),
6059         (gst_value_intersect_fraction_range_fraction_range),
6060         (gst_value_subtract_fraction_fraction_range),
6061         (gst_value_subtract_fraction_range_fraction),
6062         (gst_value_subtract_fraction_range_fraction_range),
6063         (gst_value_collect_fraction), (gst_value_fraction_multiply),
6064         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6065         (gst_value_transform_string_fraction), (_gst_value_initialize):
6066         * gst/gstvalue.h:
6067           Implement fraction ranges and extend GstFraction to support
6068           arithmetic subtraction, as well as deserialization from integer
6069           strings such as "100"
6070           Add a testsuite as for int and double range set operations
6071
6072 2005-11-21  Andy Wingo  <wingo@pobox.com>
6073
6074         * gst/gsttaglist.h: 
6075         * gst/gstcaps.h: 
6076         * gst/gststructure.h: Add glib-compat.h.
6077
6078 2005-11-21  Wim Taymans  <wim@fluendo.com>
6079
6080         * gst/gstbin.c: (gst_bin_change_state_func):
6081         Fix for #321595
6082
6083 2005-11-21  Wim Taymans  <wim@fluendo.com>
6084
6085         * gst/gstsegment.h:
6086         And add a nice define too.
6087
6088 2005-11-21  Wim Taymans  <wim@fluendo.com>
6089
6090         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6091         (gst_segment_new), (gst_segment_free), (gst_segment_init),
6092         (gst_segment_set_duration), (gst_segment_set_last_stop),
6093         (gst_segment_set_seek), (gst_segment_set_newsegment),
6094         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6095         (gst_segment_clip):
6096         * gst/gstsegment.h:
6097         Make binding friendly.
6098
6099 2005-11-21  Andy Wingo  <wingo@pobox.com>
6100
6101         * gst/gsttagsetter.h: 
6102         * gst/gsttaglist.h: 
6103         * gst/gststructure.h: 
6104         * gst/gstcaps.h: 
6105         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6106         #319940.
6107
6108         * gst/gsterror.c (_gst_core_errors_init):
6109         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6110         category.
6111
6112         * gst/Makefile.am (gst_headers): Add glib-compat.h.
6113         (noinst_HEADERS): noinst the -private.
6114
6115 2005-11-21  Michael Smith <msmith@fluendo.com>
6116
6117         * gst/gstplugin.h:
6118         * gst/gstregistry.h:
6119           Remove unimplemented declarations for which we can see no sensible
6120           use.
6121
6122 2005-11-21  Andy Wingo  <wingo@pobox.com>
6123
6124         * gst/gst.h: Include glib-compat.h.
6125
6126         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6127
6128         * gst/glib-compat.c: Include the public and the private header.
6129
6130         * gst/glib-compat-private.h: Copied here from glib-compat.h.
6131
6132         * gst/gstvalue.c: 
6133         * gst/gstpad.c: 
6134         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6135
6136         * check/gst/gstevent.c (create_custom_events): Check that
6137         FLUSH_STOP is serialized.
6138
6139         * check/elements/identity.c (event_func): 
6140         * check/elements/fakesrc.c (event_func): No stream lock, the core
6141         takes it.
6142
6143         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6144         stream lock taking, yay.
6145
6146         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6147         ensure that core takes the stream lock.
6148
6149         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6150         lock name change.
6151
6152         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6153         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6154         it already. For the flush start we do take it though so we get the
6155         right preroll state change messages.
6156
6157         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6158         the stream lock here, the core does it for us.
6159
6160         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6161         GST_STREAM_GET_LOCK.
6162         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6163         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6164         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6165         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6166         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6167         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6168
6169         * gst/gstpad.c: Update for stream lock name change.
6170
6171         * gst/base/gstbasesink.c: Update for preroll lock name change.
6172
6173 2005-11-21  Wim Taymans  <wim@fluendo.com>
6174
6175         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6176         (gst_clock_get_master):
6177         * gst/gstclock.h:
6178         * gst/gstsystemclock.c: (gst_system_clock_init):
6179         Convert Clock flags to object flags.
6180         Added methods to manage master/slave clocks.
6181
6182 2005-11-21  Wim Taymans  <wim@fluendo.com>
6183
6184         * check/gst/gstsegment.c: (GST_START_TEST):
6185         * docs/design/part-TODO.txt:
6186         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6187         (gst_base_sink_event), (gst_base_sink_do_sync),
6188         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6189         (gst_base_sink_query), (gst_base_sink_change_state):
6190         * gst/base/gstbasesink.h:
6191         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6192         (gst_base_src_default_newsegment),
6193         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6194         (gst_base_src_get_range), (gst_base_src_loop),
6195         (gst_base_src_change_state):
6196         * gst/base/gstbasesrc.h:
6197         * gst/base/gstbasetransform.c:
6198         (gst_base_transform_prepare_output_buf),
6199         (gst_base_transform_event), (gst_base_transform_change_state):
6200         * gst/base/gstbasetransform.h:
6201         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6202         (gst_collect_pads_event):
6203         * gst/base/gstcollectpads.h:
6204         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6205         (gst_fake_src_create):
6206         * gst/elements/gstfakesrc.h:
6207         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6208         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6209         (gst_segment_set_last_stop), (gst_segment_set_seek),
6210         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6211         (gst_segment_to_running_time), (gst_segment_clip):
6212         * gst/gstsegment.h:
6213         More segment updates, replace code in plugins with segment
6214         helper functions.
6215
6216 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6217
6218         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6219         Don't ignore sscanf results
6220
6221 2005-11-21  Andy Wingo  <wingo@pobox.com>
6222
6223         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6224
6225         * *.h:
6226         * *.c: Ran scripts/update-macros. Oh yes.
6227
6228         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6229         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6230         GST_GET_LOCK, etc.
6231
6232         * scripts/update-macros: New script. Run it on your files to
6233         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6234         well.
6235
6236 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6237
6238         * docs/gst/Makefile.am:
6239         * docs/gst/gstreamer-docs.sgml:
6240         * docs/gst/gstreamer-sections.txt:
6241         * docs/gst/gstreamer.types:
6242         * gst/gstinfo.h:
6243           more docs fixes, add new api to the docs
6244
6245 2005-11-21  Andy Wingo  <wingo@pobox.com>
6246
6247         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6248         state_broadcast call.
6249
6250         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6251
6252 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6253
6254         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6255         function calls for arrays.
6256
6257 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6258
6259         * docs/random/ensonic/media-device-daemon.txt:
6260           wild idea, can this be done?
6261         * docs/gst/gstreamer-sections.txt:
6262         * gst/gsterror.h:
6263         * gst/gstfilter.c:
6264         * gst/gstfilter.h:
6265         * gst/gstplugin.h:
6266         * gst/gstpluginfeature.c:
6267         * gst/gsttrace.c:
6268         * gst/gstvalue.c:
6269         * gst/gstvalue.h:
6270           doc fixes and additions
6271
6272 2005-11-21  Andy Wingo  <wingo@pobox.com>
6273
6274         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6275         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6276         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6277         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6278         private to the basesrc implementation.
6279
6280         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6281         behalf of event function if necessary. It should no longer be
6282         necessary to take the stream lock in pad's event functions. Fixes
6283         #320299.
6284
6285 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6286         * docs/gst/gstreamer-sections.txt:
6287         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6288         (gst_structure_fixate_field_nearest_double),
6289         (gst_structure_fixate_field_boolean):
6290         * gst/gststructure.h:
6291         * win32/common/libgstreamer.def:
6292         * win32/gstreamer.def:
6293
6294         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6295         (#322027)
6296
6297 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6298
6299         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6300         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6301         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6302         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6303         (gst_fdsrc_uri_handler_init):
6304         * gst/elements/gstfdsrc.h:
6305           Port fd:// URI handler from 0.8 to fdsrc
6306
6307 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6308
6309         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6310         (gst_value_serialize_fourcc):
6311         * gst/gstvalue.h:
6312           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6313           consistent with our other format defines (#320324).
6314
6315 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6316
6317         * gst/gstvalue.c: (gst_value_is_fixed):
6318           Revert previous commit. Value lists are by definition
6319           not fixed, as they are a list of possible values.
6320
6321 2005-11-21  Andy Wingo  <wingo@pobox.com>
6322
6323         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6324         during the stable series if we need it. Fixes #319178.
6325
6326         * gst/gstevent.c (gst_event_new_filler): Removed.
6327
6328         * check/gst/gstevent.c: Update comment about filler events.
6329
6330 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6331
6332         * gst/gstvalue.c: (gst_value_is_fixed):
6333           Should handle both value arrays and value lists.
6334
6335 2005-11-21  Andy Wingo  <wingo@pobox.com>
6336
6337         patch by: Alessandro Dessina <alessandro nnva org>
6338
6339         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6340         functions to access arrays. Fixes #321962.
6341
6342 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6343
6344         * docs/gst/gstreamer.types:
6345           gst_collectpads_get_type => gst_collect_pads_get_type.
6346           
6347         * gst/base/gstbasetransform.c:
6348           Remove unused SIGNAL_HANDOFF enum.
6349
6350 2005-11-21  Andy Wingo  <wingo@pobox.com>
6351
6352         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6353         the event type (upstream, downstream, serialized). Renamed
6354         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6355         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6356         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6357
6358         * gst/gstevent.c: Update for new CUSTOM event names.
6359
6360         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6361
6362         * gst/gstevent.h:
6363         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6364         bug #319392.
6365
6366 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6367
6368         * docs/gst/gstreamer-sections.txt:
6369         * win32/common/libgstbase.def:
6370         * win32/libgstbase.def:
6371         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6372         (gst_collect_pads_class_init), (gst_collect_pads_init),
6373         (gst_collect_pads_finalize), (gst_collect_pads_new),
6374         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6375         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6376         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6377         (gst_collect_pads_start), (gst_collect_pads_stop),
6378         (gst_collect_pads_peek), (gst_collect_pads_pop),
6379         (gst_collect_pads_available), (gst_collect_pads_read),
6380         (gst_collect_pads_flush), (gst_collect_pads_event),
6381         (gst_collect_pads_chain):
6382         * gst/base/gstcollectpads.h:
6383           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6384           unimplemented functions as unimplemented. Add padding to
6385           GstCollectData. (#320766, #320423)
6386
6387 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6388
6389         * gst/gstmessage.c:
6390           Improve docs for DURATION message (usage of duration parameter)
6391           (#320113)
6392
6393 2005-11-20  Wim Taymans  <wim@fluendo.com>
6394
6395         * check/Makefile.am:
6396         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6397         (main):
6398         * gst/Makefile.am:
6399         * gst/gst.h:
6400         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6401         (gst_segment_set_seek), (gst_segment_set_newsegment),
6402         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6403         (gst_segment_clip):
6404         * gst/gstsegment.h:
6405         Added segment helper structure and methods. Not fully implemented
6406         yet.
6407         Added segment check.
6408
6409 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
6410
6411         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6412           Add a deserialisation test for fractions
6413         * examples/metadata/read-metadata.c: (message_loop),
6414         (make_pipeline), (main):
6415           Fix up metadata reading sample.
6416         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6417           Debug format fix
6418         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6419           Don't try and fixate empty caps
6420         * gst/gst_private.h:
6421           Wrap in G_BEGIN_DECLS/G_END_DECLS
6422         * gst/gstvalue.c: (gst_value_collect_fraction),
6423         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6424         (gst_value_transform_string_fraction),
6425         (gst_value_compare_fraction):
6426           Add some extra guards to ensure that we don't end up 
6427           with an invalid denominator of 0 in a gstfraction and
6428           that fractions always get reduced.
6429
6430 2005-11-20  Wim Taymans  <wim@fluendo.com>
6431
6432         * docs/gst/gstreamer-sections.txt:
6433         * gst/gstbuffer.h:
6434         * gst/gstelement.c:
6435         * gst/gstformat.c:
6436         * gst/gstformat.h:
6437         * gst/gstindex.h:
6438         * gst/gstquery.c:
6439         * gst/gstquery.h:
6440         * gst/gstvalue.c:
6441         Doc fixes.
6442
6443 2005-11-20  Wim Taymans  <wim@fluendo.com>
6444
6445         * docs/design/part-TODO.txt:
6446         * gst/gstcaps.h:
6447         Make a proper enum of the flag.
6448
6449 2005-11-19  Wim Taymans  <wim@fluendo.com>
6450
6451         * docs/design/part-TODO.txt:
6452         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6453         (gst_format_to_quark), (gst_format_register):
6454         * gst/gstformat.h:
6455         * gst/gstquery.c: (_gst_query_initialize),
6456         (gst_query_type_get_name), (gst_query_type_to_quark),
6457         (gst_query_type_register):
6458         * gst/gstquery.h:
6459         Add type to quark and type to string conversions.
6460
6461 2005-11-19  Andy Wingo  <wingo@pobox.com>
6462
6463         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6464         #320097.
6465
6466 2005-11-19  Wim Taymans  <wim@fluendo.com>
6467
6468         * docs/design/part-TODO.txt:
6469         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6470         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6471         (gst_bin_handle_message_func):
6472         * gst/gstbin.h:
6473         Make message handling overridable.
6474
6475 2005-11-19  Andy Wingo  <wingo@pobox.com>
6476
6477         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6478
6479         * gst/gstclock.h:
6480         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6481         be a GstClockTime.
6482         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6483         is a GstClockTime. Fixes #321710.
6484
6485         * gst/gstclock.h (GstClock): Remove offset property. Add
6486         internal_calibration and external_calibration. Fix padding. Pad
6487         also by GstClockTime so we don't run into problems.
6488
6489         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6490         (gst_clock_get_rate_offset): Remove.
6491         (gst_clock_set_time_adjust): Remove. Fixes #321712.
6492
6493         * gst/gstutils.h:
6494         * gst/gstutils.c (g_static_rec_cond_wait)
6495         (g_static_rec_cond_timed_wait): Removed, no longer needed.
6496
6497         * gst/gstbin.c: Remove terrible continue_state prototype.
6498
6499         * gst/gstelement.h (gst_element_continue_state): Make public.
6500
6501         * gst/gstelement.h:
6502         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6503         by continue_state. Fixes #319389.
6504
6505         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6506         Really fixes #168438. However I don't see anywhere where the
6507         filter function is called... stupid GStreamer...
6508         
6509         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6510         don't have a dispose function, so it won't get called when the
6511         object is unreffed, but oh well!
6512
6513         * gst/gstindex.c (gst_index_set_filter_full): New API function,
6514         allows a destroy function to be set so user_data can be freed.
6515         Fixes #168438.
6516         (gst_index_set_filter): Call gst_index_set_filter_full.
6517
6518         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6519
6520         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6521         string should produce an error, given the lack of a way to
6522         represent NULL strings. Fixes #165650.
6523         
6524         * gst/gstvalue.h: 
6525         * gst/gstvalue.c (gst_value_array_append_value) 
6526         (gst_value_array_prepend_value, gst_value_array_get_size) 
6527         (gst_value_array_get_value): New API, copied from
6528         gst_value_list_*, only operates on arrays.
6529         (gst_value_list_append_value, gst_value_list_prepend_value) 
6530         (gst_value_list_concat, gst_value_list_get_size) 
6531         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6532
6533         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6534         init_list, because it works on both.
6535         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6536         (gst_value_copy_list_or_array): Renamed from copy_list.
6537         (gst_value_free_list_or_array): Renamed from free_list.
6538         (gst_value_collect_list_or_array): Renamed from collect_list.
6539         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6540         (gst_value_list_or_array_peek_pointer): Renamed from
6541         list_peek_pointer.
6542         (_gst_value_array_value_table, _gst_value_list_value_table):
6543         Update value table functions.
6544         (gst_value_compare_list_or_array): Renamed from compare_list.
6545
6546         * gsttaglist.h: Whoops, foreach function returns void. Also fix
6547         some constness.
6548
6549         * gst/gsttaglist.c:
6550         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6551         GstTagList*. Fixes #143472.
6552
6553         * gst/gststructure.h: Clarify what the foreach/map functions can
6554         or can't do to their arguments.
6555
6556 2005-11-18  Wim Taymans  <wim@fluendo.com>
6557
6558         * gst/gstclock.c: (gst_clock_set_calibration),
6559         (gst_clock_get_calibration):
6560         Doc and API fixes.
6561         Calibration can be set with internal time equal to current
6562         internal time too.
6563
6564 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6565
6566         * gst/gsterror.c:
6567         * gst/gsterror.h:
6568           document
6569
6570 2005-11-18  Andy Wingo  <wingo@pobox.com>
6571
6572         * configure.ac: 
6573         * pkgconfig/gstreamer-net.pc.in:
6574         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6575         * pkgconfig/Makefile.am: Add net pkgconfig files.
6576
6577 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
6578
6579         * gst/gstcaps.c:
6580         * gst/gstghostpad.c:
6581         * gst/gsttrace.c:
6582         * gst/gstvalue.c:
6583         * gst/gstvalue.h:
6584           docs fixes
6585
6586 2005-11-18  Andy Wingo  <wingo@pobox.com>
6587
6588         * gst/net/gstnetclientclock.c: Turn off debugging.
6589
6590         * check/net/gstnetclientclock.c (test_functioning): Assert that the
6591         times connverge somewhat. Can't make a real test.
6592
6593         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6594         integer arithmetic. Return the minimum of the domain, which can be
6595         set as "internal" for gst_clock_set_calibration.
6596         (gst_net_client_clock_observe_times): Call _set_calibration.
6597         (gst_net_client_clock_new): Call _set_calibration instead of
6598         rate_offset.
6599
6600         * check/net/gstnetclientclock.c (test_functioning): Use the right
6601         adjustment api.
6602
6603         * gst/gstclock.h:
6604         * gst/gstclock.c (gst_clock_get_calibration) 
6605         (gst_clock_set_calibration): New functions, obsolete the ones I
6606         added yesterday. Doh. Precision issues mean we have to extrapolate
6607         from a point in the more recent past than 1970.
6608         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
6609         obsolete.
6610         (gst_clock_adjust_unlocked): Use the right calibration data.
6611
6612 2005-11-18  Edward Hervey  <edward@fluendo.com>
6613
6614         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
6615         Also reset the ->current_* values in READY->PAUSED
6616
6617 2005-11-18  Andy Wingo  <wingo@pobox.com>
6618
6619         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
6620         Whoops, check the right fd. Also add some debugging.
6621         (gst_net_client_clock_observe_times): Adjust for int64 offset.
6622         (do_linear_regression): Add a crapload of debugging. Subtract off
6623         the minimum values from the input series to discard unneeded bits.
6624         Use only int arithmetic. There is still double arithmetic when
6625         calculating the intercept that needs fixing. Return boolean to
6626         indicate success; FALSE would mean the domain or range is too
6627         great. Still needs fixes.
6628
6629 2005-11-18  Wim Taymans  <wim@fluendo.com>
6630
6631         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6632         For the current position in stream time, we need to subtract
6633         accumulated time.
6634         
6635         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6636         Release lock before calling the callback function of async
6637         entries.
6638
6639 2005-11-18  Andy Wingo  <wingo@pobox.com>
6640
6641         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
6642         Port goes all the way to MAXUINT16.
6643
6644         * gst/net/gstnettimeprovider.c: Make the port range the same as
6645         for the kernel: 0 assigns, otherwise ports are less than
6646         MAXUINT16.
6647
6648         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6649         port change.
6650
6651         * check/net/gstnetclientclock.c (test_functioning): Add the start
6652         of another test. 
6653
6654 2005-11-18  Wim Taymans  <wim@fluendo.com>
6655
6656         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6657         (gst_bin_remove_func), (bin_bus_handler):
6658         * gst/gstbin.h:
6659         Removing a clock provider from a bin, triggers a clock lost message
6660         so that a new clock will be selected.
6661         Adding a clock to a bin triggers a clock provider message.
6662         Make sure we reselect a clock when we received a clock lost message.
6663         Keep a reference to the element that provided the clock.
6664
6665 2005-11-18  Andy Wingo  <wingo@pobox.com>
6666
6667         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6668         the clock initially so it produces values around the base time.
6669         (gst_net_client_clock_class_init): Typo fix.
6670         (gst_net_client_clock_thread): Add note on when the socket gets
6671         closed.
6672
6673 2005-11-17  Wim Taymans  <wim@fluendo.com>
6674
6675         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6676         Free remote and local time arrays.
6677
6678 2005-11-17  Wim Taymans  <wim@fluendo.com>
6679
6680         * gst/net/gstnetclientclock.c: (do_linear_regression),
6681         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6682         Fix compilation, uninitialized vars and a forgotten continue.
6683
6684 2005-11-17  Andy Wingo  <wingo@pobox.com>
6685
6686         * check/Makefile.am (check_PROGRAMS): 
6687         * check/net/gstnetclientclock.c: Add a most minimal test for the
6688         net client clock. More to come later.
6689
6690         * gst/net/gstnet.h: 
6691         * gst/net/Makefile.am: Add netclientclock.
6692
6693         * gst/net/gstnetclientclock.h:
6694         * gst/net/gstnetclientclock.c: New files, implement an untested
6695         GstClock that takes its time from a network time provider.
6696         Implements the algorithm in network-clock.scm.
6697
6698         * tests/network-clock.scm (*window-size*): Rename from
6699         *queue-length*.
6700         * tests/network-clock.scm (network-time): 
6701         * tests/network-clock-utils.scm (q-push): Update callers.
6702
6703 2005-11-17  Wim Taymans  <wim@fluendo.com>
6704
6705         * gst/gstbin.c: (gst_bin_provide_clock_func),
6706         (gst_bin_sort_iterator_new):
6707         And unref the child too..
6708
6709 2005-11-17  Wim Taymans  <wim@fluendo.com>
6710
6711         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6712         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6713         Refactor the sort iterator so it can be used while holding the
6714         LOCK too.
6715         Make clock selection select a clock closest to the source.
6716
6717 2005-11-17  Michael Smith <msmith@fluendo.com>
6718
6719         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6720         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6721         * gst/gstclock.h:
6722           Anonymous structs are a gcc (and some other compilers) extension, so
6723           don't use them. Since this is only for ABI-compatibility, and our
6724           API/ABI freeze is over in a few days, this whole thing will only
6725           last a few days, so don't bother trying to think up a meaningful
6726           name for the struct.
6727
6728 2005-11-17  Andy Wingo  <wingo@pobox.com>
6729
6730         * gst/gstclock.h (GstClock): Add rate and offset properties,
6731         preserving ABI stability. Add rate/offset accessors. Will file bug
6732         for the freeze break.
6733
6734         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6735         and offset, trying to keep precision and avoiding
6736         underflow/overflow.
6737         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6738         functions. Make gst_clock_set_time_adjust obsolete.
6739         (gst_clock_set_time_adjust): Note that this function is obsolete.
6740         Will file bug soon.
6741
6742         * gst/base/gstbasetransform.h: Make the ABI-stability hack
6743         greppable by using GST_PADDING-1+1.
6744
6745 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
6746
6747         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6748
6749         * gst/gstmessage.c: (gst_message_parse_clock_lost):
6750           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6751
6752         * gst/gstpadtemplate.h:
6753         * gst/gstpluginfeature.h:
6754           Don't use c++ style comments in headers (#321638).
6755
6756 2005-11-16  Andy Wingo  <wingo@pobox.com>
6757
6758         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6759         buffer.
6760
6761         * check/net/gstnettimeprovider.c: Check to see that the time
6762         provider actually provides times. Works, yo!
6763
6764 2005-11-16  Wim Taymans  <wim@fluendo.com>
6765
6766         * check/Makefile.am:
6767         Enable more tests.
6768
6769         * check/elements/fakesrc.c: (GST_START_TEST):
6770         Set element to NULL before disposing it.
6771
6772 2005-11-16  Andy Wingo  <wingo@pobox.com>
6773
6774         * gst/net/Makefile.am:
6775         * gst/net/gstnet.h:
6776         * gst/net/gstnettimeprovider.c: 
6777         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
6778         provider, include it from gstnet.h, and add it to the build.
6779
6780         * gst/net/gstnettimepacket.h: 
6781         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
6782         sending and receiving.
6783
6784 2005-11-16  Wim Taymans  <wim@fluendo.com>
6785
6786         * check/Makefile.am:
6787         Enable valgrind check.
6788
6789         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
6790         (gst_fake_src_alloc_buffer):
6791         Fix memleak.
6792
6793 2005-11-16  Wim Taymans  <wim@fluendo.com>
6794
6795         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
6796         Call parent finalize too.
6797
6798 2005-11-16  Wim Taymans  <wim@fluendo.com>
6799
6800         * check/Makefile.am:
6801         Enable valgrind check that should work fine now.
6802
6803         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6804         * gst/gstqueue.c: (gst_queue_init):
6805         Fix memleaks in pad allocation.
6806
6807 2005-11-16  Andy Wingo  <wingo@pobox.com>
6808
6809         * gst/net/Makefile.am:
6810         * gst/net/gstnet.h: New part of core to hold network elements and
6811         objects. Put in core because it exposes API that applications want
6812         to use. The library is named libgstnet-tempname right now because
6813         of the existing libgstnet in gst-plugins-base. Solution is
6814         probably to rename the one in plugins-base; will file a bug for
6815         the freeze break.
6816
6817         * gst/net/gstnettimeprovider.c: 
6818         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
6819         get_time call over the network.
6820
6821         * configure.ac: 
6822         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
6823
6824         * check/Makefile.am:
6825         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
6826         get additions shortly.
6827
6828 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6829
6830         * gst/gstpad.c: (gst_pad_new_from_static_template):
6831         * gst/gstpad.h:
6832           add gst_pad_new_from_static_template functions
6833         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
6834         (gst_check_setup_sink_pad):
6835         * gst/elements/gsttee.c: (gst_tee_init):
6836           and use them
6837
6838 2005-11-16  Wim Taymans  <wim@fluendo.com>
6839
6840         * gst/gstpad.c: (gst_pad_pause_task):
6841         Removed warning, it's not really an error either.
6842
6843 2005-11-16  Wim Taymans  <wim@fluendo.com>
6844
6845         * gst/base/gstbasetransform.c:
6846         (gst_base_transform_prepare_output_buf),
6847         (gst_base_transform_event):
6848         Check if the caps are NULL, this can happen if the element
6849         is shutting down and the pad caps are set to NULL.
6850
6851 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6852
6853         * gst/elements/gsttee.c: (gst_tee_init):
6854           fix pad template leak in tee
6855
6856 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6857
6858         * gst/glib-compat.c: (g_value_dup_gst_object):
6859         * gst/glib-compat.h:
6860         * gst/gstpad.c: (gst_pad_set_property):
6861           use gst_object_ref when setting the pad template; this will
6862           trigger the pad template leaks on GLib 2.6 and the slaves
6863
6864 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6865
6866         * gst/glib-compat.c: (gst_flags_get_first_value):
6867         * gst/glib-compat.h:
6868         * gst/gstregistryxml.c:
6869           remove functions copied from GLib 2.6
6870
6871 2005-11-16  Michael Smith <msmith@fluendo.com>
6872
6873         * gst/Makefile.am:
6874           Don't link against VALGRIND_LIBS. That was always the wrong thing to
6875           do, but only breaks with newer valgrind versions. We're not a
6876           valgrind tool, we have no link-time dependencies on libcoregrind.
6877
6878 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6879
6880         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6881           some debug changes
6882         * gst/gstmessage.h:
6883           typo fixes
6884
6885 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6886
6887         * gst/base/gstbasesrc.c: (gst_base_src_init):
6888         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6889         * gst/gstqueue.c: (gst_queue_init):
6890         * gst/gstregistryxml.c: (load_feature):
6891           Revert all these unrefs, they don't even pass make check !
6892
6893 2005-11-15  Johan Dahlin  <johan@gnome.org>
6894
6895         * gst/base/gstbasesrc.c: (gst_base_src_init):
6896         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6897         * gst/gstqueue.c: (gst_queue_init): 
6898         Free pad templates, fixes a couple of leaks.
6899
6900 2005-11-15  Daniel Fischer  <dan at f3c dot com>
6901
6902         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6903
6904         * gst/gstpad.c: (gst_pad_get_property):
6905           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
6906           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
6907           (#321452)
6908
6909 2005-11-15  Wim Taymans  <wim@fluendo.com>
6910
6911         * gst/gstevent.c:
6912         Small doc update.
6913
6914 2005-11-15  Andy Wingo  <wingo@pobox.com>
6915
6916         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
6917
6918         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
6919         using GST_CLOCK_TIME_NONE to disable base time management.
6920         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
6921         time if it was NONE before.
6922         (gst_pipeline_change_state): Only munge the base time if
6923         stream_time != GST_CLOCK_TIME_NONE.
6924
6925         * check/gst/gstpipeline.c (test_base_time): Punt around the
6926         problem of the probe not being called, because that's not the
6927         issue I'm looking at. Add a check that setting stream_time to NONE
6928         disables base time management.
6929         
6930 2005-11-15  Wim Taymans  <wim@fluendo.com>
6931
6932         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
6933         segment_stop == -1 at startup.
6934
6935         * gst/base/gstbasetransform.c: (gst_base_transform_event),
6936         (gst_base_transform_change_state):
6937         Init segment values at start.
6938
6939 2005-11-15  Wim Taymans  <wim@fluendo.com>
6940
6941         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6942         0 segment values are 0 in any format.
6943
6944         * gst/base/gstbasetransform.c: (gst_base_transform_event):
6945         * gst/base/gstbasetransform.h:
6946         Parse newsegment correctly in basetransform
6947
6948         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6949         Sync to clock using updated segment values.
6950
6951 2005-11-15  Andy Wingo  <wingo@pobox.com>
6952
6953         * check/gst/gstpipeline.c (test_base_time): Add check that the
6954         base time and stream time are reset correctly.
6955
6956 2005-11-15  Wim Taymans  <wim@fluendo.com>
6957
6958         * docs/design/part-TODO.txt:
6959         Some more TODO items.
6960
6961 2005-11-15  Andy Wingo  <wingo@pobox.com>
6962
6963         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
6964         error if the user selected "no clock" as the clocking method.
6965
6966         * check/gst/gstpipeline.c (test_base_time): New test for buffer
6967         timestamps with live capture.
6968
6969         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
6970         is 0 but we are a live source, timestamp the buffers using the
6971         element's clock.
6972
6973 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
6974
6975         * docs/gst/gstreamer-sections.txt:
6976         * gst/gsterror.c:
6977         * gst/gstghostpad.c:
6978         * gst/gstobject.h:
6979         * gst/gstxml.c:
6980           more section docs
6981
6982 2005-11-14  Wim Taymans  <wim@fluendo.com>
6983
6984         * common/gst.supp:
6985           add suppressions from Wim's Debian machine
6986
6987 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6988
6989         * common/gst.supp:
6990           add suppressions from Andy's AMD64 Ubuntu machine
6991
6992 2005-11-14  Andy Wingo  <wingo@pobox.com>
6993
6994         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
6995         STATE_LOCK not necessary. Fixes #311489.
6996
6997         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
6998         #305291.
6999
7000         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7001         this function is not implemented.
7002
7003 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7004
7005         * gst/base/gstbasetransform.c:
7006         (gst_base_transform_prepare_output_buf):
7007         Ref the source pad caps while we need them.
7008         Fixes (#321386)
7009
7010 2005-11-11  Wim Taymans  <wim@fluendo.com>
7011
7012         * docs/gst/gstreamer-sections.txt:
7013         Added some docs for GstCollectData.
7014
7015         * gst/base/gstadapter.c:
7016         Some small code example fix.
7017
7018         * gst/base/gstcollectpads.c:
7019         * gst/base/gstcollectpads.h:
7020         Document some more.
7021
7022 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7023
7024         * configure.ac: back to HEAD
7025
7026 === release 0.9.5 ===
7027
7028 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
7029
7030         * configure.ac:
7031           releasing 0.9.5, "Bike Lunch Day"
7032
7033 2005-11-11  Wim Taymans  <wim@fluendo.com>
7034
7035         * gst/gstbuffer.c: (_gst_buffer_copy):
7036         Copy more flags.
7037
7038         * gst/gstcaps.c: (gst_caps_is_equal):
7039         Fix some docs.
7040         Make _is_equal fast in the trivial cases.
7041
7042         * gst/gstminiobject.c:
7043         * gst/gstminiobject.h:
7044         More docs. Spifify .h file.
7045
7046         * gst/gstutils.c:
7047         Small doc update.
7048
7049 2005-11-11  Wim Taymans  <wim@fluendo.com>
7050
7051         * gst/base/gstbasetransform.c:
7052         (gst_base_transform_prepare_output_buf),
7053         (gst_base_transform_handle_buffer):
7054         Small cleanups.
7055         If we're processing a buffer and need to allocate an output
7056         buffer, we cannot accept a format change. If we did get a 
7057         format change, we have to alloc a buffer ourselves of the 
7058         right size.
7059
7060 2005-11-11  Wim Taymans  <wim@fluendo.com>
7061
7062         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7063         While checking the flag for reentrancy in the gstcaps function
7064         is nice to detect recursive invocations, it also makes it 
7065         impossible to call getcaps from multiple threads, which must be
7066         possible. So, checking for recursive calls has to go.
7067
7068 2005-11-11  Michael Smith <msmith@fluendo.com>
7069
7070         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7071           Don't sync on buffers that fall partially outside our current
7072           segment. Prevents an assertion failure/abort playing some files.
7073
7074 2005-11-10  Andy Wingo  <wingo@pobox.com>
7075
7076         * check/gst/gstbin.c (test_message_state_changed_children): Style
7077         fix..
7078
7079         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7080         gst_bus_poll with the signal watch. Ensures that poll and a signal
7081         watch see the same messages.
7082
7083         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7084         a poll and a watch at the same time get the same messages.
7085
7086 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7087
7088         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7089         * gst/gstcaps.c: (gst_caps_intersect):
7090           Don't call gst_caps_do_simplify - it doesn't respect order of caps
7091           and it's not needed.
7092
7093 2005-11-10  Wim Taymans  <wim@fluendo.com>
7094
7095         * docs/design/part-TODO.txt:
7096         Updated todo.
7097
7098 2005-11-10  Wim Taymans  <wim@fluendo.com>
7099
7100         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7101         * gst/base/gstbasesrc.c: (gst_base_src_wait),
7102         (gst_base_src_do_sync), (gst_base_src_get_range):
7103         Implement clock sync in base class.
7104
7105 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7106
7107         patch by: Tim-Philipp Müller <tim at centricular dot net>
7108
7109         * gst/gststructure.c: (gst_structure_parse_field),
7110         (gst_structure_from_string):
7111           Forward-port a 0.8 patch to handle escaped spaces in structure string,
7112           so that gst_parse_launch() can deal with spaces in filtered link
7113           caps (fixes #164479)
7114         * check/gst/capslist.h:
7115         * check/gst/gststructure.c: (GST_START_TEST):
7116           add unit tests for this change
7117
7118 2005-11-10  Wim Taymans  <wim@fluendo.com>
7119
7120         * docs/gst/gstreamer-sections.txt:
7121         * gst/gstelement.c:
7122         * gst/gstelement.h:
7123         Fix docs, move some STATE macros to private.
7124
7125 2005-11-10  Wim Taymans  <wim@fluendo.com>
7126
7127         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7128         Added check for bug #317341
7129
7130         * gst/gstbuffer.c:
7131         * gst/gstbuffer.h:
7132         Some more spiffifying.
7133
7134         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7135         Call peer linkfunction if we are a source pad. Totally fixes
7136         #317341
7137
7138         * gst/gstpad.c:
7139         Update docs, source pads should call the peer linkfunction
7140         so they can atomically perform the pad link.
7141
7142 2005-11-09  Wim Taymans  <wim@fluendo.com>
7143
7144         * gst/gstbuffer.c:
7145         * gst/gstbuffer.h:
7146         Uber-spiffy-spiffify some more.
7147
7148 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
7149
7150         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7151         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7152         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7153         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7154         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7155         * gst/gstpad.c: (gst_pad_init):
7156           Use GST_DEBUG_FUNCPTR() more extensively.
7157
7158 2005-11-09  Wim Taymans  <wim@fluendo.com>
7159
7160         * gst/gstobject.c: (gst_object_class_init):
7161         * gst/gstobject.h:
7162         Documentation fixes.
7163
7164 2005-11-09  Edward Hervey  <edward@fluendo.com>
7165
7166         * gst/gsttypefindfactory.c:
7167         Fix docs.
7168         
7169 2005-11-09  Edward Hervey  <edward@fluendo.com>
7170
7171         * gst/base/gsttypefindhelper.c:
7172         * gst/gsttypefind.c:
7173         * gst/gsttypefind.h:
7174         Fix docs.
7175
7176 2005-11-09  Wim Taymans  <wim@fluendo.com>
7177
7178         * gst/gstiterator.c:
7179         Fix revision data.
7180
7181         * gst/gsttask.c:
7182         * gst/gsttask.h:
7183         Fix docs.
7184
7185 2005-11-09  Wim Taymans  <wim@fluendo.com>
7186
7187         * gst/gstevent.h:
7188         * gst/gsturi.h:
7189         Fix docs.
7190
7191 2005-11-09  Wim Taymans  <wim@fluendo.com>
7192
7193         * docs/gst/gstreamer-sections.txt:
7194         Moved the message async delivery private lock and cond
7195         to the private section.
7196
7197         * gst/gstmessage.c:
7198         * gst/gstmessage.h:
7199         Fixed docs.
7200
7201 2005-11-09  Edward Hervey  <edward@fluendo.com>
7202
7203         * docs/gst/gstreamer-sections.txt:
7204         * gst/gsturi.c:
7205         * gst/gsturi.h:
7206         Document GstURIHandler
7207
7208 2005-11-09  Wim Taymans  <wim@fluendo.com>
7209
7210         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7211         (gst_iterator_find_custom):
7212         * gst/gstiterator.h:
7213         Fix iterator docs.
7214
7215 2005-11-09  Wim Taymans  <wim@fluendo.com>
7216
7217         * gst/gstbin.h:
7218         Document another field.
7219
7220         * gst/gststructure.c:
7221         * gst/gststructure.h:
7222         Document.
7223
7224 2005-11-09  Wim Taymans  <wim@fluendo.com>
7225
7226         * gst/gstbin.h:
7227         Documented structs.
7228
7229 2005-11-09  Wim Taymans  <wim@fluendo.com>
7230
7231         * docs/gst/gstreamer-sections.txt:
7232         Added some new macros.
7233
7234         * gst/gstclock.c:
7235         * gst/gstclock.h:
7236         * gst/gstobject.h:
7237         Docs updates.
7238
7239 2005-11-09  Wim Taymans  <wim@fluendo.com>
7240
7241         * docs/design/part-TODO.txt:
7242         Some more items for the TODO
7243
7244         * gst/gstcaps.c:
7245         * gst/gstcaps.h:
7246         Document GstCaps.
7247
7248 2005-11-09  Andy Wingo  <wingo@pobox.com>
7249
7250         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7251         to work on something else now tho...
7252
7253         * gst/base/gstadapter.c: More adapter docs.
7254
7255         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7256         (gst_file_sink_stop): New functions, replace the state change
7257         handler.
7258         (gst_file_sink_class_init): Hook up the start and stop functions.
7259         (gst_file_sink_base_init): Don't set the state change handler any
7260         more. It was a bit ugly too, being set from here...
7261         (gst_file_sink_get_property, gst_file_sink_set_property):
7262         Cleanups...
7263         (gst_file_sink_set_location): More robust check that doesn't call
7264         GST_STATE. Ugggggg.
7265
7266 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7267
7268         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7269           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7270
7271 2005-11-08  Wim Taymans  <wim@fluendo.com>
7272
7273         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7274         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7275         (gst_base_sink_chain), (gst_base_sink_change_state):
7276         * gst/base/gstbasesink.h:
7277         * gst/base/gstbasesrc.h:
7278         * gst/gstelement.h:
7279         * gst/gstevent.h:
7280         Avoid excessive typechecking in macros.
7281
7282         * gst/gstminiobject.c: (gst_mini_object_get_type),
7283         (gst_mini_object_init), (gst_mini_object_new),
7284         (gst_mini_object_free):
7285         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7286         (gst_object_finalize):
7287         Remove cruft code, optimize alloc_trace.
7288
7289 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7290
7291         * docs/faq/gst-uninstalled:
7292           fix up PS1 for systems that try to reset it
7293
7294 2005-11-07  Wim Taymans  <wim@fluendo.com>
7295
7296         * gst/base/gstbasesrc.c: (gst_base_src_init),
7297         (gst_base_src_get_range):
7298         Set the segment_end to -1 initially. Fixed typefind.
7299
7300 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7301
7302         * gst/base/gstadapter.c:
7303           Debug category should be 'adapter', not 'GstAdapter'.
7304           
7305         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7306         (gst_collectpads_class_init), (gst_collectpads_init),
7307         (gst_collectpads_peek), (gst_collectpads_pop),
7308         (gst_collectpads_event), (gst_collectpads_chain):
7309           Add debug category and some debugging output. Use boilerplate
7310           macros. Remove some extraneous words from docs.
7311
7312 2005-11-05  Andy Wingo  <wingo@pobox.com>
7313
7314         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7315         macro.
7316
7317 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7318
7319         * docs/gst/gstreamer-sections.txt:
7320         * gst/gstcaps.h:
7321         * gst/gstinfo.c:
7322         * gst/gstminiobject.h:
7323         * gst/gstobject.h:
7324         * gst/gstutils.h:
7325           more docs added
7326
7327 2005-11-04  Wim Taymans  <wim@fluendo.com>
7328
7329         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7330         Small update to stop at the configured segment_end
7331         position.
7332
7333 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7334
7335         * gst/gstregistry.c:
7336         * gst/gstregistry.h:
7337           added missing docs
7338
7339 2005-11-04  Edward Hervey  <edward@fluendo.com>
7340
7341         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7342         Check if we are doing a segment seek and have arrived at the
7343         end of that segment.
7344
7345 2005-11-04  Wim Taymans  <wim@fluendo.com>
7346
7347         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7348         Don't leak a mutex unlock in case of an error.
7349
7350         * gst/gstbus.h:
7351         Doc fixes.
7352
7353 2005-11-04  Wim Taymans  <wim@fluendo.com>
7354
7355         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7356         (gst_bus_post):
7357         Get the context to wake up only once.
7358
7359 2005-11-03  Wim Taymans  <wim@fluendo.com>
7360
7361         * check/states/sinks.c: (GST_START_TEST):
7362         Uncomment fixed check.
7363
7364         * docs/design/part-TODO.txt:
7365         Updated TODO.
7366
7367         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7368         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7369         (gst_base_sink_get_position):
7370         If we are going to PLAYING, post the right pending state
7371         when we post the intermediate paused message.
7372
7373         * gst/gstelement.c: (gst_element_continue_state),
7374         (gst_element_set_state_func), (gst_element_change_state):
7375         Don't post state changes that were between the same state
7376         and were not ASYNC.
7377
7378 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7379
7380         * docs/gst/gstreamer-sections.txt:
7381         * gst/gstcaps.h:
7382         * gst/gstinfo.c:
7383         * gst/gstminiobject.h:
7384         * gst/gstobject.h:
7385         * gst/gstutils.h:
7386           more docs and doc style fixes
7387
7388 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7389
7390         * docs/gst/gstreamer-sections.txt:
7391         * gst/gstelement.c:
7392         * gst/gstminiobject.c:
7393         doc fixes
7394
7395 2005-11-03  Andy Wingo  <wingo@pobox.com>
7396
7397         * check/states/sinks.c (test_livesrc_sink): Add checks that the
7398         state-changed messages actually have the right order and the right
7399         values.
7400
7401 2005-11-03  Wim Taymans  <wim@fluendo.com>
7402
7403         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7404         Added some more checks. Specifically the case where NO_PREROLL
7405         elements are in the pipeline.
7406
7407         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7408         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7409         (gst_base_sink_get_position):
7410         Post READY->PAUSED state change messages too.
7411         Fix bug where VOID was posted as pending state...
7412
7413         * gst/gstbin.c: (gst_bin_recalc_state):
7414         use _element_continue_state() to continue the state change.
7415
7416         * gst/gstelement.c: (gst_element_continue_state),
7417         (gst_element_commit_state), (gst_element_set_state_func),
7418         (gst_element_change_state), (gst_element_change_state_func):
7419         Lots of state change cleanups, assign the STATE_RETURN in
7420         a new continue_state() function that also propagates the
7421         last return value from a state change to the app.
7422         Update some debug statements with proper category.
7423
7424 2005-11-03  Wim Taymans  <wim@fluendo.com>
7425
7426         * docs/design/part-events.txt:
7427         * docs/design/part-gstpipeline.txt:
7428         * docs/design/part-messages.txt:
7429         * docs/design/part-overview.txt:
7430         * docs/design/part-seeking.txt:
7431         * docs/design/part-states.txt:
7432         * docs/design/part-trickmodes.txt:
7433         * docs/manual/advanced-position.xml:
7434         Small docs updates.
7435
7436         * gst/gstobject.h:
7437         People think !! is ugly, this looks better.
7438
7439         * gst/gstpad.c: (gst_pad_set_blocked_async):
7440         Remove !! since it's fixed elsewhere now.
7441
7442 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7443
7444         * gst/gstminiobject.h:
7445         * gst/gstobject.h:
7446           Add !! to _FLAG_IS_SET macros to make the result boolean.
7447
7448 2005-11-03  Edward Hervey  <edward@fluendo.com>
7449
7450         * gst/gstpad.c: (gst_pad_set_blocked_async):
7451         comparing a flag and a gboolean rarely returns coherent results...
7452         Added two characters (!!) to make that work correctly.
7453         
7454 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7455
7456         * gst/gstbus.c: (gst_bus_class_init):
7457           Fix some typos.
7458           
7459         * gst/gstqueue.c: (gst_queue_loop):
7460           Don't assume a miniobject that isn't a buffer is an
7461           event (it could be that there is a refcounting
7462           problem somewhere and the pointer is stale and
7463           refers to an already destroyed miniobject).
7464
7465 2005-11-03  Julien MOUTTE  <julien@moutte.net>
7466
7467         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7468
7469 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7470
7471         * docs/manual/advanced-position.xml:
7472           Update seek example and explanations to current 0.9 API.
7473
7474         * gst/elements/gsttypefindelement.c:
7475         (gst_type_find_element_activate):
7476           Remove FIXME comment now that the found caps
7477           are unreffed.
7478
7479 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7480
7481         * gst/gstregistryxml.c: (load_feature):
7482           Add another GST_STR_NULL instance
7483
7484 2005-11-02  Edward Hervey  <edward@fluendo.com>
7485
7486         * gst/gstpad.c: (handle_pad_block):
7487         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7488         
7489 2005-11-02  Wim Taymans  <wim@fluendo.com>
7490
7491         * gst/gstbin.c:
7492         Fix typo in docs.
7493
7494         * gst/gstelement.c: (gst_element_commit_state):
7495         Remove unused value.
7496
7497         * gst/gstiterator.c:
7498         Mention that the returned element is reffed in the docs.
7499
7500 2005-11-02  Wim Taymans  <wim@fluendo.com>
7501
7502         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7503         (gst_pad_push), (gst_pad_push_event):
7504         Unlock blocked pads when they are flushed.
7505
7506 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7507
7508         * docs/README:
7509         * docs/gst/gstreamer-sections.txt:
7510         * gst/gstbin.c:
7511           doc updates
7512         * gst/gstregistry.c: (gst_registry_scan_path_level):
7513           fix for a nasty little missed situation where an installed plug-in
7514           which was in the cache did not get overridden by an uninstalled one
7515           which was earlier in the plugin path because the newly created plugin
7516           for the uninstalled one (not in the registry) didn't get its
7517           ->registered set to TRUE
7518
7519 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7520
7521         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7522         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7523         (gst_collectpads_is_active), (gst_collectpads_collect),
7524         (gst_collectpads_collect_range), (gst_collectpads_start),
7525         (gst_collectpads_stop), (gst_collectpads_peek),
7526         (gst_collectpads_pop), (gst_collectpads_available),
7527         (gst_collectpads_read), (gst_collectpads_flush):
7528           Guard public API with assertions.
7529         
7530         * gst/gstpad.c:
7531           Fix docs for gst_pad_set_link_function().
7532
7533 2005-11-02  Johan Dahlin  <johan@gnome.org>
7534
7535         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
7536         Unref found_caps after we used it.
7537
7538 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7539
7540         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7541           Don't try to ref NULL.
7542
7543 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7544
7545         * win32/common/config.h.in:
7546           provide a GST_FUNCTION that just gives a string for now
7547
7548 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7549
7550         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7551         (gst_object_flags_get_type), (register_gst_bin_flags),
7552         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7553         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7554         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7555         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7556         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7557         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7558         (gst_clock_flags_get_type), (register_gst_state),
7559         (gst_state_get_type), (register_gst_state_change_return),
7560         (gst_state_change_return_get_type), (register_gst_state_change),
7561         (gst_state_change_get_type), (register_gst_element_flags),
7562         (gst_element_flags_get_type), (register_gst_core_error),
7563         (gst_core_error_get_type), (register_gst_library_error),
7564         (gst_library_error_get_type), (register_gst_resource_error),
7565         (gst_resource_error_get_type), (register_gst_stream_error),
7566         (gst_stream_error_get_type), (register_gst_event_type),
7567         (gst_event_type_get_type), (register_gst_seek_type),
7568         (gst_seek_type_get_type), (register_gst_seek_flags),
7569         (gst_seek_flags_get_type), (register_gst_format),
7570         (gst_format_get_type), (register_gst_index_certainty),
7571         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7572         (gst_index_entry_type_get_type),
7573         (register_gst_index_lookup_method),
7574         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7575         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7576         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7577         (gst_index_flags_get_type), (register_gst_debug_level),
7578         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7579         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7580         (gst_iterator_result_get_type), (register_gst_iterator_item),
7581         (gst_iterator_item_get_type), (register_gst_message_type),
7582         (gst_message_type_get_type), (register_gst_mini_object_flags),
7583         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7584         (gst_pad_link_return_get_type), (register_gst_flow_return),
7585         (gst_flow_return_get_type), (register_gst_activate_mode),
7586         (gst_activate_mode_get_type), (register_gst_pad_direction),
7587         (gst_pad_direction_get_type), (register_gst_pad_flags),
7588         (gst_pad_flags_get_type), (register_gst_pad_presence),
7589         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7590         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7591         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7592         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7593         (gst_plugin_flags_get_type), (register_gst_rank),
7594         (gst_rank_get_type), (register_gst_query_type),
7595         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7596         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7597         (gst_tag_flag_get_type), (register_gst_task_state),
7598         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7599         (gst_alloc_trace_flags_get_type),
7600         (register_gst_type_find_probability),
7601         (gst_type_find_probability_get_type), (register_gst_uri_type),
7602         (gst_uri_type_get_type), (register_gst_parse_error),
7603         (gst_parse_error_get_type):
7604         * win32/common/gstversion.h:
7605           update win32 copies
7606
7607 2005-11-01  Luca Ognibene  <luogni@tin.it>
7608
7609         * gst/gst.c:
7610           fix docs. popt is dead, long live GOption.
7611
7612 2005-10-31  Wim Taymans  <wim@fluendo.com>
7613
7614         * gst/gstbuffer.h:
7615         Small doc fix.
7616
7617 2005-10-31  Andy Wingo  <wingo@pobox.com>
7618
7619         * Boo!
7620
7621         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7622
7623         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
7624         need to serialize property notifications on GLib 2.8. GLib 2.6 has
7625         the possibility of deadlocks here if code calling notify() or
7626         set() has a lock that can be taken in another notify handler (ABBA
7627         with class lock and e.g. python GIL state lock).
7628
7629 2005-10-28  Julien MOUTTE  <julien@moutte.net>
7630
7631         * gst/gstbus.c: Doc updates.
7632
7633 2005-10-28  Wim Taymans  <wim@fluendo.com>
7634
7635         * docs/design/part-TODO.txt:
7636         * gst/gstiterator.c:
7637         * gst/gstsystemclock.c:
7638         * gst/gstsystemclock.h:
7639         Doc updates.
7640
7641 2005-10-28  Edward Hervey  <edward@fluendo.com>
7642
7643         * docs/gst/gstreamer-docs.sgml:
7644         * docs/gst/gstreamer-sections.txt:
7645         the GstURIType documentation page is private, it only defines GstURIType
7646         which should be defined in the GstURIHandler page
7647         
7648 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7649
7650         * gst/gstbin.c: (gst_bin_class_init):
7651         * gst/gstbin.h:
7652         * gst/gstutils.c:
7653         Documentation updates.
7654
7655 2005-10-28  Wim Taymans  <wim@fluendo.com>
7656
7657         * docs/gst/gstreamer-sections.txt:
7658         * gst/gstclock.c:
7659         * gst/gstclock.h:
7660         Documented the clocks.
7661
7662 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
7663
7664         * docs/gst/gstreamer-sections.txt:
7665           move some macros to private sections
7666         * gst/gstminiobject.c:
7667         * gst/gstminiobject.h:
7668           add descriptions provided by ds and some more
7669         * gst/gstpad.h:
7670           mark macro as to be removed
7671
7672 2005-10-28  Wim Taymans  <wim@fluendo.com>
7673
7674         * docs/design/part-TODO.txt:
7675         Add an item to TODO.
7676
7677         * gst/gstiterator.c: (gst_iterator_fold),
7678         (gst_iterator_find_custom):
7679         * gst/gstiterator.h:
7680         Add iterator docs.
7681
7682 2005-10-28  Wim Taymans  <wim@fluendo.com>
7683
7684         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7685         (gst_base_transform_init):
7686         Don't leak class.
7687
7688         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7689         An EOS event marks the queue as completely filled.
7690
7691 2005-10-27  Wim Taymans  <wim@fluendo.com>
7692
7693         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7694         (gst_base_sink_do_sync), (gst_base_sink_get_position):
7695         Some more debugging.
7696
7697         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7698         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7699         (gst_base_transform_event), (gst_base_transform_getrange),
7700         (gst_base_transform_chain):
7701         * gst/base/gstbasetransform.h:
7702         Fix debugging,
7703         Protect transform and concurrent buffer alloc with a new lock.
7704         Try not to break ABI/API.
7705
7706 2005-10-27  Wim Taymans  <wim@fluendo.com>
7707
7708         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7709         (gst_base_src_init), (gst_base_src_query),
7710         (gst_base_src_default_newsegment),
7711         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7712         (gst_base_src_send_event), (gst_base_src_event_handler),
7713         (gst_base_src_pad_get_range), (gst_base_src_loop),
7714         (gst_base_src_unlock), (gst_base_src_default_negotiate),
7715         (gst_base_src_start), (gst_base_src_deactivate),
7716         (gst_base_src_activate_push), (gst_base_src_change_state):
7717         Move some stuff around and cleanup things.
7718
7719 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
7720
7721         * gst/base/gstbasesrc.c: (gst_base_src_query):
7722           Add missing break statements.
7723
7724 2005-10-27  Wim Taymans  <wim@fluendo.com>
7725
7726         * check/gst/gstbin.c: (GST_START_TEST):
7727         An extra refcount is taken in basesrc.
7728
7729         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7730         (gst_base_src_get_range), (gst_base_src_pad_get_range),
7731         (gst_base_src_loop):
7732         Small cleanups, check for flushing after being unlocked from the 
7733         LIVE_LOCK. take refcounts correctly (not yet everywhere).
7734         Don't send out EOS when going to READY.
7735
7736 2005-10-27  Wim Taymans  <wim@fluendo.com>
7737
7738         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7739         (gst_base_sink_get_position):
7740         Some more debug.
7741
7742         * gst/gstbin.c: (message_check), (bin_replace_message),
7743         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7744         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7745         (bin_query_duration_init), (bin_query_duration_fold),
7746         (bin_query_duration_done), (bin_query_generic_fold),
7747         (gst_bin_query):
7748         * tools/gst-launch.c: (main):
7749         Remove old option.
7750
7751 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
7752
7753         * examples/controller/audio-example.c: (main):
7754         * examples/queue/queue.c: (event_loop):
7755         * gst/base/gstbasetransform.h:
7756         * gst/gstelement.c: (gst_element_send_event):
7757         * gst/gstevent.h:
7758         * gst/gstpad.c: (gst_pad_send_event):
7759           fixing examples
7760           fixing docs typos
7761           changing log priority in error situations
7762
7763 2005-10-25  Wim Taymans  <wim@fluendo.com>
7764
7765         * gst/gstbin.c: (message_check), (bin_replace_message),
7766         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7767         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7768         (bin_query_duration_init), (bin_query_duration_fold),
7769         (bin_query_duration_done), (bin_query_generic_fold),
7770         (gst_bin_query):
7771         Some doc and debug updates.
7772         Cache previously requested query DURATION for speed. invalidate
7773         cached duration if element posts a DURATION message.
7774
7775 2005-10-25  Wim Taymans  <wim@fluendo.com>
7776
7777         * docs/design/part-TODO.txt:
7778         Update TODO.
7779
7780         * gst/gstbin.c: (message_check), (bin_replace_message),
7781         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7782         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7783         (bin_query_duration_init), (bin_query_duration_fold),
7784         (bin_query_duration_done), (bin_query_generic_fold),
7785         (gst_bin_query):
7786         Handle SEGMENT_START/DONE messages correctly.
7787         More evolved query algorithm that handles duration queries
7788         correctly.
7789
7790         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
7791         (gst_element_get_state_func), (gst_element_abort_state),
7792         (gst_element_commit_state), (gst_element_lost_state):
7793         Some more debugging.
7794
7795         * gst/gstmessage.h:
7796         Added doc.
7797
7798 2005-10-25  Wim Taymans  <wim@fluendo.com>
7799
7800         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7801         Don't use invalid stream_time.
7802
7803         * gst/gstevent.c: (gst_event_new_newsegment):
7804         stream_time in newsegment cannot be undefined.
7805
7806 2005-10-24  Wim Taymans  <wim@fluendo.com>
7807
7808         * gst/gstbus.c:
7809         Doc fix.
7810
7811         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7812         (gst_queue_loop):
7813         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
7814
7815 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
7816
7817         * docs/libs/tmpl/gstdparam.sgml:
7818         * docs/libs/tmpl/gstdplinint.sgml:
7819         * docs/libs/tmpl/gstdpman.sgml:
7820         * docs/libs/tmpl/gstdpsmooth.sgml:
7821         * docs/libs/tmpl/gstunitconvert.sgml:
7822           these are obsolete
7823
7824 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7825
7826         * configure.ac:
7827           back to HEAD
7828
7829 === release 0.9.4 ===
7830
7831 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7832
7833         * configure.ac:
7834           releasing 0.9.4, "Tyrannosaurus Rex"
7835
7836 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
7837
7838         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7839         (gst_file_sink_get_current_offset):
7840           Use fseeko() and ftello() if available. When falling back on
7841           lseek() to get the current offset, fflush() first to make sure
7842           everything is up-to-date and we get the right offset.
7843
7844 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7845
7846         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7847         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7848         * gst/gsterror.c: (_gst_stream_errors_init):
7849         * gst/gsterror.h:
7850         * gst/gstqueue.c: (gst_queue_loop):
7851         * po/POTFILES.in:
7852           remove prematurely added error category and clean up the instances
7853
7854 2005-10-21  Wim Taymans  <wim@fluendo.com>
7855
7856         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7857         (gst_base_sink_get_position), (gst_base_sink_query),
7858         (gst_base_sink_change_state):
7859         Simply set the right flag when going to playing, that's all
7860         we need to do instead of calling a function inside the object
7861         lock (that could take the lock as well and deadlock)
7862
7863 2005-10-21  Wim Taymans  <wim@fluendo.com>
7864
7865         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
7866         (gst_base_src_loop):
7867         Don't warn, the peer element knows what to do best when
7868         the seek failed, it might try something else.
7869
7870 2005-10-21  Wim Taymans  <wim@fluendo.com>
7871
7872         * gst/base/gstbasesrc.c: (gst_base_src_init),
7873         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7874         Fix seeking.
7875
7876 2005-10-21  Wim Taymans  <wim@fluendo.com>
7877
7878         * docs/design/part-segments.txt:
7879         More docs.
7880
7881         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7882         Correctly set caps, even on the subbufer.
7883
7884 2005-10-21  Wim Taymans  <wim@fluendo.com>
7885
7886         * docs/gst/gstreamer-docs.sgml:
7887         * docs/gst/gstreamer-sections.txt:
7888         * gst/gstelement.h:
7889         * gst/gstevent.c:
7890         * gst/gstevent.h:
7891         * gst/gstmessage.h:
7892         * gst/gstpad.h:
7893         * gst/gstparse.h:
7894         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
7895         * gst/gsttask.h:
7896         * gst/gstutils.c:
7897         * gst/gstutils.h:
7898         And 2% more doc coverage.
7899
7900 2005-10-21  Andy Wingo  <wingo@pobox.com>
7901
7902         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
7903         position reporting.
7904
7905 2005-10-20  Wim Taymans  <wim@fluendo.com>
7906
7907         * gst/gsterror.c: (gst_error_get_message):
7908         * gst/gstparse.h:
7909         * gst/gstquery.h:
7910         * gst/gststructure.c:
7911         * gst/gsttrace.c:
7912         * gst/gstutils.c:
7913         More docs.
7914
7915 2005-10-20  Wim Taymans  <wim@fluendo.com>
7916
7917         * gst/gstbuffer.h:
7918         * gst/gstpad.c:
7919         * gst/gstparse.c:
7920         Another 1% more coverage.
7921
7922 2005-10-20  Wim Taymans  <wim@fluendo.com>
7923
7924         * docs/gst/gstreamer-sections.txt:
7925         * gst/gstelement.c: (gst_element_get_state_func),
7926         (gst_element_abort_state), (gst_element_commit_state),
7927         (gst_element_lost_state):
7928         * gst/gstevent.h:
7929         * gst/gstquery.c: (gst_query_set_position),
7930         (gst_query_parse_position), (gst_query_set_duration),
7931         (gst_query_parse_duration), (gst_query_new_convert):
7932         * gst/gstutils.c:
7933         Yay! 1% more docs coverage.
7934
7935 2005-10-20  Wim Taymans  <wim@fluendo.com>
7936
7937         * gst/gstpad.h:
7938         * gst/gstquery.c: (gst_query_set_position),
7939         (gst_query_parse_position), (gst_query_set_duration),
7940         (gst_query_parse_duration), (gst_query_new_convert):
7941         * gst/gstquery.h:
7942         * gst/gstutils.c: (gst_element_query_convert):
7943         * gst/gstutils.h:
7944         Docs and consistency fixes.
7945
7946 2005-10-20  Wim Taymans  <wim@fluendo.com>
7947
7948         * gst/gsttask.c:
7949         * gst/gsttask.h:
7950         More docs.
7951
7952 2005-10-20  Wim Taymans  <wim@fluendo.com>
7953
7954         * gst/gstbin.c: (message_check), (bin_replace_message),
7955         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7956         (update_degree), (gst_bin_sort_iterator_next),
7957         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
7958         Reworked the message handling a bit, cache the messages instead of
7959         only the senders. alows us to do more in the future.
7960
7961 2005-10-20  Wim Taymans  <wim@fluendo.com>
7962
7963         * docs/design/part-TODO.txt:
7964         Update TODO
7965
7966         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7967         (gst_base_sink_query):
7968         Don't use clock time to report position when in EOS.
7969
7970 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
7971
7972         * tools/gst-inspect.c: (print_interfaces),
7973         (print_element_properties_info), (print_element_info):
7974           Fix interface output with gst-inspect -a; don't print
7975           newlines after double/float properties.
7976
7977 2005-10-20  Wim Taymans  <wim@fluendo.com>
7978
7979         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
7980         (gst_base_sink_query):
7981         Speed up current position calculation.
7982
7983         * gst/base/gstbasesrc.c: (gst_base_src_query),
7984         (gst_base_src_default_newsegment):
7985         Correctly set stream position in newsegment.
7986
7987         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
7988         (update_degree), (gst_bin_sort_iterator_next),
7989         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
7990         * gst/gstmessage.c: (gst_message_new_custom):
7991         Clean up debugging info
7992
7993         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
7994         (gst_queue_loop), (gst_queue_handle_src_query):
7995         Pause task faster.
7996
7997 2005-10-19  Wim Taymans  <wim@fluendo.com>
7998
7999         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8000         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8001         Fix query handling again.
8002
8003 2005-10-19  Wim Taymans  <wim@fluendo.com>
8004
8005         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8006         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8007         * gst/base/gstbasesrc.c: (gst_base_src_query):
8008         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8009         * gst/elements/gsttypefindelement.c:
8010         (gst_type_find_handle_src_query), (find_element_get_length),
8011         (gst_type_find_element_activate):
8012         API change fix.
8013
8014         * gst/gstquery.c: (gst_query_new_position),
8015         (gst_query_set_position), (gst_query_parse_position),
8016         (gst_query_new_duration), (gst_query_set_duration),
8017         (gst_query_parse_duration), (gst_query_set_segment),
8018         (gst_query_parse_segment):
8019         * gst/gstquery.h:
8020         Bundling query position/duration is not a good idea since duration
8021         does not change much and we don't want to recalculate it for every
8022         position query, so they are separated again..
8023         Base value in segment query is not needed.
8024
8025         * gst/gstqueue.c: (gst_queue_handle_src_query):
8026         * gst/gstutils.c: (gst_element_query_position),
8027         (gst_element_query_duration), (gst_pad_query_position),
8028         (gst_pad_query_duration):
8029         * gst/gstutils.h:
8030         Updates for query API change.
8031         Added some docs here and there.
8032
8033 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8034
8035         * check/gst/gstbin.c: (GST_START_TEST):
8036         * check/gst/gstghostpad.c: (GST_START_TEST):
8037         * check/pipelines/cleanup.c: (GST_START_TEST):
8038           wait on thread to die so we can check refcount correctly
8039
8040 2005-10-18  Wim Taymans  <wim@fluendo.com>
8041
8042         * check/pipelines/stress.c: (GST_START_TEST):
8043         Make check a little more time consuming.
8044
8045 2005-10-18  Wim Taymans  <wim@fluendo.com>
8046
8047         * check/Makefile.am:
8048         * check/pipelines/stress.c: (GST_START_TEST),
8049         (simple_launch_lines_suite), (main):
8050         Small state change torture test.
8051
8052         * docs/design/part-states.txt:
8053         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8054         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8055         (gst_base_sink_change_state):
8056         Never take state lock from streaming thread, clean up ugly
8057         hacks. Unfortunatly core does not yet support nice ways to
8058         async commit state.
8059         
8060         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8061         (bin_bus_handler):
8062         Start state recalc if a STATE_DIRTY message is posted, but only
8063         on the toplevel bin.
8064
8065         * gst/gstelement.c: (gst_element_sync_state_with_parent),
8066         (gst_element_get_state_func), (gst_element_abort_state),
8067         (gst_element_commit_state), (gst_element_lost_state),
8068         (gst_element_set_state_func), (gst_element_change_state):
8069         * gst/gstelement.h:
8070         State variables are now protected with the LOCK, the state
8071         lock is only used to serialize _set_state().
8072
8073 2005-10-18  Wim Taymans  <wim@fluendo.com>
8074
8075         * check/gst/gstbin.c: (GST_START_TEST):
8076         * check/gst/gstmessage.c: (GST_START_TEST):
8077         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8078         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8079         (bin_bus_handler):
8080         * gst/gstelement.c: (gst_element_abort_state),
8081         (gst_element_commit_state), (gst_element_lost_state):
8082         * gst/gstmessage.c: (gst_message_new_state_changed),
8083         (gst_message_new_state_dirty), (gst_message_new_segment_start),
8084         (gst_message_new_segment_done), (gst_message_new_duration),
8085         (gst_message_parse_state_changed),
8086         (gst_message_parse_segment_start),
8087         (gst_message_parse_segment_done), (gst_message_parse_duration):
8088         * gst/gstmessage.h:
8089         * tools/gst-launch.c: (event_loop):
8090         Seriously, this is better than a previous commit as we only need
8091         to notify the fact that an element changed state in a streaming
8092         thread, marking the state of the parents dirty, hence the 
8093         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8094         message.
8095
8096 2005-10-18  Wim Taymans  <wim@fluendo.com>
8097
8098         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8099         (gst_bin_recalc_func):
8100         * gst/gstelement.c: (gst_element_set_clock),
8101         (gst_element_abort_state), (gst_element_lost_state):
8102         Cleanups, prepare for state change fixes.
8103
8104 2005-10-18  Wim Taymans  <wim@fluendo.com>
8105
8106         * gst/gstbin.h:
8107         * gst/gstelement.c: (gst_element_class_init),
8108         (gst_element_set_state), (gst_element_set_state_func):
8109         * gst/gstelement.h:
8110         Pending ABI changes.
8111         GThreadPool in GstBinClass to monitor async state changes.
8112         state_cookie in GstElement to detect concurrent gst/set state.
8113         set_state is now virtual too in case a very complicated element
8114         has to be constructed.
8115
8116 2005-10-18  Wim Taymans  <wim@fluendo.com>
8117
8118         * check/gst/gstbin.c: (GST_START_TEST):
8119         * check/gst/gstmessage.c: (GST_START_TEST):
8120         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8121         * gst/gstbin.c: (bin_bus_handler):
8122         * gst/gstelement.c: (gst_element_commit_state),
8123         (gst_element_lost_state):
8124         * gst/gstmessage.c: (gst_message_new_state_changed),
8125         (gst_message_new_segment_start), (gst_message_new_segment_done),
8126         (gst_message_new_duration), (gst_message_parse_state_changed),
8127         (gst_message_parse_segment_start),
8128         (gst_message_parse_segment_done), (gst_message_parse_duration):
8129         * gst/gstmessage.h:
8130         * tools/gst-launch.c: (event_loop):
8131         Make messages future proof.
8132         state-change gets a flag if it was a message comming from the
8133         streaming thread.
8134         segment-start/stop can also be specified in other formats.
8135         A message to notify an app that a pipeline changed playback 
8136         duration.
8137         Also fix a GstMessage leak in -launch
8138
8139 2005-10-18  Andy Wingo  <wingo@pobox.com>
8140
8141         * gst/gstelement.c (gst_element_dispose): More helpful message.
8142
8143 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8144
8145         reviewed by: <delete if not using a buddy>
8146
8147         * common/gtk-doc.mak:
8148
8149 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8150
8151         * gst/gstregistry.c: (gst_registry_scan_path_level):
8152           unref a plug-in we get that was already initialized
8153
8154 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
8155
8156         * docs/gst/gstreamer-sections.txt:
8157         * docs/libs/gstreamer-libs-sections.txt:
8158         * gst/gstelement.h:
8159           add new api entries
8160           hide internal macro
8161
8162 2005-10-17  Andy Wingo  <wingo@pobox.com>
8163
8164         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8165         cleanup.
8166
8167         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8168
8169         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8170
8171         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8172         (gst_element_get_state_func): Better debug message.
8173         (gst_element_commit_state): s/INFO/DEBUG/.
8174         (gst_element_lost_state, gst_element_change_state): 
8175
8176         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8177         (gst_message_new_custom): s/INFO/LOG/.
8178
8179 2005-10-17  Michael Smith <msmith@fluendo.com>
8180
8181         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8182           Check if end time is valid using end time, not start time.
8183
8184 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8185
8186         * check/gst-libs/controller.c: (GST_START_TEST),
8187         (gst_controller_suite):
8188         * libs/gst/controller/gstcontroller.c:
8189         (gst_controlled_property_set_interpolation_mode):
8190         * libs/gst/controller/gstcontroller.h:
8191         * libs/gst/controller/gstinterpolation.c:
8192         * testsuite/controller/.cvsignore:
8193         * testsuite/controller/Makefile.am:
8194         * testsuite/controller/interpolator.c:
8195           merge controller testsuites
8196           fix broken tests
8197           remove mem-chunk from docs
8198
8199 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8200
8201         * gst/gstmemchunk.c:
8202         * gst/gstmemchunk.h:
8203         * gst/gsttrashstack.c:
8204         * gst/gsttrashstack.h:
8205           out.  get out.  you're fired.  to the Attic !
8206
8207 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8208
8209         * gst/gstcaps.c: (gst_caps_intersect):
8210           fix signedness issues in a (hopefully) correct way
8211         * gst/gstelement.c: (gst_element_pads_activate):
8212           some debugging
8213         * gst/gstobject.c: (gst_object_set_parent):
8214           some debugging
8215
8216 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8217
8218         * gst/gstvalue.h: Fix prototypes.
8219
8220 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8221
8222         * docs/gst/gstreamer-sections.txt:
8223         * gst/gst.c: (gst_version_string):
8224         * gst/gst.h:
8225         * gst/gstversion.h.in:
8226         * win32/common/libgstreamer.def:
8227           add gst_version_string ()
8228
8229 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8230
8231         * configure.ac:
8232           clean up further
8233         * gst/gst.c: (init_post):
8234         * win32/common/config.h.in:
8235           it's PLUGINDIR now
8236         * gst/gstcaps.c: (gst_caps_intersect):
8237           use gint64, the range could be bigger than a guint
8238
8239 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8240
8241         * gst/gstclock.h:
8242           document potential problem in 2038
8243
8244 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8245
8246         * gst/gstcaps.c: (gst_caps_intersect):
8247           Fix guint j diving under 0
8248
8249 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8250
8251         * configure.ac:
8252         * win32/common/config.h:
8253         * win32/common/config.h.in:
8254           check for process.h, declares getpid() on Windows
8255         * gst/gstinfo.c:
8256           include process.h if we have it
8257         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8258         * gst/gstmemchunk.h:
8259           fix signedness issues
8260         * win32/common/libgstreamer.def:
8261           fix get_type's
8262
8263 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8264
8265         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8266         fix. Because of unsigned ints, caps intersection was going nuts and
8267         trying to access structures with G_MAXUINT index. That fixes
8268         videotestsrc ! ffmpegcolorspace ! fakesink
8269         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8270         consistency.
8271
8272 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8273
8274         * configure.ac:
8275           use the gettext macro
8276         * gst/elements/gstelements.c:
8277         * gst/gst.c:
8278         * gst/indexers/gstindexers.c:
8279           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8280         * win32/common/config.h:
8281           updated config.h
8282         * win32/common/config.h.in:
8283           add the template to generate config.h
8284         * win32/common/gstenumtypes.c:
8285         * win32/common/gstversion.h:
8286           updated copies
8287
8288 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8289
8290         * gst/gst.c: (gst_version):
8291         * gst/gstversion.h.in:
8292           add the nano
8293
8294 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8295
8296         * gst/gstevent.h:
8297           Oops, add missing closing bracket.
8298
8299 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8300
8301         * configure.ac:
8302           use common m4's for argument checking
8303
8304 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8305
8306         * docs/gst/gstreamer-sections.txt:
8307         * gst/gstevent.h:
8308           Add GST_EVENT_TYPE_NAME() macro.
8309
8310 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8311
8312         * gst/gstinfo.c:
8313         * gst/gstpluginfeature.c:
8314         * gst/gsttask.c:
8315           privatize more symbols
8316
8317 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8318
8319         * configure.ac:
8320           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8321           everything that uses GStreamer API should have the includes
8322
8323 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8324
8325         * docs/gst/gstreamer-sections.txt:
8326         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8327         * gst/gstvalue.h:
8328           give each value a _get_type, removes the DATA exports
8329
8330 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8331
8332         * gst/gst.c:
8333         * gst/gst.h:
8334           remove _gst_registry_auto_load, not used anymore
8335         * gst/gstbin.c: (gst_bin_get_type):
8336         * gst/gstbin.h:
8337         * gst/gstelement.c: (gst_element_get_type):
8338         * gst/gstelement.h:
8339         * gst/gstobject.c: (gst_object_get_type):
8340         * gst/gstobject.h:
8341         * gst/gstpad.c: (gst_pad_get_type):
8342         * gst/gstpad.h:
8343           make _get_type functions similar, fixes data export from library
8344
8345 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8346
8347         * configure.ac:
8348           correctly make conditionals
8349         * gst/elements/Makefile.am:
8350         * gst/elements/gstelements.c:
8351           fix typo causing fdsrc not to build
8352
8353 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8354
8355         * testsuite/Makefile.am:
8356         * testsuite/bytestream/.cvsignore:
8357         * testsuite/bytestream/Makefile.am:
8358         * testsuite/bytestream/filepadsink.c:
8359         * testsuite/bytestream/gstbstest.c:
8360         * testsuite/bytestream/test1.c:
8361         * testsuite/bytestream/testfile1:
8362         * testsuite/caps/normalisation.c:
8363         * testsuite/caps/random.c: (main):
8364         * testsuite/cleanup/.cvsignore:
8365         * testsuite/cleanup/Makefile.am:
8366         * testsuite/cleanup/cleanup1.c:
8367         * testsuite/cleanup/cleanup2.c:
8368         * testsuite/cleanup/cleanup3.c:
8369         * testsuite/cleanup/cleanup4.c:
8370         * testsuite/cleanup/cleanup5.c:
8371         * testsuite/controller/interpolator.c:
8372         * testsuite/debug/printf_extension.c: (main):
8373         * testsuite/elements/tee.c:
8374         * testsuite/negotiation/.cvsignore:
8375         * testsuite/negotiation/Makefile.am:
8376         * testsuite/negotiation/pad_link.c:
8377         * testsuite/pad/Makefile.am:
8378         * testsuite/pad/chainnopull.c:
8379         * testsuite/pad/getnopush.c:
8380         * testsuite/pad/link.c:
8381         * testsuite/refcounting/sched.c: (create_pipeline):
8382         * testsuite/registry/Makefile.am:
8383         * testsuite/registry/gst-print-formats.c:
8384         * testsuite/schedulers/.cvsignore:
8385         * testsuite/schedulers/142183-2.c:
8386         * testsuite/schedulers/142183.c:
8387         * testsuite/schedulers/143777-2.c:
8388         * testsuite/schedulers/143777.c:
8389         * testsuite/schedulers/147713.c:
8390         * testsuite/schedulers/147819.c:
8391         * testsuite/schedulers/147894-2.c:
8392         * testsuite/schedulers/147894.c:
8393         * testsuite/schedulers/Makefile.am:
8394         * testsuite/schedulers/group_link.c:
8395         * testsuite/schedulers/queue_link.c:
8396         * testsuite/schedulers/relink.c:
8397         * testsuite/schedulers/unlink.c:
8398         * testsuite/schedulers/unref.c:
8399         * testsuite/schedulers/useless_iteration.c:
8400         * testsuite/states/bin.c:
8401           clean out/remove some stuff from the testsuite directories
8402
8403 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8404
8405         * configure.ac:
8406           check for some headers
8407         * gst/elements/Makefile.am:
8408         * gst/elements/gstelements.c:
8409           don't compile fdsrc without sys/socket.h
8410         * gst/indexers/Makefile.am:
8411         * gst/indexers/gstindexers.c: (plugin_init):
8412           don't compile fileindex without mmap
8413
8414 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8415
8416         * configure.ac:
8417           reorganize
8418           clean up
8419           document more
8420           remove cruft
8421         * check/Makefile.am:
8422         * docs/gst/Makefile.am:
8423         * examples/helloworld/Makefile.am:
8424         * gst/Makefile.am:
8425         * gst/base/Makefile.am:
8426         * gst/check/Makefile.am:
8427         * gst/elements/Makefile.am:
8428         * gst/indexers/Makefile.am:
8429         * gst/parse/Makefile.am:
8430         * libs/gst/controller/Makefile.am:
8431         * libs/gst/dataprotocol/Makefile.am:
8432         * examples/helloworld/helloworld.c: (event_loop):
8433           compile fixes, though it's not being compiled currently
8434
8435 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8436
8437         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8438           Add some simple tests for the new taglist date API.
8439
8440 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8441
8442         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8443         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8444           Beautify 'last-message' output: print 'none' for buffer timestamps
8445           and durations if none is set; improve alignment with next messages.
8446
8447 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8448
8449         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8450         * gst/gstpluginfeature.h:
8451         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8452         * gst/gstregistry.h:
8453         * docs/gst/gstreamer-sections.txt:
8454           Add new API to check plugin feature version requirements.
8455
8456         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8457           Some basic tests for the above.         
8458
8459 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8460
8461         * gst/gststructure.c: (gst_structure_to_string):
8462           guard against NULL printf - happens when for example
8463           a message structure with GstClock gets serialized
8464
8465 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8466
8467         * gst/base/gstcollectpads.c: (gst_collectpads_event):
8468           Fix presumable copy'n'pasto.
8469
8470 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8471
8472         * gst/elements/gstfakesrc.h:
8473         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8474         * gst/elements/gsttypefindelement.c:
8475           fix some signedness
8476         * gst/elements/gstfilesink.c: (gst_file_sink_render):
8477           I wonder if this could actually write +2GB files before
8478
8479 2005-10-13  Andy Wingo  <wingo@pobox.com>
8480
8481         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8482         Fix Timmeke Waymans bug.
8483         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8484         string of the proper length to gst_caps_from_string. There's a
8485         potential for, before this fix, that this could cause someone
8486         connecting over the network to cause a segfault if the payload is
8487         not NUL-terminated.
8488
8489 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8490
8491         * docs/design/draft-push-pull.txt:
8492         * docs/design/part-overview.txt:
8493         * docs/random/TODO-pre-0.9:
8494         * docs/random/old/ChangeLog.gstreamer:
8495         * gst/base/gstpushsrc.c:
8496         * gst/gstclock.c:
8497           fixed typos
8498
8499 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8500
8501         * gst/glib-compat.c: (gst_flags_get_first_value):
8502         * gst/glib-compat.h:
8503         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8504         (gst_value_compare_double), (gst_value_serialize_flags):
8505           GLib 2.6 g_flags_get_first_value has a bug that triggers an
8506           infinite loop
8507
8508 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8509
8510         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8511         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8512           fix up debugging
8513         * tools/gst-launch.c: (event_loop):
8514           print out clock nicely
8515
8516 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8517
8518         * docs/gst/gstreamer-sections.txt:
8519         * gst/gsttaglist.h:
8520         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8521         (gst_tag_list_get_date_index):
8522           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8523           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8524
8525 2005-10-13  Julien MOUTTE  <julien@moutte.net>
8526
8527         * gst/base/gstcollectpads.c: (gst_collectpads_event),
8528         (gst_collectpads_chain):
8529         * gst/base/gstcollectpads.h: Handle newsegment and store informations
8530         in CollectData.
8531
8532 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8533
8534         * docs/gst/gstreamer-sections.txt:
8535         * gst/gst.c:
8536         * gst/gsterror.h:
8537         * tools/gst-inspect.c: (main):
8538         * tools/gst-launch.c: (main):
8539         * tools/gst-run.c: (main):
8540         * tools/gst-xmlinspect.c: (main):
8541           fix GOption context leaks
8542           doc fixes
8543
8544 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8545
8546         * gst/gstbus.c:
8547           use HAVE_UNISTD_H
8548         * win32/common/config.h:
8549           update config
8550         * win32/vs6/grammar.dsp:
8551         * win32/vs6/libgstelements.dsp:
8552         * win32/vs6/libgstreamer.dsp:
8553           update vs6 files
8554
8555 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8556
8557         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8558         * gst/base/gstbasesrc.c: (gst_base_src_query):
8559           fix more guint64<->gdouble conversions
8560
8561 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8562
8563         * Makefile.am:
8564           add win32-update target
8565         * win32/common/gstconfig.h:
8566         * win32/common/gstenumtypes.c:
8567         * win32/common/gstenumtypes.h:
8568         * win32/common/gstversion.h:
8569           add files that visual studio can't generate
8570
8571 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8572
8573         * Makefile.am:
8574           add a win32-update target
8575         * configure.ac:
8576
8577 2005-10-12  Wim Taymans  <wim@fluendo.com>
8578
8579         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8580         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8581         * gst/gstelement.c: (gst_element_commit_state),
8582         (gst_element_set_state):
8583         Protect flags with proper lock.
8584         unref provided cached clock in dispose.
8585
8586 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8587
8588         * gst/gst.c:
8589         * gst/gstminiobject.h:
8590         * gst/gstpad.h:
8591         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8592           removed unused flags from miniobject
8593           doc fixes
8594
8595 2005-10-12  Wim Taymans  <wim@fluendo.com>
8596
8597         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8598         (gst_file_sink_event), (gst_file_sink_render):
8599         Flush before seeking.
8600
8601 2005-10-12  Andy Wingo  <wingo@pobox.com>
8602
8603         * gst/gst.c (gst_init_check): Ignore unknown options, as has
8604         always been the case.
8605
8606 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8607
8608         * check/gst/gstbin.c: (GST_START_TEST):
8609         * docs/gst/gstreamer-sections.txt:
8610         * gst/base/gstbasesink.c: (gst_base_sink_init):
8611         * gst/base/gstbasesrc.c: (gst_base_src_init),
8612         (gst_base_src_get_range), (gst_base_src_check_get_range),
8613         (gst_base_src_start), (gst_base_src_stop):
8614         * gst/base/gstbasesrc.h:
8615         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
8616         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8617         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
8618         (bin_bus_handler):
8619         * gst/gstbin.h:
8620         * gst/gstbuffer.h:
8621         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8622         * gst/gstbus.h:
8623         * gst/gstelement.c: (gst_element_is_locked_state),
8624         (gst_element_set_locked_state), (gst_element_commit_state),
8625         (gst_element_set_state):
8626         * gst/gstelement.h:
8627         * gst/gstindex.c: (gst_index_init):
8628         * gst/gstindex.h:
8629         * gst/gstminiobject.h:
8630         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
8631         (gst_object_set_parent):
8632         * gst/gstobject.h:
8633         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
8634         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
8635         * gst/gstpad.h:
8636         * gst/gstpadtemplate.h:
8637         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
8638         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8639         * gst/gstpipeline.h:
8640         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8641         (gst_file_index_commit):
8642         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
8643         * testsuite/pad/link.c: (gst_test_src_init),
8644         (gst_test_filter_init), (gst_test_sink_init):
8645         * testsuite/states/locked.c: (main):
8646           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
8647           moved bitshift from macro to enum definition
8648
8649 2005-10-12  Wim Taymans  <wim@fluendo.com>
8650
8651         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8652         * gst/elements/gstfilesink.c: (gst_file_sink_event),
8653         (gst_file_sink_render):
8654         Some more debugging info.
8655
8656 2005-10-12  Wim Taymans  <wim@fluendo.com>
8657
8658         * docs/design/part-states.txt:
8659         * tools/gst-launch.c: (main):
8660         Some doc updates.
8661         Revert non-intentional change.
8662
8663 2005-10-12  Wim Taymans  <wim@fluendo.com>
8664
8665         * check/gst/gstbin.c: (GST_START_TEST):
8666         * check/gst/gstelement.c: (GST_START_TEST):
8667         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8668         * check/gst/gstghostpad.c: (GST_START_TEST):
8669         * check/gst/gstpipeline.c: (GST_START_TEST):
8670         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8671         * check/states/sinks.c: (GST_START_TEST):
8672         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8673         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8674         (gst_bin_remove_func), (gst_bin_get_state_func),
8675         (gst_bin_recalc_state), (gst_bin_change_state_func),
8676         (bin_bus_handler):
8677         * gst/gstelement.c: (gst_element_get_state_func),
8678         (gst_element_get_state), (gst_element_abort_state),
8679         (gst_element_commit_state), (gst_element_set_state),
8680         (gst_element_change_state), (gst_element_change_state_func):
8681         * gst/gstelement.h:
8682         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8683         (gst_pipeline_provide_clock_func):
8684         * gst/gstutils.c: (gst_element_link_pads_filtered):
8685         * tools/gst-launch.c: (main):
8686         * tools/gst-typefind.c: (main):
8687         Use GstClockTime in _get_state() instead of GTimeVal.
8688         Remove old code in gstutils.c
8689
8690 2005-10-12  Andy Wingo  <wingo@pobox.com>
8691
8692         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8693         removed.
8694
8695         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8696         there is no task. Shouldn't affect any code, as nothing in our
8697         plugins checks this return value.
8698         (gst_pad_stop_task): Also take the stream lock if the pad has no
8699         task. Docs updated.
8700
8701 2005-10-12  Wim Taymans  <wim@fluendo.com>
8702
8703         * gst/gstpad.c: (pre_activate), (post_activate),
8704         (gst_pad_activate_pull), (gst_pad_activate_push):
8705         Cleanup activation code. Reset old state if
8706         activation failed.
8707
8708 2005-10-12  Wim Taymans  <wim@fluendo.com>
8709
8710         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8711         (gst_base_sink_change_state):
8712         No need to prerol after receiving EOS.
8713
8714         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8715         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8716         * gst/elements/gstidentity.c: (gst_identity_event):
8717         Print events more verbosely.
8718
8719 2005-10-12  Wim Taymans  <wim@fluendo.com>
8720
8721         * check/Makefile.am:
8722         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8723         * check/states/sinks2.c:
8724         Moved sinks2 testcode in sinks check.
8725
8726         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8727         (gst_bin_remove_func), (gst_bin_recalc_state),
8728         (gst_bin_change_state_func), (bin_bus_handler):
8729         Fix potential race condition when _get_state() iterated over an
8730         ASYNC element right before it posted a state completion.
8731
8732         * gst/gstclock.h:
8733         Do proper cast here.
8734
8735         * gst/gstevent.c: (gst_event_new_newsegment),
8736         (gst_event_parse_newsegment):
8737         A playback rate of 0.0 is not allowed.
8738
8739 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8740
8741         * win32/common/config.h:
8742         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8743         (_trewinddir), (_ttelldir), (_tseekdir):
8744         * win32/common/dirent.h:
8745         * win32/common/gtchar.h:
8746         * win32/common/libgstbase.def:
8747         * win32/common/libgstreamer.def:
8748         * win32/vs6/grammar.dsp:
8749         * win32/vs6/gst_inspect.dsp:
8750         * win32/vs6/gst_launch.dsp:
8751         * win32/vs6/gstreamer.dsw:
8752         * win32/vs6/libgstbase.dsp:
8753         * win32/vs6/libgstelements.dsp:
8754         * win32/vs6/libgstreamer.dsp:
8755           Visual Studio 6 project files, and a new common directory.
8756           Phear.
8757
8758 2005-10-11  Wim Taymans  <wim@fluendo.com>
8759
8760         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8761         (gst_base_sink_do_sync), (gst_base_sink_query),
8762         (gst_base_sink_change_state):
8763         * gst/base/gstbasesink.h:
8764         Correctly parse newsegment info.
8765
8766 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8767
8768         * gst/gst.c: (init_post):
8769           split plugin paths correctly
8770
8771 2005-10-11  Wim Taymans  <wim@fluendo.com>
8772
8773         * check/gst/gstevent.c: (GST_START_TEST):
8774         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8775         (gst_base_sink_change_state):
8776         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
8777         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8778         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8779         * gst/gstevent.c: (gst_event_new_newsegment),
8780         (gst_event_parse_newsegment):
8781         * gst/gstevent.h:
8782         Added extra flag to newsegment for future API freeze.
8783         Updated check and base elements.
8784
8785 2005-10-11  Julien MOUTTE  <julien@moutte.net>
8786
8787         * gst/base/gstcollectpads.c: (gst_collectpads_init),
8788         (gst_collectpads_add_pad), (gst_collectpads_pop),
8789         (gst_collectpads_event), (gst_collectpads_chain):
8790         * gst/base/gstcollectpads.h: Handle EOS correctly.
8791
8792 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8793
8794         * tools/gst-launch.c: (main):
8795           more null protecting
8796
8797 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8798
8799         * gst/gst-i18n-lib.h:
8800           check for ENABLE_NLS, not GETTEXT_PACKAGE
8801         * gst/gstregistry.c: (gst_registry_add_plugin),
8802         (gst_registry_scan_path_level),
8803         (_gst_registry_remove_cache_plugins):
8804           protect possibly NULL strings
8805         * gst/parse/types.h:
8806           config.h already included before
8807         * tools/gst-inspect.c: (main):
8808           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
8809           check for ENABLE_NLS, not GETTEXT_PACKAGE
8810         * tools/gst-launch.c: (main):
8811           check for ENABLE_NLS, not GETTEXT_PACKAGE
8812
8813 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8814
8815         * configure.ac:
8816           if we don't have glib, fail before testing 2.8
8817         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
8818           fix a leak, should fix plugins-base testsuite
8819
8820 2005-10-11  Andy Wingo  <wingo@pobox.com>
8821
8822         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
8823         take the mode we're going to as an arg. Go head and set the mode
8824         and flushing flags now, so that if the activate function starts a
8825         thread all the flags will be in the right state.
8826         (post_activate): Renamed also. Just handle making sure streaming
8827         finishes for the deactivation case, and setting the deactivated
8828         mode.
8829         (gst_pad_set_active): Complain loudly if deactivation fails.
8830         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
8831         (gst_pad_activate_push): Adapt to pre/post_activate changes,
8832         remove the terrible hack.
8833
8834 2005-10-11  Wim Taymans  <wim@fluendo.com>
8835
8836         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8837         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
8838         (gst_bin_recalc_state), (gst_bin_change_state_func),
8839         (gst_bin_dispose), (bin_bus_handler):
8840         * gst/gstbin.h:
8841         Prepare to make current EOS message queue more generic.
8842         Fix some typos.
8843
8844         * gst/gstevent.c: (gst_event_new_newsegment),
8845         (gst_event_parse_newsegment):
8846         * gst/gstevent.h:
8847         Rename base to stream_time.
8848
8849         * gst/gstmessage.h:
8850         Fix typo in docs.
8851
8852 2005-10-11  Wim Taymans  <wim@fluendo.com>
8853
8854         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8855         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
8856         (gst_bin_change_state_func), (bin_bus_handler):
8857         * gst/gstbin.h:
8858         Work on proper clock selection.
8859
8860 2005-10-11  Edward Hervey  <edward@fluendo.com>
8861
8862         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
8863         * libs/gst/controller/gstcontroller.h:
8864         Added GList* version of _remove_properties() in order to be able to wrap
8865         it in bindings.
8866
8867 2005-10-11  Wim Taymans  <wim@fluendo.com>
8868
8869         * docs/design/part-states.txt:
8870         Some more docs.
8871
8872         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
8873         (gst_bin_change_state_func), (bin_bus_handler):
8874         Doc updates. Don't distribute the same clock over and over again.
8875
8876         * gst/gstclock.c:
8877         * gst/gstclock.h:
8878         Doc updates.
8879
8880         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
8881         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
8882         (gst_pad_send_event):
8883         * gst/gstpad.h:
8884         Make probe emission threadsafe again.
8885         Register quarks and move _get_name() from utils.
8886         Doc updates.
8887
8888         * gst/gstpipeline.c: (gst_pipeline_class_init),
8889         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8890         Only redistribute the clock of it changed.
8891
8892         * gst/gstsystemclock.h:
8893         Doc updates. 
8894
8895         * gst/gstutils.c:
8896         * gst/gstutils.h:
8897         Moved the _flow_get_name() to GstPad.
8898
8899 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8900
8901         * check/gst-libs/gdp.c: (GST_START_TEST):
8902         * check/gst/gstcaps.c: (GST_START_TEST):
8903         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8904         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
8905         (gst_dp_packet_from_caps):
8906           fix more valgrind warnings before turning up the heat
8907
8908 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8909
8910         * gst/parse/grammar.y:
8911           some cleanup before the hacking
8912
8913 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8914
8915         * gst/base/gstbasesrc.c: (gst_base_src_query):
8916           use conversions
8917         * gst/gstutils.c: (gst_guint64_to_gdouble),
8918         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
8919         * gst/gstutils.h:
8920           externalize, basesrc uses it
8921           obviously the implementation needs testing
8922
8923 2005-10-10  Wim Taymans  <wim@fluendo.com>
8924
8925         * tests/sched/Makefile.am:
8926         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
8927         (make_pipeline3), (make_pipeline4), (print_elem), (main):
8928
8929 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8930
8931         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
8932           apparently converting from guint64 to double is not implemented
8933           on MSVC
8934
8935 2005-10-10  Wim Taymans  <wim@fluendo.com>
8936
8937         * check/Makefile.am:
8938         * check/generic/states.c: (GST_START_TEST):
8939         * check/gst/gstbin.c: (GST_START_TEST):
8940         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
8941         * check/states/sinks.c: (GST_START_TEST):
8942         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
8943         (main):
8944         Check fixes, use API as stated in design docs, remove hacks.
8945
8946         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8947         (gst_base_sink_change_state):
8948         Catch stopping our task while we're shutting down.
8949
8950         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
8951         (gst_bin_remove_func), (gst_bin_get_state_func),
8952         (gst_bin_recalc_state), (gst_bin_change_state_func),
8953         (bin_bus_handler):
8954         * gst/gstbin.h:
8955         * gst/gstelement.c: (gst_element_init),
8956         (gst_element_get_state_func), (gst_element_abort_state),
8957         (gst_element_commit_state), (gst_element_lost_state),
8958         (gst_element_set_state), (gst_element_change_state),
8959         (gst_element_change_state_func):
8960         * gst/gstelement.h:
8961         New state change algorithm (see #318116)
8962
8963         * gst/gstpipeline.c: (gst_pipeline_class_init),
8964         (gst_pipeline_init), (gst_pipeline_set_property),
8965         (gst_pipeline_get_property), (do_pipeline_seek),
8966         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8967         * gst/gstpipeline.h:
8968         Remove crude state change hacks.
8969
8970         * gst/gstutils.h:
8971         Remove crude hacks.
8972
8973         * tools/gst-launch.c: (main):
8974         Fixes for state change. Needs some more work to fully use the
8975         new stuff.
8976
8977 2005-10-10  Andy Wingo  <wingo@pobox.com>
8978
8979         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
8980
8981         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
8982         this flag, but it's not even in GLib 2.6. Odd. Hack around the
8983         issue.
8984
8985 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
8986
8987         * gst/gstiterator.c: (gst_iterator_new):
8988           Fix my previous commit: GTypes passed to gst_iterator_new()
8989           can be fundamental types.
8990
8991 2005-10-10  Wim Taymans  <wim@fluendo.com>
8992
8993         * gst/gstelement.c: (gst_element_iterate_pad_list),
8994         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
8995         (gst_element_iterate_sink_pads):
8996         Use src/sink pads lists for the respective iterators instead
8997         of filtering.
8998
8999 2005-10-10  Andy Wingo  <wingo@pobox.com>
9000
9001         Merged in popt removal + GOption addition patch from Ronald, bug
9002         #169772.
9003
9004         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9005         GstElement macros around, remove popt-related symbols, add goption
9006         stuff.
9007
9008         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9009         
9010         * docs/gst/Makefile.am:
9011         * docs/libs/Makefile.am: No POPT_CFLAGS.
9012         
9013         * examples/manual/Makefile.am:
9014         * docs/manual/basics-init.xml: Doc updates with an example.
9015         
9016         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9017         (gst_init), (parse_one_option), (parse_goption_arg):
9018         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9019         bit of hand merging and debugging to get the GOption stuff working
9020         tho.
9021         
9022         * tests/Makefile.am:
9023         * tools/Makefile.am:
9024         * tools/gst-inspect.c: (main):
9025         * tools/gst-launch.c: (main):
9026         * tools/gst-run.c: (main):
9027         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9028
9029 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9030
9031         * gst/gstiterator.c: (gst_iterator_new):
9032           Add assertions to make sure passed GType is likely to really
9033           be a GType (as the compiler won't catch it if the size and
9034           GType arguments get mixed up, see #318447).
9035
9036 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
9037
9038         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9039
9040         * gst/gstbin.c: (gst_bin_iterate_sorted):
9041           Pass GType and size arguments to gst_iterator_new() in the right
9042           order (maybe we should make _new() take the GType as first argument
9043           just like _new_list()?) (#318447).
9044           
9045
9046 2005-10-10  Wim Taymans  <wim@fluendo.com>
9047
9048         * gst/gstelement.c: (gst_element_finalize):
9049         And free the GStaticRecMutex too
9050
9051 2005-10-10  Andy Wingo  <wingo@pobox.com>
9052
9053         * gst/gstelement.c (gst_element_init, gst_element_finalize):
9054         Allocate and free the mutex properly.
9055
9056         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9057         New macros.
9058         (GstElement): The state_lock is now recursive. Rebuild your
9059         plugins, suckers. Old macros adapted.
9060
9061         * docs/gst/gstreamer-sections.txt: Doc updates.
9062
9063         * gst/gstutils.h:
9064         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
9065         (g_static_rec_cond_wait): Ported from state changes patch, while
9066         we wait on bug #317802 to be solved in a well-distributed GLib.
9067
9068         * gst/gstelement.c (gst_element_change_state_func): Renamed from
9069         gst_element_change_state, variable name changes.
9070         (gst_element_change_state): Split out of gst_element_set_state in
9071         preparation for the state change merge. Doesn't pay attention to
9072         the 'transition' argument.
9073         (gst_element_set_state): Updates, hopefully purely cosmetic.
9074         (gst_element_sync_state_with_parent): MT-safety. Ported from the
9075         state change patch.
9076         (gst_element_get_state_func): Renamed from get_state, cosmetic
9077         changes.
9078
9079 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9080
9081         * gst/elements/gstelements.c:
9082         * win32/GStreamer.vcproj:
9083         * win32/config.h:
9084         * win32/dirent.c: (_tseekdir):
9085         * win32/gst-inspect.vcproj:
9086         * win32/gst-launch.vcproj:
9087         * win32/gstconfig.h:
9088         * win32/gstelements.vcproj:
9089         * win32/gstenumtypes.c: (gst_object_flags_get_type):
9090         * win32/gstreamer.def:
9091         * win32/msvc71.sln:
9092           updates for the win32 build (patch from Sebastien Moutte)
9093
9094 2005-10-10  Andy Wingo  <wingo@pobox.com>
9095
9096         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9097         gst_bin_get_state, cleaned up (but no logic changes).
9098         (bin_element_is_sink): Comment updates.
9099         (sink_iterator_filter): Remove needless cast.
9100         (gst_bin_iterate_sinks): Doc update.
9101         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9102         cleaned up (but no logic changes).
9103
9104         * check/states/sinks.c (test_src_sink): Cleanups from the state
9105         change patch.
9106         (test_livesrc_sink): Sync on the state.
9107
9108         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9109         the state change patch.
9110
9111         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9112         change patch.
9113
9114         * check/gst/gstbin.c: Merge in some style fixes and additional
9115         checks from Wim's state change patch.
9116
9117 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9118
9119         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9120         (gst_type_find_helper):
9121           Check whether we have the requested data already in our list of
9122           cached buffers before pulling a new buffer; also make the buffer
9123           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9124
9125 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9126
9127         * gst/gstcaps.c:
9128         * gst/gstevent.c:
9129           doc updates
9130         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9131           don't use long long, it's not portable.  Replacing with
9132           gint64 seems to work; let's hope no skeletons fall out of the closet.
9133
9134 2005-10-10  Andy Wingo  <wingo@pobox.com>
9135
9136         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9137
9138 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
9139
9140         * docs/gst/gstreamer-sections.txt:
9141         * gst/gstevent.c:
9142         * gst/gstevent.h:
9143         * gst/gstinfo.c:
9144         * gst/gstinfo.h:
9145         * gst/gstmessage.c: (gst_message_parse_state_changed):
9146         * gst/gstpad.c:
9147         * gst/gstpad.h:
9148           more docs, fix compilation
9149
9150 2005-10-09  Philippe Khalaf <burger@speedy.org>
9151         * gst/gstmessage.c:
9152           Fixed a few forgotten variables on previous commit
9153
9154 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9155
9156         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9157           Fix evil typefind crasher: getrange() might return a short
9158           buffer at the end of a file, but gst_type_find_peek() must
9159           either return the full data as requested or NULL, but
9160           never a short buffer.
9161
9162 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9163
9164         * gst/gstmessage.c: (gst_message_new_state_changed),
9165         (gst_message_parse_state_changed):
9166         * gst/gstmessage.h:
9167           don't use "new", it's a C++ keyword
9168
9169 2005-10-08  Wim Taymans  <wim@fluendo.com>
9170
9171         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9172         * gst/gstelement.c: (gst_element_post_message):
9173         * gst/gstpipeline.c: (gst_pipeline_change_state):
9174         Small docs and debug updates.
9175
9176 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9177
9178         * docs/gst/gstreamer-sections.txt:
9179         * gst/gstelementfactory.c:
9180         * gst/gstevent.c:
9181         * gst/gsttaglist.c:
9182           more docs
9183
9184 2005-10-08  Wim Taymans  <wim@fluendo.com>
9185
9186         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9187         (gst_bin_dispose), (bin_bus_handler):
9188         Fix typos, add comments.
9189         Clear EOS list when going to PAUSED from any direction and do it
9190         in a threadsafe way.
9191         Get base time in a threadsafe way too.
9192         Fix confusing debug in the change_state function.
9193         Various other small cleanups.
9194         
9195         * gst/gstelement.c: (gst_element_post_message):
9196         Fix very verbose bus posting code.
9197
9198         * gst/gstpipeline.c: (gst_pipeline_class_init),
9199         (gst_pipeline_set_property), (gst_pipeline_get_property),
9200         (gst_pipeline_change_state):
9201         Small ARG_ -> PROP_ cleanup
9202
9203 2005-10-08  Wim Taymans  <wim@fluendo.com>
9204
9205         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9206         Do a less CPU demanding EOS check because we can.
9207
9208 2005-10-08  Wim Taymans  <wim@fluendo.com>
9209
9210         * libs/gst/dataprotocol/dataprotocol.c:
9211         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9212         (gst_dp_packet_from_event):
9213         * libs/gst/dataprotocol/dataprotocol.h:
9214         * libs/gst/dataprotocol/dp-private.h:
9215         It's about time we bump the version number.
9216         Since event types don't fit in the guint8 anymore describing
9217         the payload type, make payload type 16 bits wide.
9218
9219 2005-10-08  Wim Taymans  <wim@fluendo.com>
9220
9221         * docs/design/part-TODO.txt:
9222         * docs/design/part-clocks.txt:
9223         * docs/design/part-events.txt:
9224         * docs/design/part-gstbin.txt:
9225         * docs/design/part-gstelement.txt:
9226         * docs/design/part-gstpipeline.txt:
9227         * docs/design/part-live-source.txt:
9228         * docs/design/part-messages.txt:
9229         * docs/design/part-overview.txt:
9230         * docs/design/part-states.txt:
9231         Many doc updates.
9232
9233 2005-10-08  Wim Taymans  <wim@fluendo.com>
9234
9235         * gst/gstevent.c:
9236         * gst/gstevent.h:
9237         Fix event quark registration.
9238         Add some space between events so we can insert them in the
9239         right groups.
9240
9241 2005-10-08  Wim Taymans  <wim@fluendo.com>
9242
9243         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9244         (gst_base_sink_handle_buffer):
9245         Better log message.
9246
9247         * gst/gstbus.h:
9248         * gst/gstelement.h:
9249         More docs.
9250
9251         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9252         (gst_queue_set_property), (gst_queue_get_property):
9253         * gst/gstqueue.h:
9254         Remove old unused properties.
9255
9256 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9257         * docs/gst/gstreamer-sections.txt:
9258         * gst/gstmessage.c:
9259         * gst/gstmessage.h:
9260         * gst/gstminiobject.c:
9261         * gst/gstminiobject.h:
9262         * gst/gstobject.h:
9263         * gst/gstpad.h:
9264         * gst/gstutils.h:
9265           lots of new docs and doc fixes
9266
9267 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9268
9269         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9270         * gst/gstplugin.h:
9271         * gst/gstregistry.c: (gst_registry_lookup_locked),
9272         (gst_registry_scan_path_level):
9273         * gst/gstregistryxml.c: (load_plugin):
9274           Only ever load one plugin for a given plugin basename.
9275           This ensures correct overriding of GST_PLUGIN_PATH over
9276           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9277           system installed plugins.
9278
9279 2005-10-08  Wim Taymans  <wim@fluendo.com>
9280
9281         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9282         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9283         Prepare for doing QOS.
9284
9285 2005-10-08  Wim Taymans  <wim@fluendo.com>
9286
9287         * check/gst/gstbin.c: (GST_START_TEST):
9288         * check/pipelines/cleanup.c: (GST_START_TEST):
9289         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9290         Allow new clock message too.
9291
9292 2005-10-08  Wim Taymans  <wim@fluendo.com>
9293
9294         * gst/gstmessage.c: (gst_message_new_error),
9295         (gst_message_new_warning), (gst_message_new_tag),
9296         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9297         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9298         (gst_message_new_segment_start), (gst_message_new_segment_done),
9299         (gst_message_parse_state_changed),
9300         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9301         (gst_message_parse_new_clock):
9302         * gst/gstmessage.h:
9303         Also carry the clock in question.
9304
9305 2005-10-08  Wim Taymans  <wim@fluendo.com>
9306
9307         * gst/gstmessage.c: (gst_message_new_custom),
9308         (gst_message_new_eos), (gst_message_new_error),
9309         (gst_message_new_warning), (gst_message_new_tag),
9310         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9311         (gst_message_new_new_clock), (gst_message_new_segment_start),
9312         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9313         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9314         * gst/gstmessage.h:
9315         Clean up.
9316         Added clock related messages.
9317
9318         * gst/gstpipeline.c: (gst_pipeline_change_state):
9319         Post message when the clock changed.
9320
9321         * tools/gst-launch.c: (event_loop):
9322         Print new clock.
9323
9324 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9325
9326         * tools/gst-inspect.c: (print_element_properties_info):
9327           Can't pass NULL strings to g_print() on windows.
9328
9329 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9330
9331         * docs/Makefile.am:
9332         * docs/gst/Makefile.am:
9333         * docs/gst/gstreamer-docs.sgml:
9334         * docs/gst/running.xml:
9335         * docs/version.entities.in:
9336           add a chapter on running GStreamer.
9337           document GST_DEBUG and GST_PLUGIN* env vars
9338
9339 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9340
9341         * Makefile.am:
9342           remove include dir
9343         * configure.ac:
9344           remove PLUGINS_BUILDDIR stuff
9345         * gst/gst.c: (init_post):
9346           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9347         * idiottest.mak:
9348           remove, it was condescending and not needed
9349
9350 2005-10-08  Wim Taymans  <wim@fluendo.com>
9351
9352         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9353         (gst_base_sink_handle_object), (gst_base_sink_event),
9354         (gst_base_sink_wait), (gst_base_sink_handle_event),
9355         (gst_base_sink_change_state):
9356         * gst/base/gstbasesink.h:
9357         Repost EOS message while going to PLAYING if still EOS.
9358         Make sure that when receiving a FLUSH_START we don't attempt
9359         to sync on the clock anymore.
9360
9361 2005-10-08  Wim Taymans  <wim@fluendo.com>
9362
9363         * tools/gst-launch.c: (event_loop):
9364         Better message printout.
9365
9366 2005-10-08  Wim Taymans  <wim@fluendo.com>
9367
9368         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9369         (gst_bin_child_proxy_get_children_count):
9370         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9371         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9372         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9373         (gst_child_proxy_set_valist):
9374         * gst/parse/grammar.y:
9375         Make ChildProxy threadsafe and fix mem leaks.
9376
9377 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9378
9379         * gst/gst.c: (init_post):
9380           debug the GST_PLUGIN_ env vars
9381
9382 2005-10-08  Wim Taymans  <wim@fluendo.com>
9383
9384         * check/gst/gstbin.c: (GST_START_TEST):
9385         * check/gst/gstmessage.c: (GST_START_TEST):
9386         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9387         * gst/gstelement.c: (gst_element_commit_state),
9388         (gst_element_lost_state):
9389         * gst/gstmessage.c: (gst_message_new_state_changed),
9390         (gst_message_parse_state_changed):
9391         * gst/gstmessage.h:
9392         * tools/gst-launch.c: (event_loop):
9393         Added extra field to STATE_CHANGE message with the pending
9394         state, which will be different from the new state soon.
9395
9396 2005-10-08  Wim Taymans  <wim@fluendo.com>
9397
9398         * gst/gstbus.c: (gst_bus_pop):
9399         * gst/gstclock.c:
9400         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9401         Small cleanups and doc updates.
9402
9403 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9404
9405         * gst/gst.c: (init_pre):
9406         * gst/gstbin.c: (gst_bin_add_func):
9407           log distributing clocks and base time
9408         * gst/gstregistry.c: (gst_registry_add_plugin),
9409         (gst_registry_scan_path_level), (gst_registry_scan_path):
9410           clean up the debugging output a little
9411         * gst/gstutils.c: (gst_element_state_get_name):
9412           warn about a memleak (I've actually seen this be used, though
9413           it was probably a bug)
9414
9415 2005-10-07  Wim Taymans  <wim@fluendo.com>
9416
9417         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9418         (gst_base_src_init), (gst_base_src_default_newsegment),
9419         (gst_base_src_newsegment), (gst_base_src_do_seek),
9420         (gst_base_src_loop), (gst_base_src_start):
9421         * gst/base/gstbasesrc.h:
9422         Make the newsegment event customizable by subclasses.
9423
9424 2005-10-07  Wim Taymans  <wim@fluendo.com>
9425
9426         * gst/gstevent.c: (gst_event_new_buffersize),
9427         (gst_event_parse_buffersize):
9428         * gst/gstevent.h:
9429         New event for future idea.
9430
9431 2005-10-07  Andy Wingo  <wingo@pobox.com>
9432
9433         * gst/gstelement.c (gst_element_post_message): Doc update.
9434
9435         * docs/gst/gstreamer-sections.txt: Update.
9436
9437         * gst/gstmessage.c (gst_message_new_application): Made into a
9438         function like honest API calls.
9439         (gst_message_new_element): New message type.
9440
9441         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9442
9443         * check/elements/fakesrc.c (test_no_preroll): New check, checks
9444         that setting a live fakesrc to PAUSED returns NO_PREROLL both
9445         times.
9446
9447         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9448         NO_PREROLL from gst_element_change_state to fall through.
9449
9450 2005-10-07  Wim Taymans  <wim@fluendo.com>
9451
9452         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9453         (gst_ghost_pad_do_activate_push):
9454         Activating a ghostpad with no internal pad in push mode
9455         is ok.
9456
9457 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9458
9459         * gst/gstobject.h:
9460           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9461           Fixes compilation on Windows.
9462
9463 2005-10-07  Michael Smith <msmith@fluendo.com>
9464
9465         * tools/gst-inspect.c:
9466           Print out feature and plugin count at the end when printing out
9467           all features.
9468
9469 2005-10-04  Michael Smith <msmith@fluendo.com>
9470
9471         * gst/gsterror.c: (_gst_stream_errors_init):
9472           Add another error string used in a few existing plugins.
9473
9474         * gst/gstplugin.c:
9475         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9476         * tools/gst-inspect.c: (print_element_info):
9477           When a feature disappears from a plugin (and the feature exists in
9478           the cached registry file), things went horribly wrong. This isn't a
9479           complete fix, we should actually be removing the 'missing' features
9480           from the features list when we load the actual plugin. That's not
9481           yet implemented. 
9482
9483 2005-10-04  Johan Dahlin  <johan@gnome.org>
9484
9485         * check/gst/gstiterator.c: (GST_START_TEST):
9486         * gst/gstbin.c: (gst_bin_iterate_elements),
9487         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9488         * gst/gstelement.c: (gst_element_iterate_pads):
9489         * gst/gstformat.c: (gst_format_iterate_definitions):
9490         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9491         (gst_iterator_new_list), (gst_iterator_filter):
9492         * gst/gstiterator.h:
9493         * gst/gstquery.c: (gst_query_type_iterate_definitions):
9494         Add a GType to GstIterator, update callsites and tests.
9495
9496 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9497
9498         * gst/gstpad.c: (gst_pad_event_default_dispatch):
9499           give events a chance to be handled by event probes when the pad
9500           is not linked
9501
9502 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9503
9504         * gst/gstevent.c: (gst_event_type_get_name),
9505         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9506         * gst/gstevent.h:
9507           add string representations for event types
9508
9509 2005-10-06  Wim Taymans  <wim@fluendo.com>
9510
9511         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9512         Don't use NULL pointers.
9513
9514 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9515
9516         * gst/gst_private.h:
9517         * gst/gstbus.c:
9518         * gst/gstelement.c:
9519         * gst/gstinfo.c:
9520         * gst/gstpluginfeature.c:
9521           widen the debug category in output to fit the biggest one we have
9522           add a bus category and use it
9523           play with the colors
9524           fix up some categories
9525
9526 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9527
9528         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9529           add push activation of sink ghost pads.
9530           Andye, please verify
9531
9532 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9533
9534         * gst/gstutils.c: (gst_element_link_pads):
9535           fix a bug in the case where neither element has a pad
9536         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9537           add a test for that case
9538
9539 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9540
9541         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9542           emit have-data before checking for peers.  This allows
9543           for probe handlers to connect elements.  This helps autopluggers.
9544         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9545         (gst_pad_suite):
9546           add six checks, linked/unlinked with no/true/false probe
9547
9548 2005-10-04  Wim Taymans  <wim@fluendo.com>
9549
9550         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9551         (gst_fake_sink_event), (gst_fake_sink_preroll),
9552         (gst_fake_sink_render), (gst_fake_sink_change_state):
9553         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9554         (gst_fake_src_get_property), (gst_fake_src_create),
9555         (gst_fake_src_stop):
9556         * gst/elements/gstidentity.c: (gst_identity_stop):
9557         Protect last_message with lock.
9558
9559 2005-10-04  Edward Hervey  <edward@fluendo.com>
9560
9561         * gst/gstformat.h: 
9562         Added precision in the comments for GST_FORMAT_DEFAULT
9563
9564 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
9565
9566         * tools/gst-launch.c: (main):
9567           Don't try to run erroneous pipelines.
9568
9569 2005-10-04  Julien MOUTTE  <julien@moutte.net>
9570
9571         * gst/gstbus.c: We don't need this header.
9572
9573 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9574
9575         * configure.ac:
9576           back to development
9577
9578 === release 0.9.3 ===
9579
9580 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9581
9582         * README:
9583         * configure.ac:
9584           Releasing 0.9.3, "Unregistered"
9585
9586 2005-10-03  Andy Wingo  <wingo@pobox.com>
9587
9588         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9589         whereby calling a pad's activatepush() function can start a thread
9590         that starts to push or pull before the pad gets the FLUSHING flag
9591         unset. Hack around it by holding the stream lock until the flag is
9592         set. Need to replace this with a proper solution. Together with
9593         the ghost pad fixes, this fixes mp3 playing/tagreading.
9594
9595         * docs/design/part-gstghostpad.txt: Add a note about activation of
9596         proxy pads outside of ghost pads.
9597
9598         * gst/gstghostpad.c: Implement the ghost pad activation design.
9599
9600 2005-10-02  Andy Wingo  <wingo@pobox.com>
9601
9602         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9603         It is volatile, after all.
9604
9605         * docs/design/part-gstghostpad.txt: Flesh out activation with
9606         ghost pads.
9607
9608         * gst/base/gstbasesrc.c (gst_base_src_init): Use
9609         GST_DEBUG_FUNCPTR.
9610
9611 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9612
9613         * configure.ac:
9614           Fix (unused) AM_CONDITIONAL tests.
9615
9616 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
9617
9618         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9619
9620         * gst/gstutils.c: (gst_pad_query_convert):
9621           Add assertion that makes sure src_val is >=0, just like
9622           gst_query_new_convert() has. (#315895)
9623
9624 2005-09-30  Edward Hervey  <edward@fluendo.com>
9625
9626         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
9627         Let's not iterate pads we're not interested in, it avoids getting 
9628         sky-high refcounts on sinkpad.
9629
9630 2005-09-30  Wim Taymans  <wim@fluendo.com>
9631
9632         * gst/gstelement.c: (gst_element_set_state),
9633         (gst_element_change_state):
9634         Small tweak, element in ASYNC remains ASYNC.
9635
9636 2005-09-30  Wim Taymans  <wim@fluendo.com>
9637
9638         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9639         Only error is an error.
9640
9641         * gst/gstbin.c: (gst_bin_change_state):
9642         Better debugging.
9643
9644         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
9645         Also call pad_block in pad alloc.
9646
9647         * gst/gstutils.c: (gst_flow_get_name):
9648         Better debugging.
9649
9650 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9651
9652         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9653         (gst_base_src_get_range):
9654           Fix documentation typos. Add some more debug info.
9655
9656 2005-09-29  David Schleef  <ds@schleef.org>
9657
9658         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9659           more end-user friendly.
9660         * tools/gst-inspect.c: (main): Check if command-line argument is
9661           a file and attempt to load that file as a plugin.
9662
9663 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9664
9665         * check/gst/gstbin.c:
9666         * check/states/sinks.c:
9667           fix tests for the new warning
9668         * check/gst/gstpipeline.c:
9669           add a test for pipeline and bus interaction
9670         * gst/gstelement.c:
9671           elements should be NULL if they get disposed; add a warning if not
9672
9673 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9674
9675         * gst/gstobject.c:
9676           for 2.6 refcounting, make debug log more correct by printing
9677           the actual refcounts at the time of swap (Wim)
9678
9679 2005-09-29  Andy Wingo  <wingo@pobox.com>
9680
9681         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9682         removes signal watches previously added via
9683         gst_bus_add_signal_watch.
9684         (gst_bus_add_signal_watch): Don't return the source id, just store
9685         it on the bus if there wasn't an id already.
9686
9687         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9688         add_signal_watch and remove_signal_watch.
9689
9690 2005-09-29  Edward Hervey  <edward@fluendo.com>
9691
9692         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
9693         Better if we actually iterate the list :)
9694
9695 2005-09-29  Wim Taymans  <wim@fluendo.com>
9696
9697         * check/gst/gstbin.c: (GST_START_TEST):
9698         Change for new bus API.
9699
9700         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9701         (send_messages), (GST_START_TEST), (gstbus_suite):
9702         Change for new bus signal API.
9703
9704         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9705         (gst_bus_source_prepare), (gst_bus_source_check),
9706         (gst_bus_create_watch), (gst_bus_add_watch_full),
9707         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9708         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9709         * gst/gstbus.h:
9710         Remove support for multiple GSources operating on different
9711         message types as it is too complex and unneeded when using
9712         signals.
9713         Added support for receiving signals from the bus.
9714
9715 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9716
9717         * docs/libs/tmpl/gstdataprotocol.sgml:
9718         * docs/manual/advanced-dataaccess.xml:
9719         * gst/elements/gstcapsfilter.c:
9720         * gst/gstutils.c:
9721           rename filter-caps to caps property
9722
9723 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9724
9725         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9726           More robust fraction string parsing.
9727
9728         * docs/pwg/appendix-porting.xml:
9729           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9730
9731 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9732
9733         * gst/gstcaps.c: (gst_caps_do_simplify):
9734           Thou shalt not free a structure and then continue using it
9735           in the next loop iteration.
9736
9737         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9738         (gst_caps_suite):
9739           Add test case for caps simplification.
9740
9741 2005-09-29  Wim Taymans  <wim@fluendo.com>
9742
9743         * check/gst/gstbin.c: (GST_START_TEST):
9744         Oops.
9745
9746 2005-09-29  Wim Taymans  <wim@fluendo.com>
9747
9748         * check/gst/gstbin.c: (GST_START_TEST):
9749         Add bus to bin.
9750
9751         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9752         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9753         (find_element), (gst_bin_sort_iterator_next),
9754         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9755         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9756         (gst_bin_change_state), (gst_bin_dispose):
9757         A bin does not have a bus, it gets the bus from the parent.
9758
9759         * gst/gstelement.c: (gst_element_requires_clock),
9760         (gst_element_provides_clock), (gst_element_is_indexable),
9761         (gst_element_is_locked_state), (gst_element_change_state),
9762         (gst_element_set_bus_func):
9763         Small cleanups.
9764
9765         * gst/gstpipeline.c: (gst_pipeline_class_init),
9766         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9767         The pipeline provides a bus.
9768
9769 2005-09-28  Johan Dahlin  <johan@gnome.org>
9770
9771         * gst/gstmessage.c (gst_message_parse_state_changed): Use
9772         gst_structure_get_enum instead of gst_structure_get_int
9773
9774         * gst/gststructure.c (gst_structure_get_enum): Impl.
9775
9776         * gst/gststructure.h (gst_structure_get_enum): Add
9777
9778         * docs/gst/gstreamer-sections.txt: Ditto
9779
9780         * gst/gstmessage.c (gst_message_new_state_changed): Use
9781         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
9782         which does introspection.
9783         Reviewed by Christian Schaller
9784
9785 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9786
9787         * gst/gstinfo.c: (gst_debug_log_default):
9788           don't do dummy g_strdup()s
9789         * libs/gst/controller/gstcontroller.c:
9790         (on_object_controlled_property_changed),
9791         (gst_controlled_property_new), (gst_controller_new_valist),
9792         (gst_controller_new_list),
9793         (gst_controller_remove_properties_valist), (gst_controller_set),
9794         (gst_controller_get), (gst_controller_sync_values),
9795         (gst_controller_get_value_array), (_gst_controller_class_init),
9796         (gst_controller_get_type):
9797         * libs/gst/controller/gstcontroller.h:
9798         * libs/gst/controller/gstinterpolation.c:
9799         (gst_controlled_property_find_timed_value_node):
9800           convert // to /**/ comments
9801
9802 2005-09-28  Wim Taymans  <wim@fluendo.com>
9803
9804         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
9805         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
9806         (gst_bus_sync_signal_handler):
9807         * gst/gstbus.h:
9808         Added async-message and sync-message signals to the bus.
9809         Added helper BusFunc to emit signals for all posted messages.
9810
9811         * gst/gstmessage.c: (gst_message_type_get_name),
9812         (gst_message_type_to_quark), (gst_message_get_type):
9813         * gst/gstmessage.h:
9814         Register quarks for message names.
9815
9816 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9817
9818         * docs/libs/gstreamer-libs-sections.txt:
9819         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9820         (gst_controller_new_list):
9821         * libs/gst/controller/gstcontroller.h:
9822           added another constructor for language bindings
9823
9824 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9825
9826         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9827           add another check
9828         * gst/gstbus.c:
9829           add some doc
9830         * gst/gstinfo.c: (_gst_debug_init):
9831           slightly more readable color for refcount debugging
9832
9833 2005-09-28  Wim Taymans  <wim@fluendo.com>
9834
9835         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9836         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9837         (find_element), (gst_bin_sort_iterator_next),
9838         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9839         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9840         (gst_bin_change_state), (gst_bin_dispose):
9841         Small doc fixes. get_clock -> provide_clock.
9842
9843         * gst/gstelement.c: (gst_element_class_init),
9844         (gst_element_provides_clock), (gst_element_provide_clock),
9845         (gst_element_get_clock), (gst_element_commit_state),
9846         (gst_element_lost_state):
9847         * gst/gstelement.h:
9848         Make get/set_clock() symetric. Add provide_clock vmethod since
9849         that is actually what this function does.
9850
9851         * gst/gstpipeline.c: (gst_pipeline_class_init),
9852         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
9853         (gst_pipeline_get_clock):
9854         get_clock -> provide_clock.
9855
9856 2005-09-28  Andy Wingo  <wingo@pobox.com>
9857
9858         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
9859         lieu of real docs...
9860
9861         * gst/elements/gstfdsrc.c: Cleaned up a bit.
9862
9863 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
9864
9865         * gst/elements/gstcapsfilter.c:
9866         * gst/elements/gstfakesink.c:
9867         * gst/elements/gstfakesrc.c:
9868         * gst/elements/gstfdsink.c:
9869         * gst/elements/gstfdsrc.c:
9870         * gst/elements/gstfilesink.c:
9871         * gst/elements/gstfilesrc.c:
9872         * gst/elements/gstidentity.c:
9873         * gst/elements/gsttee.c:
9874         * gst/elements/gsttypefindelement.c:
9875           Make element details static.
9876
9877 2005-09-28  Wim Taymans  <wim@fluendo.com>
9878
9879         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9880         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9881         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9882         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9883         (gst_bin_change_state), (gst_bin_dispose):
9884         Some documentation updates.
9885         Clean up dispose handlers.
9886
9887         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
9888         * gst/gstpad.c: (gst_pad_dispose):
9889         Clean up dispose handler.
9890
9891         * gst/gstpipeline.c: (gst_pipeline_change_state):
9892         Removed spurious UNLOCK.
9893
9894 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
9895
9896         * docs/gst/gstreamer-sections.txt:
9897         * gst/base/gstbasesrc.h:
9898         * gst/gstelement.h:
9899         * gst/gstevent.h:
9900         * gst/gstobject.h:
9901         * gst/gstpad.h:
9902         * gst/gstpipeline.c:
9903         * gst/gstpipeline.h:
9904         * gst/gstutils.h:
9905         * gst/gstxml.h:
9906           added two new functions to the docs
9907                 documents all undocumented GstXXXFlags
9908                 completed some incomplete docs 
9909
9910 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9911
9912         * gst/gstbin.c: (gst_bin_dispose):
9913         * gst/gstelement.c: (gst_element_dispose):
9914           remove now useless and leaky resurrection code in dispose
9915         * gst/base/gstbasesrc.c: (gst_base_src_init):
9916         * gst/gstelementfactory.c: (gst_element_factory_create):
9917         * gst/gstobject.c: (gst_object_set_parent):
9918           add some debugging
9919
9920 2005-09-27  Wim Taymans  <wim@fluendo.com>
9921
9922         * docs/design/part-TODO.txt:
9923         Update TODO.
9924
9925         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9926         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9927         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9928         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9929         (gst_bin_change_state):
9930         * gst/gstelement.h:
9931         Remove element variable, we keep element info in the iterator now.
9932
9933 2005-09-27  Andy Wingo  <wingo@pobox.com>
9934
9935         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
9936         values.
9937
9938 2005-09-27  Wim Taymans  <wim@fluendo.com>
9939
9940         * check/gst/gstbin.c: (GST_START_TEST):
9941         Enable check that works now.
9942
9943         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9944         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9945         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9946         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9947         (gst_bin_change_state):
9948         * gst/gstbin.h:
9949         Redid the state change algorithm using a topological sort algo.
9950         Handles all cases correctly.
9951         Exposed iterator for state change order.
9952
9953         * gst/gstelement.h:
9954         Temp storage for state changes. Need to get rid of this soon.
9955
9956 2005-09-27  Wim Taymans  <wim@fluendo.com>
9957
9958         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
9959         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
9960         (link_fold_func), (gst_pad_proxy_setcaps):
9961         Leak fixes, the fold functions need to unref the passed object and
9962         _get_parent_*() returns ref to parent.
9963
9964 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9965
9966         * check/gst/gstbuffer.c: (test_make_writable):
9967           Plug leak in test case and fix 'make check-valgrind'
9968
9969 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
9970
9971         * gst/gstbuffer.c: (gst_subbuffer_init):
9972           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
9973           works correctly in all circumstances (we could have just copied
9974           the parent buffer's readonly flag, but conceptually it seems
9975           cleaner to mark all subbuffers as read-only). (based on patch
9976           by Alessandro Decina, #314710).
9977         
9978         * check/gst/gstbuffer.c: (create_read_only_buffer),
9979         (test_make_writable), (test_subbuffer_make_writable),
9980         (gst_test_suite):
9981           Add some tests for gst_buffer_make_writable().
9982
9983 2005-09-27  Wim Taymans  <wim@fluendo.com>
9984
9985         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
9986         use gst_object_has_ancestor().
9987
9988         * gst/gstobject.c: (gst_object_has_ancestor):
9989         * gst/gstobject.h:
9990         gst_object_has_ancestor() copied from gstbin.c as it is a
9991         usefull function.
9992
9993         * tests/instantiate/create.c: (create_all_elements):
9994         * tests/lat.c: (handoff_src), (handoff_sink):
9995         * tests/sched/runxml.c: (main):
9996         * tests/seeking/seeking1.c: (main):
9997         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
9998         (main):
9999         Fix compilation of some tests.
10000
10001 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10002
10003         * gst/gsterror.h:
10004           Remove comment. GST_TYPE_G_ERROR is here to stay,
10005           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10006           (#316961, #300610).
10007
10008 2005-09-26  Wim Taymans  <wim@fluendo.com>
10009
10010         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10011         Added check that shows error in state change order.
10012
10013 2005-09-26  Wim Taymans  <wim@fluendo.com>
10014
10015         * gst/gstbin.c: (gst_bin_change_state):
10016         Make state change function use 3 queues again, we were
10017         adding elements in the wrong order.
10018
10019         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10020         Some debug info,
10021
10022         * gst/gstpad.c: (gst_pad_dispose):
10023         Added some debug info first.
10024
10025 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10026
10027         * docs/design/draft-push-pull.txt:
10028         * docs/design/part-events.txt:
10029         * docs/design/part-overview.txt:
10030         * docs/design/part-scheduling.txt:
10031           Replace all _pull_region() with _pull_range()
10032           
10033 2005-09-26  Andy Wingo  <wingo@pobox.com>
10034
10035         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10036
10037         * check/gst-libs/controller.c: Update for controller api change.
10038
10039         * configure.ac: 
10040         * tests/Makefile.am:
10041         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10042         over by GLib bug 118439.
10043         
10044         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10045         routines to a function.
10046
10047         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10048
10049         * libs/gst/controller/gsthelper.c:
10050         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10051         (gst_object_sync_values): Renamed from sink_values. Ugh.
10052
10053         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10054
10055         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10056         Renamed from controller_key, as it is exported.
10057
10058         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10059
10060 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10061
10062         * gst/Makefile.am:
10063         * gst/gst.h:
10064         * gst/gstpad.h:
10065         * gst/gstpadtemplate.h:
10066         * gst/gstquery.c:
10067         * gst/gstquery.h:
10068         * gst/gstqueryutils.c:
10069         * gst/gstqueryutils.h:
10070           remove queryutils headers after moving the two used functions
10071           to gstquery.  also fixes build problem for gstsiddec
10072
10073 2005-09-26  Michael Smith <msmith@fluendo.com>
10074
10075         * tools/gst-launch.1.in:
10076         Correct documentation in manpage of debug syntax
10077
10078 2005-09-26  Wim Taymans  <wim@fluendo.com>
10079
10080         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10081         (gst_base_src_is_seekable), (gst_base_src_change_state):
10082         Some more debugging info.
10083
10084 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10085
10086         * docs/gst/gstreamer-sections.txt:
10087         * gst/base/gstbasetransform.h:
10088         * gst/gstindex.h:
10089           added more docs
10090
10091 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10092
10093         * docs/gst/.cvsignore:
10094         * docs/gst/tmpl/.cvsignore:
10095         * docs/gst/tmpl/gstpipeline.sgml:
10096         * docs/gst/tmpl/gstplugin.sgml:
10097         * gst/gstpipeline.c:
10098         * gst/gstplugin.c:
10099         * gst/gstplugin.h:
10100           inlined the last two docs files
10101           removed the tmpl directory from cvs (no more conflicts here!)
10102
10103 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10104
10105         * docs/gst/gstreamer-sections.txt:
10106         * docs/gst/tmpl/.cvsignore:
10107         * docs/gst/tmpl/gstpad.sgml:
10108         * docs/gst/tmpl/gstpadtemplate.sgml:
10109         * gst/Makefile.am:
10110         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10111         (gst_pad_finalize), (gst_pad_set_pad_template):
10112         * gst/gstpad.h:
10113         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10114         (gst_pad_template_class_init), (gst_pad_template_init),
10115         (gst_pad_template_dispose), (name_is_valid),
10116         (gst_static_pad_template_get), (gst_pad_template_new),
10117         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10118         (gst_pad_template_pad_created):
10119         * gst/gstpadtemplate.h:
10120           inlined two more docs
10121           factored gstpadtemplate out of gstpad
10122
10123 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
10124
10125         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10126         (test_children_state_change_order_semi_sink):
10127           Fix test case: we can't rely on a fixed state change order when
10128           going from READY => PAUSED because the sink might commit its 
10129           new state first when the first buffer created by the source 
10130           reaches the sink before the source has finished its change state.
10131           (Test case still fails at times, see #316856, comment 5 onwards)
10132
10133 2005-09-24  Wim Taymans  <wim@fluendo.com>
10134
10135         * docs/design/part-events.txt:
10136         * docs/design/part-gstbus.txt:
10137         * docs/design/part-gstpipeline.txt:
10138         * docs/design/part-messages.txt:
10139         * docs/design/part-overview.txt:
10140         * docs/design/part-segments.txt:
10141         * gst/gstbin.c:
10142         * gst/gstbuffer.c:
10143         * gst/gstclock.c:
10144         * gst/gstelement.c:
10145         * gst/gstevent.c:
10146         * gst/gstfilter.c:
10147         * gst/gstiterator.c:
10148         Various documentation updates.
10149
10150 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10151
10152         * gst/gstclock.h:
10153           Well, that's embarassing.  Luckily we weren't using
10154           GST_CLOCK_DIFF anywhere.
10155
10156 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10157
10158         * common/gtk-doc.mak:
10159           don't fail on building XML, FC4 slave shows a bunch of doc
10160           missing bits that I don't get
10161         * gst/gstpad.c:
10162         * gst/gstpipeline.c:
10163         * gst/gststructure.c:
10164           some doc updates
10165
10166 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10167
10168         * docs/design/part-gstbin.txt:
10169         * docs/design/part-gstbus.txt:
10170         * gst/gstbus.c:
10171           Add blurb about how the bus goes into flushing mode and
10172           drops all messages when its bin goes from READY into NULL 
10173           state.
10174
10175 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10176
10177         * docs/gst/gstreamer-sections.txt:
10178         * gst/gststructure.c: (gst_structure_get_clock_time):
10179         * gst/gststructure.h:
10180           add a method to get a GstClockTime out of a structure
10181
10182 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10183
10184         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10185         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10186           Added test to check state change order in bins (can still be made
10187           to fail here under heavy disk load; bails out with 'Push on pad
10188           fakesink:sink0, but it was not activated in push mode').
10189
10190         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10191           Fix state change order when there is only a semi sink (#316856)
10192
10193         * gst/gstbus.c: (gst_bus_class_init):
10194           Use _class_peek_parent(), not _class_ref(); fix docs to say
10195           'default main context' instead of 'mainloop' where that is
10196           what's meant.
10197
10198         * gst/gstelement.c: (gst_element_commit_state),
10199         (gst_element_set_state):
10200           Fix typos in debug messages
10201
10202 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10203
10204         * docs/README:
10205         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10206         * gst/gstpluginfeature.c:
10207         * gst/gstutils.c:
10208           various doc updates
10209         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10210           change an assert into an error until it gets fixed properly
10211
10212 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10213
10214         * docs/gst/gstreamer-sections.txt:
10215         * docs/gst/tmpl/.cvsignore:
10216         * docs/gst/tmpl/gstelement.sgml:
10217         * docs/gst/tmpl/gstinfo.sgml:
10218         * docs/gst/tmpl/gstobject.sgml:
10219         * gst/gstelement.c:
10220         * gst/gstelement.h:
10221         * gst/gstinfo.c:
10222         * gst/gstinfo.h:
10223         * gst/gstobject.c: (gst_object_class_init):
10224         * gst/gstobject.h:
10225           inlined 3 more biiiig doc files and added some missing docs on the fly
10226
10227 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10228
10229         * check/gst/.cvsignore:
10230         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10231         * gst/gstregistryxml.c: (load_plugin),
10232         (gst_registry_xml_save_plugin):
10233           put back source in registry.  add checks for find_plugin.
10234         * testsuite/states/bin.c: (assert_state), (empty_bin),
10235         (test_adding_one_element), (main):
10236         * testsuite/states/locked.c: (main):
10237           some compile/run fixes
10238
10239 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10240
10241         * check/gst/gstvalue.c: (GST_START_TEST):
10242           fix leaks in the test itself
10243
10244 2005-09-22  Wim Taymans  <wim@fluendo.com>
10245
10246         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10247         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10248         (gst_base_sink_query):
10249         Prepare for more accurate position reporting and query
10250         handling.
10251
10252         * gst/gstelement.c: (gst_element_send_event),
10253         (gst_element_set_state):
10254         Add some comment.
10255
10256 2005-09-22  Wim Taymans  <wim@fluendo.com>
10257
10258         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10259         (gst_query_parse_segment):
10260         * gst/gstquery.h:
10261         More documentation.
10262         Add segment query for future use.
10263
10264 2005-09-22  Wim Taymans  <wim@fluendo.com>
10265
10266         * gst/gstbin.c: (gst_bin_add_func):
10267         Some more debug info.
10268
10269         * gst/gstelement.c: (gst_element_send_event):
10270         Simplify send_event
10271
10272         * gst/gstelement.h:
10273         Don't know how flags got broken.
10274
10275         * gst/gstquery.h:
10276         Added new query.
10277
10278 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10279
10280         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10281           Add simplistic test suite for GST_TYPE_DATE serialisation and
10282           deserialisation.
10283
10284 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10285
10286         * docs/gst/gstreamer-sections.txt:
10287         * gst/gststructure.c: (gst_structure_set_valist),
10288         (gst_structure_get_date):
10289         * gst/gststructure.h:
10290         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10291         (gst_date_copy), (gst_value_compare_date),
10292         (gst_value_serialize_date), (gst_value_deserialize_date),
10293         (gst_value_transform_date_string),
10294         (gst_value_transform_string_date), (_gst_value_initialize):
10295         * gst/gstvalue.h:
10296           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10297           bunch of utility functions along with a hack that checks that
10298           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10299           is required. Part of the grand scheme in #170777.
10300
10301 2005-09-22  Andy Wingo  <wingo@pobox.com>
10302
10303         * gst/gstconfig.h.in: Psych out gtk-doc.
10304
10305         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10306
10307         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10308
10309         * tools/gst-inspect.c (print_element_list): Plug some
10310         inconsequential leaks.
10311
10312         * gst/gstregistry.c (gst_registry_get_default): Doc.
10313
10314         * check/gst/gstplugin.c: 
10315         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10316         * gst/gstelementfactory.c (gst_element_factory_create): 
10317         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10318         refcount changes.
10319
10320         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10321         (gst_plugin_feature_load): Doc, don't eat refs.
10322
10323         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10324         (gst_plugin_list_free): Doc.
10325         (gst_plugin_load_file): Doc updates.
10326
10327         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10328         accessors returning refcounted objects, return a ref.
10329
10330         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10331         accessor for caps. IDEMPOTENCE. Oh yes.
10332
10333 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10334
10335         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10336
10337         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10338         (_gst_debug_register_funcptr):
10339           Add mutex to serialise access to the hash table with
10340           the function pointer => function name string mapping;
10341           make that hash table static scope (#316809).
10342
10343         * gst/registries/.cvsignore:
10344           Remove left-over file.
10345
10346 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10347
10348         * docs/pwg/appendix-porting.xml:
10349           And something about newsegment events and caps-on-buffers to
10350           the porting guide (feel free to improve).
10351
10352 2005-09-21  Andy Wingo  <wingo@pobox.com>
10353
10354         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10355         data and event probes on the same pad.
10356         (test_buffer_probe_once): Test that removing probes from within
10357         the probe functions works.
10358
10359 2005-09-21  Andy Wingo  <wingo@pobox.com>
10360
10361         * check/gst/gstutils.c: New file.
10362         (test_buffer_probe_n_times): A simple buffer probe test. More to
10363         come, foolios.
10364
10365         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10366         have-data::buffer, not have-data.
10367         (gst_pad_add_event_probe): Likewise for have-data::event.
10368         (gst_pad_add_data_probe): More docs. The part about 'resolving the
10369         peer' isn't quite right yet though.
10370         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
10371         (gst_pad_remove_data_probe): Change to take the guint handler_id
10372         as their arg, not the function+data, which is more glib-like.
10373
10374         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10375         the signal emission to indicate if the data is a buffer or an
10376         event.
10377         (gst_pad_get_type): Initialize buffer and event quarks.
10378         (gst_pad_class_init): have-data is now a detailed signal, yes it
10379         is.
10380
10381 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10382
10383         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10384         * gst/gstutils.c: (gst_util_set_value_from_string),
10385         (gst_util_set_object_arg):
10386           Don't put functional code in g_return_if_fail() or
10387           g_return_val_if_fail() statements, otherwise things will 
10388           break when G_DISABLE_CHECKS is defined during compilation.
10389
10390 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10391
10392         * docs/gst/tmpl/.cvsignore:
10393         * docs/gst/tmpl/gstvalue.sgml:
10394         * gst/gstvalue.c:
10395         * gst/gstvalue.h:
10396           inlied another one and added  some obvious docs
10397
10398 2005-09-21  Wim Taymans  <wim@fluendo.com>
10399
10400         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10401         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10402         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10403         (gst_fdsrc_get_property), (gst_fdsrc_create):
10404         * gst/elements/gstfdsrc.h:
10405         Properly implement fdsrc. Removed signal and timeout,
10406         better implemented somewhere else.
10407
10408 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10409
10410         * docs/gst/tmpl/.cvsignore:
10411         * docs/gst/tmpl/gstimplementsinterface.sgml:
10412         * gst/gstinterface.c:
10413           inlined more docs
10414
10415 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10416
10417         * docs/gst/gstreamer-sections.txt:
10418         * docs/gst/tmpl/.cvsignore:
10419         * docs/gst/tmpl/gstenumtypes.sgml:
10420           remove obsolete doc file
10421
10422 2005-09-21  David Schleef  <ds@schleef.org>
10423
10424         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10425         little beer, fix a little leak.
10426
10427 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10428
10429         * docs/gst/gstreamer-docs.sgml:
10430         * docs/gst/gstreamer-sections.txt:
10431         * docs/gst/tmpl/.cvsignore:
10432         * gst/Makefile.am:
10433         * gst/gst.h:
10434         * gst/gstbin.c:
10435         * gst/gstelement.h:
10436         * gst/gstindex.c: (gst_index_class_init):
10437         * gst/gstindex.h:
10438         * gst/gstindexfactory.c: (gst_index_factory_get_type),
10439         (gst_index_factory_class_init), (gst_index_factory_init),
10440         (gst_index_factory_finalize), (gst_index_factory_new),
10441         (gst_index_factory_destroy), (gst_index_factory_find),
10442         (gst_index_factory_create), (gst_index_factory_make):
10443         * gst/gstindexfactory.h:
10444         * gst/gstpluginfeature.c:
10445         * gst/gstpluginfeature.h:
10446         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10447           more docs inlined, splitted gstindex.{c,h}
10448
10449 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10450
10451         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10452           fix a leak
10453
10454 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10455
10456         * gst/elements/gstfilesink.c: (gst_file_sink_init):
10457           Set sync to FALSE by default.
10458
10459 2005-09-20  Wim Taymans  <wim@fluendo.com>
10460
10461         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10462         (gst_base_sink_init):
10463         Make sync property settable from subclass.
10464
10465         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10466         (gst_fake_sink_change_state):
10467         Set sync to FALSE by default.
10468
10469 2005-09-20  Wim Taymans  <wim@fluendo.com>
10470
10471         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10472         * tools/gst-launch.c: (main):
10473         The timeout handler should have lower priority than the source
10474         so we don't timeout before popping a message with 0 timeout.
10475         Dump error messages after failed state change.
10476
10477 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10478
10479         * tools/gst-inspect.c: (print_element_properties_info):
10480           Fix two typos.
10481
10482 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10483
10484         * check/gst/gstevent.c:
10485         * gst/elements/gstfakesink.c:
10486         * gst/elements/gstfakesink.h:
10487           remove the sync property from fakesink.
10488           has the side effect of setting sync TRUE
10489           for fakesink, which is a change.  Anyone who knows how
10490           to fix this nicely in a GObject-y way, feel free.
10491
10492 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10493
10494         * docs/gst/gstreamer-docs.sgml:
10495           remove probe refsection
10496
10497 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10498
10499         * check/Makefile.am:
10500           disable valgrinding the controller test again
10501         * docs/gst/gstreamer-sections.txt:
10502           update for api-changes
10503
10504 2005-09-20  Wim Taymans  <wim@fluendo.com>
10505
10506         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10507         (gst_base_sink_set_property), (gst_base_sink_get_property),
10508         (gst_base_sink_do_sync):
10509         * gst/base/gstbasesink.h:
10510         Added sync property to basesink to disable clock sync.
10511
10512 2005-09-20  Andy Wingo  <wingo@pobox.com>
10513
10514         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10515         eating the caller's refcount.
10516
10517         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
10518         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10519         refcount.
10520
10521         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10522         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10523         of GLib 2.8 public, so we can know which refcount to check in
10524         tests.
10525
10526         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10527         (gst_object_init): Only set the gst refcount if we're going ahead
10528         with the refcount hack.
10529
10530 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10531
10532         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10533         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10534           more leaks plumbed, added more debug-logging
10535         * gst/gstmacros.h:
10536           whitespace fix
10537
10538 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10539
10540         * gst/gstmessage.c:
10541           remove include of gstmemchunk.h
10542
10543 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10544
10545         * gst/gstclock.c: (_gst_clock_id_free):
10546           Commit from the Political Party For More Atomic CVS Commits,
10547           so that people don't waste too much of their day fishing
10548           out obvious leaks out of massive commits.
10549           Oh, and fix a pretty damn obvious leak in the memchunk
10550           removal code.
10551
10552 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10553
10554         * check/Makefile.am:
10555         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10556           plug mem-leak, re-add to valgrindable tests
10557
10558 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10559
10560         * gst/gstplugin.h:
10561           unbreak the build for those who have chronic arthritis
10562           and typing "make check" is just too taxing on the hands
10563
10564 2005-09-20  Andy Wingo  <wingo@pobox.com>
10565
10566         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10567         really want it out, you should fix plugins at the same time.
10568
10569 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
10570
10571         * configure.ac:
10572         * docs/gst/gstreamer-sections.txt:
10573         * gst/gstobject.c:
10574           added missing symbols to api docs
10575           disable ref-count hack if we have glib >= 2.8
10576
10577 2005-09-19  David Schleef  <ds@schleef.org>
10578
10579         * docs/gst/Makefile.am: Ignore a few more internal headers
10580         * docs/gst/gstreamer-docs.sgml: Remove old sections
10581         * docs/gst/gstreamer-sections.txt: Remove old sections
10582         * docs/gst/tmpl/gstobject.sgml: update
10583         * docs/gst/tmpl/gstplugin.sgml: update
10584         * docs/gst/tmpl/gstpluginfeature.sgml: update
10585         * docs/random/ds/0.9-suggested-changes: update.
10586         * gst/Makefile.am: remove memchunk and trashstack, since they're
10587           not used.
10588         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10589         * gst/gst.h: don't include some headers
10590         * gst/gstchildproxy.c: add gstmarshal.h
10591         * gst/gstclock.c: Don't use memchunks
10592         * gst/gstminiobject.c: Add some docs
10593         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10594         * gst/gstobject.h: same
10595         * gst/gstplugin.c: include gstmacros.h
10596         * gst/gstplugin.h: don't include gstmacros.h, since it's private
10597         * gst/gstquery.c: don't use memchunks
10598         * gst/gstregistry.c: rename gst_registry_deinit()
10599         * gst/gstregistry.h: same
10600
10601 2005-09-19  David Schleef  <ds@schleef.org>
10602
10603         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10604         * docs/libs/gstreamer-libs-sections.txt:
10605         * docs/libs/tmpl/gstgetbits.sgml:
10606         * docs/libs/tmpl/gstputbits.sgml:
10607
10608 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
10609
10610         * win32/gstenumtypes.c:
10611         * win32/gstenumtypes.h:
10612           Update.
10613
10614 2005-09-19  Wim Taymans  <wim@fluendo.com>
10615
10616         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
10617         Automatically PAUSE and RESUME a pipeline when a flushing seek
10618         is performed.
10619
10620 2005-09-19  Andy Wingo  <wingo@pobox.com>
10621
10622         * gst/gstregistry.h: Spacing fixen.
10623
10624 2005-09-19  Wim Taymans  <wim@fluendo.com>
10625
10626         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
10627         Handle state change failure more correctly.
10628
10629 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10630
10631         * check/Makefile.am:
10632         * check/pipelines/cleanup.c: (run_pipeline):
10633         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10634         (GST_START_TEST):
10635           enable cleanup again after fixing the leak
10636         * docs/README:
10637           some more info on docs
10638
10639 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10640
10641         * check/Makefile.am:
10642           re-enable tests now that leaks are plugged
10643         * check/gst/gst.c:
10644         * check/gst/gstbin.c:
10645         * check/gst/gstpipeline.c:
10646           add some more tests while fixing leaks
10647         * common/check.mak:
10648           make sure binaries are uptodate when valgrinding/gdbing
10649         * gst/gst.c:
10650         * gst/gstelementfactory.c:
10651           remove a ref too many, and add a FIXME for when we get
10652           round to disposing of classes
10653         * gst/gstplugin.c:
10654           fix the refcounting when loading a plugin from a file and
10655           the code pretends that the pointer is the same even though
10656           of course it can change
10657         * gst/gstpluginfeature.c:
10658           unref plugins marked cached (a bit confusing as a name)
10659           as the docs state should be done
10660           various doc additions to explain refcounting
10661         * gst/gstregistry.c:
10662         * gst/gstregistryxml.c:
10663           debugging
10664
10665 2005-09-19  Wim Taymans  <wim@fluendo.com>
10666
10667         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10668         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10669         (send_messages), (GST_START_TEST), (gstbus_suite):
10670         * check/gst/gstpipeline.c: (GST_START_TEST):
10671         * check/pipelines/cleanup.c: (run_pipeline):
10672         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10673         (GST_START_TEST):
10674         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10675         (gst_bus_source_check), (gst_bus_source_dispatch),
10676         (gst_bus_create_watch), (gst_bus_add_watch_full),
10677         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10678         * gst/gstbus.h:
10679         * tools/gst-launch.c: (event_loop):
10680         * tools/gst-md5sum.c: (event_loop):
10681         GstBusHandler -> GstBusFunc, return value has the same meaning as
10682         any other GSource (FALSE == remove source).
10683         _add_watch() and _add_watch_full() now take a MessageType mask to
10684         only handle specific types of messages.
10685         _poll() returns the GstMessage instead of the message type to avoid
10686         race conditions.
10687         _have_pending() takes a MessageType mask now too.
10688         Added testsuite for multiple bus watches.
10689         Fix testsuites and applications for new bus API.
10690
10691 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10692
10693         * check/Makefile.am:
10694           mark a bunch of the tests as to fix until we fix them
10695
10696 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10697
10698         * common/check.mak:
10699           use GST_PLUGIN settings for valgrind tests as well, so we're
10700           valgrinding the correct thing
10701         * gst/gst.c: (init_post):
10702           plug another leak
10703
10704 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10705
10706         * gst/gst.c: (init_post), (gst_deinit):
10707         * gst/gstelementfactory.c: (gst_element_factory_class_init),
10708         (gst_element_factory_finalize), (gst_element_factory_cleanup):
10709         * gst/gstindex.c: (gst_index_factory_class_init),
10710         (gst_index_factory_finalize):
10711         * gst/gstobject.c: (gst_object_dispose):
10712         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10713         (gst_plugin_load_file), (gst_plugin_desc_free):
10714         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10715         (gst_plugin_feature_finalize):
10716         * gst/gstregistry.c: (gst_registry_class_init),
10717         (gst_registry_init), (gst_registry_finalize),
10718         (gst_registry_get_default), (gst_registry_deinit):
10719         * gst/gstregistry.h:
10720         * gst/gstregistryxml.c: (load_feature), (load_plugin):
10721           various cleanups and memleak plugging.  make valgrind is happy now.
10722
10723 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10724
10725         * common/check.mak:
10726           add a check-valgrind target
10727
10728 2005-09-18  David Schleef  <ds@schleef.org>
10729
10730         * tools/gst-inspect.c: Revert the GOption code.
10731
10732 2005-09-17  David Schleef  <ds@schleef.org>
10733
10734         * check/Makefile.am: Fix environment variables.
10735         * check/gst/gstplugin.c: Fix for API changes.
10736         * tools/gst-inspect.c: Fix for API changes.
10737         * tools/gst-xmlinspect.c: Fix for API changes.
10738         * gst/gstelementfactory.c:
10739         * gst/gstplugin.c:
10740         * gst/gstplugin.h:
10741         * gst/gstpluginfeature.c:
10742         * gst/gstpluginfeature.h:
10743         * gst/gstregistry.c:
10744         * gst/gstregistry.h:
10745         * gst/gstregistryxml.c:
10746         * gst/gsttypefind.c:
10747         * gst/gsttypefindfactory.c:
10748         * gst/indexers/gstfileindex.c:
10749         * gst/indexers/gstmemindex.c:
10750         * gst/schedulers/Makefile.am:
10751           Change registry to keep track of both plugins and features,
10752           removing the feature tracking from plugins themselves.
10753
10754 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10755
10756         * check/Makefile.am:
10757         * tools/gst-register.1.in:
10758           remove gst-register
10759
10760 2005-09-15  David Schleef  <ds@schleef.org>
10761
10762         * check/gst/gstplugin.c:
10763         * gst/gstelementfactory.c:
10764         * gst/gstplugin.c:
10765         * gst/gstpluginfeature.c:
10766         * gst/gstregistry.c:
10767           Getting tired of debugging.  Disabled all the unreffing of
10768           plugins and features, which fixes the segfaults, but of
10769           course leaks like crazy.  At least playbin works.
10770
10771 2005-09-15  David Schleef  <ds@schleef.org>
10772
10773         * check/gst/gstplugin.c: (register_check_elements),
10774         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10775         More testing
10776         * gst/elements/gsttypefindelement.c: Fix refcounting.
10777         * gst/gsttypefind.c:
10778         * gst/gsttypefindfactory.c:
10779         * gst/gsttypefindfactory.h:
10780
10781 2005-09-15  David Schleef  <ds@schleef.org>
10782
10783         * gst/gstindex.c: get refcounting correct.
10784         * gst/gstregistry.c: Handle the case where a feature/plugin is
10785           not found.
10786
10787 2005-09-15  David Schleef  <ds@schleef.org>
10788
10789         * check/Makefile.am:
10790         * check/gst/gstplugin.c: Add test
10791         * gst/gstplugin.c: Fix problems noticed by testsuite
10792         * gst/gstplugin.h:
10793         * gst/gstregistry.c: 
10794         * gst/gstregistry.h:
10795
10796 2005-09-15  David Schleef  <ds@schleef.org>
10797
10798         * gst/gstplugin.c: Implement semi-decent recounting and locking
10799           in plugins and plugin features.
10800         * gst/gstplugin.h:
10801         * gst/gstpluginfeature.c:
10802         * gst/gstpluginfeature.h:
10803         * gst/gstregistry.c:
10804
10805 2005-09-15  Michael Smith <msmith@fluendo.com>
10806
10807         * gst/gstregistry.c: (gst_registry_get_feature_list):
10808           Implement this. Makes oggdemux work; decodebin still broken.
10809
10810 2005-09-14  David Schleef  <ds@schleef.org>
10811
10812         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
10813           #316076)
10814         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
10815         * gst/check/Makefile.am:
10816         * libs/gst/controller/Makefile.am:
10817         * libs/gst/dataprotocol/Makefile.am:
10818
10819 2005-09-14  David Schleef  <ds@schleef.org>
10820
10821         * configure.ac: Remove getbits library.  Nothing uses it, and
10822           it should be in something like liboil if someone did want
10823           to use it.
10824         * libs/gst/Makefile.am:
10825         * libs/gst/getbits/Makefile.am:
10826         * libs/gst/getbits/gbtest.c:
10827         * libs/gst/getbits/getbits.c:
10828         * libs/gst/getbits/getbits.h:
10829         * libs/gst/getbits/gstgetbits_generic.c:
10830         * libs/gst/getbits/gstgetbits_i386.s:
10831         * libs/gst/getbits/gstgetbits_inl.h:
10832
10833 2005-09-14  David Schleef  <ds@schleef.org>
10834
10835         * gst/Makefile.am: Dist glib-compat.h
10836
10837 2005-09-14  David Schleef  <ds@schleef.org>
10838
10839         * configure.ac: Remove gst/registries, since it's no longer used.
10840         * gst/registries/Makefile.am:
10841         * gst/registries/gstlibxmlregistry.c:
10842         * gst/registries/gstlibxmlregistry.h:
10843         * gst/registries/gstxmlregistry.c:
10844         * gst/registries/gstxmlregistry.h:
10845         * gst/registries/registrytest.c:
10846
10847 2005-09-14  David Schleef  <ds@schleef.org>
10848
10849         * gst/glib-compat.h:
10850         * gst/gstregistryxml.c:
10851           Convergence is near.  Seriously.
10852
10853 2005-09-14  David Schleef  <ds@schleef.org>
10854
10855         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10856         * gst/glib-compat.h:
10857           Attempt #4 to appease the buildbots.
10858
10859 2005-09-14  David Schleef  <ds@schleef.org>
10860
10861         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10862           Attempt #3.
10863
10864 2005-09-14  David Schleef  <ds@schleef.org>
10865
10866         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10867         Attempt #2.
10868
10869 2005-09-14  David Schleef  <ds@schleef.org>
10870
10871         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
10872           the new functions.
10873
10874 2005-09-14  David Schleef  <ds@schleef.org>
10875
10876         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10877         * gst/glib-compat.h: Add some functions that are in newer versions
10878           of glib than we care to require.
10879         * gst/gstregistryxml.c: Use them.
10880
10881 2005-09-14  David Schleef  <ds@schleef.org>
10882
10883         * po/POTFILES.in: remove gst-register.c
10884
10885 2005-09-14  David Schleef  <ds@schleef.org>
10886
10887         * docs/gst/gstreamer-docs.sgml:
10888         * docs/gst/gstreamer-sections.txt:
10889         * docs/gst/gstreamer.types:
10890         * docs/gst/tmpl/gstelement.sgml:
10891         * docs/gst/tmpl/gstplugin.sgml:
10892         * docs/gst/tmpl/gstpluginfeature.sgml:
10893           Documentation updates for registry changes.
10894
10895 2005-09-14  David Schleef  <ds@schleef.org>
10896
10897         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
10898           because we don't require glib-2.8.
10899
10900 2005-09-14  David Schleef  <ds@schleef.org>
10901
10902         * gst/gstregistryxml.c: Added.  Essentially moved out of the
10903           registries directory.
10904
10905 2005-09-14  David Schleef  <ds@schleef.org>
10906
10907         * check/Makefile.am:
10908         * check/generic/states.c:
10909         * gst/Makefile.am:
10910         * gst/gst.c:
10911         * gst/gst.h:
10912         * gst/gst_private.h:
10913         * gst/gstelementfactory.c:
10914         * gst/gstindex.c:
10915         * gst/gstinfo.c:
10916         * gst/gstplugin.c:
10917         * gst/gstplugin.h:
10918         * gst/gstpluginfeature.c:
10919         * gst/gstpluginfeature.h:
10920         * gst/gstregistry.c:
10921         * gst/gstregistry.h:
10922         * gst/gstregistrypool.c: remove
10923         * gst/gstregistrypool.h: remove
10924         * gst/gsttypefind.c:
10925         * gst/gsttypefindfactory.c:
10926         * gst/gsturi.c:
10927         * tools/Makefile.am:
10928         * tools/gst-compprep.c:
10929         * tools/gst-inspect.c:
10930         * tools/gst-register.c: remove
10931         * tools/gst-xmlinspect.c:
10932           Registry rewrite.  Changes registry from being a file created
10933           by a tool into a simple cache file created automatically by 
10934           libgstreamer.  Removed gst-register (because it's no longer
10935           needed).  Remove registry pools, because we only have one
10936           registry implementation (XML).  Fix up other subsystems as
10937           necessary.
10938
10939 2005-09-13  Michael Smith <msmith@fluendo.com>
10940
10941         * gst/gstconfig.h.in:
10942           Don't Use windows linking attributes for MinGW. Fixes #316157
10943
10944 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10945
10946         * gst/gstutils.c: (set_state_async_thread_func),
10947         (gst_element_set_state_async):
10948           Apparently people think it's better if this function doesn't
10949           try to set the state to whatever state was asked for on the first
10950           call to this function for any object.  Seriously.
10951
10952 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10953
10954         * check/gst/gstpipeline.c: (GST_START_TEST):
10955         * docs/gst/gstreamer-sections.txt:
10956         * gst/gstutils.c: (set_state_async_thread_func),
10957         (gst_element_set_state_async):
10958         * gst/gstutils.h:
10959           add a "gst_element_set_state_async" method that
10960           sets the state and starts a thread to make sure the state
10961           change completes as best as it can
10962
10963 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10964
10965         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10966           codify design+behaviour in testsuite after discussion
10967
10968 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
10969
10970         * docs/gst/tmpl/gstelement.sgml:
10971         * docs/manual/appendix-quotes.xml:
10972           add a quote
10973         * gst/gstelement.c: (gst_element_set_state):
10974           add some debug
10975
10976 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
10977
10978         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10979         (gst_base_transform_prepare_output_buf),
10980         (gst_base_transform_handle_buffer):
10981         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
10982         (gst_capsfilter_prepare_buf):
10983           Remove the requirement for sub-classes to call the parent
10984           implementation of prepare_output_buffer with a wrapper function.
10985           
10986         * gst/gsttaglist.h:
10987         * gst/gsttagsetter.h:
10988           Fix #define wrapper
10989
10990 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
10991
10992         * docs/gst/gstreamer-sections.txt:
10993           more doc cleanups
10994
10995 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
10996
10997         * docs/gst/gstreamer-sections.txt:
10998         * docs/gst/tmpl/gstelement.sgml:
10999         * docs/gst/tmpl/gstplugin.sgml:
11000         * gst/gstminiobject.c:
11001         * gst/gstvalue.h:
11002           docs now stop throwing warnings
11003
11004 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11005
11006         * docs/gst/gstreamer-sections.txt:
11007         * docs/gst/gstreamer.types:
11008         * docs/gst/tmpl/gstpad.sgml:
11009         * docs/gst/tmpl/gsttypes.sgml:
11010         * gst/base/gstadapter.h:
11011         * gst/base/gstbasesink.h:
11012         * gst/base/gstbasesrc.h:
11013         * gst/gstbin.h:
11014         * gst/gstbuffer.h:
11015         * gst/gstbus.h:
11016         * gst/gstcaps.h:
11017         * gst/gstclock.h:
11018         * gst/gstelement.h:
11019         * gst/gstevent.h:
11020         * gst/gstmessage.h:
11021         * gst/gstpad.h:
11022         * gst/gststructure.c:
11023         * gst/registries/gstlibxmlregistry.h:
11024           various documentation fixes
11025
11026 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11027
11028         * docs/gst/gstreamer-sections.txt:
11029         * docs/gst/tmpl/gstvalue.sgml:
11030           rearrange gstvalue section
11031         * gst/gstutils.c: (gst_element_state_get_name):
11032           NONE -> VOID
11033         * gst/gstvalue.c: (_gst_value_initialize):
11034         * gst/gstvalue.h:
11035           doc updates
11036
11037 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
11038
11039         * check/gst-libs/controller.c:
11040           Header include fix.
11041         * gst/base/gstbasetransform.c:
11042         (gst_base_transform_default_prepare_buf),
11043         (gst_base_transform_handle_buffer):
11044         * gst/base/gstbasetransform.h:
11045           Some more basetransform changes and fixes to enable sub-classes
11046           that modify buffer metadata only.
11047         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11048         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11049         (gst_capsfilter_prepare_buf):
11050           If the output pad has fixed allowed caps and input buffers 
11051           don't have any, set the fixed caps on outgoing buffers.
11052
11053 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
11054         * check/elements/identity.c: (GST_START_TEST):
11055           Make the error a little clearer when the test fails because
11056           identity made a copy of the buffer.
11057         * docs/gst/gstreamer-sections.txt:
11058           New symbols in gstbasetransform.h
11059         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11060         (gst_base_transform_init), (gst_base_transform_transform_size),
11061         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11062         (gst_base_transform_default_prepare_buf),
11063         (gst_base_transform_get_unit_size),
11064         (gst_base_transform_buffer_alloc),
11065         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11066         (gst_base_transform_change_state),
11067         (gst_base_transform_set_passthrough),
11068         (gst_base_transform_set_in_place),
11069         (gst_base_transform_is_in_place):
11070         * gst/base/gstbasetransform.h:
11071           Change BaseTransform to separate in_place operate from same_caps
11072           output. in_place implies that the element can perform the transform
11073           on incoming buffers in-place, even if the caps on the output are
11074           different.
11075           Sub-class elements can now implement special buffer allocation
11076           methods for outgoing buffers if they wish to.
11077           Big documentation addition.
11078         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11079         * gst/elements/gstelements.c:
11080           Changes for basetransform modifications.
11081         * gst/elements/Makefile.am:
11082         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11083           Compile fix. Extra debug output.
11084
11085 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11086
11087         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11088         (gst_pad_suite):
11089           add tests for valid pad naming
11090         * gst/check/gstcheck.c: (gst_check_log_message_func),
11091         (gst_check_log_critical_func):
11092           add ASSERT_WARNING
11093           remove printing of code, it is fragile when the code contains
11094           % and the line number is enough info
11095         * gst/check/gstcheck.h:
11096         * gst/gstpad.c: (gst_pad_template_new):
11097           fix memleaks
11098
11099 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11100
11101         * configure.ac:
11102           say what CHECK flags we use
11103         * docs/libs/gstreamer-libs.types:
11104         * libs/gst/controller/Makefile.am:
11105         * libs/gst/controller/gst-controller.c:
11106         * libs/gst/controller/gst-controller.h:
11107         * libs/gst/controller/gst-helper.c:
11108         * libs/gst/controller/gst-interpolation.c:
11109         * libs/gst/controller/gstcontroller.c:
11110         * libs/gst/controller/gsthelper.c:
11111         * libs/gst/controller/gstinterpolation.c:
11112         * tools/gst-inspect.c: (print_plugin_info):
11113           we don't use dashes in header names
11114
11115 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11116
11117         * check/Makefile.am:
11118         * check/gst/.cvsignore:
11119         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11120         (gst_pipeline_suite), (main):
11121           adding a test for pipelines and state changes
11122         * gst/gstutils.c: (get_state_func):
11123           add some debugging
11124         * gstreamer.spec.in:
11125           fix up spec file
11126
11127 2005-09-08  Michael Smith <msmith@fluendo.com>
11128
11129         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11130         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11131         (gst_file_src_is_seekable), (gst_file_src_get_size),
11132         (gst_file_src_start):
11133         * gst/elements/gstfilesrc.h:
11134           Various fixes for unseekable, unmmapable, and non-normal files, so
11135           that fallback to read() rather than mmap() works.
11136         * gst/gstevent.c: (gst_event_new_newsegment):
11137           Allow newsegment events with segment_start == segment_end, as will
11138           correctly happen if you use filesrc on a zero-size file, for
11139           example.
11140
11141 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11142
11143         * gst/gstplugin.c: (gst_plugin_load_file):
11144           Call g_module_close when we don't load the module
11145
11146         * gst/registries/gstlibxmlregistry.c:
11147         (gst_xml_registry_get_property):
11148           Port leak fix from 0.8
11149
11150 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11151
11152         * docs/gst/gstreamer-docs.sgml:
11153         * docs/gst/tmpl/.cvsignore:
11154         * docs/gst/tmpl/gsttrace.sgml:
11155         * docs/gst/tmpl/gsttrashstack.sgml:
11156         * gst/Makefile.am:
11157         * gst/gst.h:
11158         * gst/gstelement.h:
11159         * gst/gstevent.h:
11160         * gst/gstmessage.c:
11161         * gst/gstmessage.h:
11162         * gst/gsttag.c:
11163         * gst/gsttag.h:
11164         * gst/gsttaginterface.c:
11165         * gst/gsttaginterface.h:
11166         * gst/gsttaglist.c:
11167         * gst/gsttaglist.h:
11168         * gst/gsttagsetter.c:
11169         * gst/gsttagsetter.h:
11170         * gst/gsttrace.c:
11171         * gst/gsttrace.h:
11172         * gst/gsttrashstack.c:
11173           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11174           inlined docs for gsttrace, gsttrashstack
11175
11176 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11177
11178         * gst/Makefile.am:
11179         * gst/elements/gstbufferstore.h:
11180         * gst/elements/gsttypefindelement.c:
11181         * gst/elements/gsttypefindelement.h:
11182         * gst/gst.h:
11183         * gst/gsttypefind.c:
11184         * gst/gsttypefind.h:
11185         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11186         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11187         (gst_type_find_factory_dispose),
11188         (gst_type_find_factory_unload_thyself),
11189         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11190         (gst_type_find_factory_get_caps),
11191         (gst_type_find_factory_get_extensions),
11192         (gst_type_find_factory_call_function):
11193         * gst/gsttypefindfactory.h:
11194         * gst/registries/gstlibxmlregistry.c:
11195         * gst/registries/gstxmlregistry.c:
11196           splitted gsttypefind into gsttypefind, gsttypefindfactory
11197
11198 2005-09-07  Andy Wingo  <wingo@pobox.com>
11199
11200         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11201         condition whereby the pad's task function is entered before the
11202         pad_mode variable was set.
11203
11204 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11205
11206         * gst/gstpad.c: (gst_pad_alloc_buffer):
11207           Catch misbehaving pad_alloc functions that don't
11208           set up caps and do it for them.
11209
11210 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11211
11212         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11213           test for pipe!=NULL
11214         * docs/gst/tmpl/.cvsignore:
11215         * docs/gst/tmpl/gstmemchunk.sgml:
11216         * docs/gst/tmpl/gstparse.sgml:
11217         * docs/gst/tmpl/gsttaglist.sgml:
11218         * docs/gst/tmpl/gsttagsetter.sgml:
11219         * docs/gst/tmpl/gsttypefind.sgml:
11220         * docs/gst/tmpl/gsttypefindfactory.sgml:
11221         * gst/gstmemchunk.c:
11222         * gst/gstparse.c:
11223         * gst/gsttag.c:
11224         * gst/gsttaginterface.c:
11225         * gst/gsttypefind.c:
11226         * gst/gsttypefind.h:
11227           inlined more docs
11228
11229 === release 0.9.2 ===
11230
11231 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11232
11233         * NEWS:
11234         * RELEASE:
11235         * configure.ac:
11236           releasing 0.9.2, "South"
11237
11238 2005-09-05  Andy Wingo  <wingo@pobox.com>
11239
11240         * gst/registries/gstxmlregistry.h:
11241         * gst/registries/gstxmlregistry.c: Um... resurrect...
11242         
11243         * gst/registries/gstxmlregistry.h:
11244         * gst/registries/gstxmlregistry.c: and update to newer API.
11245         Incidentally they should be a bit faster now that they don't have
11246         to parse the caps.
11247         
11248 2005-09-05  Andy Wingo  <wingo@pobox.com>
11249
11250         * gst/registries/gstxmlregistry.h:
11251         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11252         replaced by the libxml registry a while back
11253
11254 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11255
11256         * docs/gst/tmpl/gstplugin.sgml:
11257         * gst/elements/gstelements.c:
11258         * gst/gst.c:
11259         * gst/gstplugin.c: (gst_plugin_register_func),
11260         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11261         (gst_plugin_get_source):
11262         * gst/gstplugin.h:
11263         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11264         (gst_xml_registry_save_plugin):
11265         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11266         (gst_xml_registry_save_plugin):
11267         * tools/gst-inspect.c: (print_plugin_info):
11268           add a "source" plugin description field, to represent the source
11269           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11270           will set it to PACKAGE, which is automake's idea of the name of
11271           the source project.
11272
11273 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11274
11275         * Makefile.am:
11276         * autogen.sh:
11277         * configure.ac:
11278         * docs/Makefile.am:
11279         * docs/faq/Makefile.am:
11280         * docs/gst/tmpl/gstelement.sgml:
11281         * docs/gst/tmpl/gsttypes.sgml:
11282         * docs/htmlinstall.mak:
11283         * docs/manual/Makefile.am:
11284         * docs/pwg/Makefile.am:
11285           reorganize doc build a little
11286           split out docbook and gtk-doc stuff
11287           have two separate --enable's and enable them through autogen
11288           but disable by default in configure (to be similar to other
11289           projects)
11290         * gstreamer.spec.in:
11291           clean up docs install
11292         * po/af.po:
11293         * po/az.po:
11294         * po/ca.po:
11295         * po/cs.po:
11296         * po/de.po:
11297         * po/en_GB.po:
11298         * po/fr.po:
11299         * po/it.po:
11300         * po/nb.po:
11301         * po/nl.po:
11302         * po/ru.po:
11303         * po/sq.po:
11304         * po/sr.po:
11305         * po/sv.po:
11306         * po/tr.po:
11307         * po/uk.po:
11308         * po/vi.po:
11309           translation updates
11310
11311 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11312
11313         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11314           Add comment.
11315           
11316         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11317         (gst_fake_sink_change_state):
11318           Make state change function thread-safe.
11319           
11320         * gst/gstpad.c: (gst_pad_alloc_buffer):
11321           Set offset on generic buffer allocated by fallback.
11322
11323 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11324
11325         * docs/gst/gstreamer-sections.txt:
11326         * docs/gst/tmpl/gstelement.sgml:
11327         * gst/gstpad.c:
11328         * libs/gst/controller/gst-controller.c:
11329         (gst_controlled_property_set_interpolation_mode),
11330         (gst_controlled_property_new),
11331         (gst_controller_find_controlled_property):
11332          run the wingo-magic script against the docs
11333
11334 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11335
11336         * docs/gst/gstreamer-docs.sgml:
11337         * docs/gst/gstreamer-sections.txt:
11338         * docs/gst/tmpl/.cvsignore:
11339         * docs/gst/tmpl/gstelementdetails.sgml:
11340         * docs/gst/tmpl/gstelementfactory.sgml:
11341         * gst/gst.c:
11342         * gst/gstbus.c:
11343         * gst/gstelementfactory.c:
11344         * gst/gstelementfactory.h:
11345           merged elementdetails docs into elementfactory docs
11346           inlined both
11347
11348 2005-09-02  Andy Wingo  <wingo@pobox.com>
11349
11350         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11351         consider this enum an enum and not a flags.
11352
11353 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11354
11355         * docs/gst/gstreamer-docs.sgml:
11356         * docs/gst/tmpl/.cvsignore:
11357         * docs/gst/tmpl/gstghostpad.sgml:
11358         * docs/gst/tmpl/gstiterator.sgml:
11359         * docs/gst/tmpl/gstmacros.sgml:
11360         * docs/gst/tmpl/gstrealpad.sgml:
11361         * docs/gst/tmpl/gstregistry.sgml:
11362         * docs/gst/tmpl/gstregistrypool.sgml:
11363         * docs/gst/tmpl/gststructure.sgml:
11364         * docs/gst/tmpl/gstsystemclock.sgml:
11365         * docs/gst/tmpl/gsttrace.sgml:
11366         * gst/gstghostpad.c:
11367         * gst/gstmacros.h:
11368         * gst/gstmemchunk.c:
11369         * gst/gstmemchunk.h:
11370         * gst/gstqueue.c:
11371         * gst/gstregistry.c:
11372         * gst/gstregistrypool.c:
11373         * gst/gststructure.c:
11374         * gst/gstsystemclock.c:
11375           more docs inlined
11376
11377 2005-09-02  Andy Wingo  <wingo@pobox.com>
11378
11379         * gst/gstelement.h (GstState): Renamed from GstElementState,
11380         changed to be a normal enum instead of flags.
11381         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11382         munged to be GST_STATE_CHANGE_*.
11383         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11384         work with the new state representation.
11385         (GstStateChange): New enumeration of possible state transitions.
11386         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11387         (GstElementClass::change_state): Pass the GstStateChange along as
11388         an argument. Helps language bindings, so they don't have to use
11389         tricky lock-needing macros like GST_STATE_CHANGE ().
11390
11391         * scripts/update-states (file): New script. Run it on a file to
11392         update it for state naming and API changes. Updates files in
11393         place.
11394
11395         * All files updated for the new API.
11396
11397 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11398
11399         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11400         * gst/gstutils.c: (gst_util_set_value_from_string),
11401         (gst_util_set_object_arg):
11402           fix a bunch of unchecked return values
11403         * tools/gst-complete.c: (main):
11404         * gstreamer.spec.in:
11405           clean up a little
11406
11407 2005-09-01  Wim Taymans  <wim@fluendo.com>
11408
11409         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11410         (gst_base_sink_event), (gst_base_sink_do_sync),
11411         (gst_base_sink_handle_event):
11412         * gst/base/gstbasesink.h:
11413         Handle newsegments more correctly.
11414
11415         * gst/gstbus.c:
11416         Fix docs.
11417
11418         * gst/gstevent.c: (gst_event_new_newsegment):
11419         A newsegment cannot have a start_time of -1
11420
11421 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11422
11423         * win32/gstenumtypes.c:
11424         * win32/gstenumtypes.h:
11425           Update
11426
11427 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11428
11429         * libs/gst/controller/gst-controller.c:
11430         (gst_controlled_property_set_interpolation_mode),
11431         (gst_controlled_property_new):
11432          fixed boolean again
11433
11434 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11435
11436         * docs/faq/gst-uninstalled:
11437           add -good
11438         * gst/gstevent.c:
11439         * gst/gstevent.h:
11440           remove wrong docs
11441         * gst/gstutils.c: (gst_element_link_filtered):
11442         * gst/gstutils.h:
11443           add gst_element_link_filtered
11444
11445 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11446
11447         * docs/gst/gstreamer-docs.sgml:
11448         * docs/gst/gstreamer-sections.txt:
11449         * docs/gst/tmpl/.cvsignore:
11450         * docs/gst/tmpl/gsterror.sgml:
11451         * docs/gst/tmpl/gstfilter.sgml:
11452         * docs/gst/tmpl/gsturihandler.sgml:
11453         * docs/gst/tmpl/gsturitype.sgml:
11454         * docs/gst/tmpl/gstutils.sgml:
11455         * docs/gst/tmpl/gstxml.sgml:
11456         * gst/gsterror.c:
11457         * gst/gsterror.h:
11458         * gst/gstfilter.c:
11459         * gst/gsturi.c:
11460         * gst/gsturitype.c:
11461         * gst/gstutils.c:
11462         * gst/gstxml.c:
11463           inlined more docs, fixed double id-ref
11464
11465 2005-08-31  Wim Taymans  <wim@fluendo.com>
11466
11467         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11468         (gst_base_transform_handle_buffer):
11469         Passthrough elements don't need the caps as they don't care.
11470
11471 2005-08-31  Wim Taymans  <wim@fluendo.com>
11472
11473         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11474         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11475         Don't leak refcounts on buffers.
11476
11477 2005-08-31  Wim Taymans  <wim@fluendo.com>
11478
11479         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11480         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11481         (gst_base_transform_chain), (gst_base_transform_change_state):
11482         * gst/base/gstbasetransform.h:
11483         Handle the case where we are not negotiated more gracefully.
11484
11485 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
11486
11487         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11488         (gst_file_src_map_region):
11489           Set READONLY flag on mmap'ed buffers, otherwise
11490           gst_buffer_make_writable() won't work properly (#314708).
11491
11492 2005-08-31  Wim Taymans  <wim@fluendo.com>
11493
11494         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11495         passthrough elements can even do inplace on non writable
11496         buffers (as they don't touch them).
11497
11498 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11499
11500         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11501         (gst_test_mono_source_set_property),
11502         (gst_test_mono_source_class_init), (GST_START_TEST),
11503         (gst_controller_suite):
11504           more tests (hehe I have the most)
11505         * gst/gstbus.c:
11506           describe popping messages whenusing mulltiple sources
11507         * libs/gst/controller/gst-controller.c:
11508         (gst_controlled_property_set_interpolation_mode),
11509         (gst_controlled_property_new):
11510         * libs/gst/controller/gst-controller.h:
11511         * libs/gst/controller/gst-interpolation.c:
11512           implement boolean properties
11513
11514 2005-08-31  Wim Taymans  <wim@fluendo.com>
11515
11516         * gst/gstminiobject.c: (gst_mini_object_ref):
11517         Cannot assert that the refcount has to be positive
11518         since a disposed object can be resurrected.
11519
11520 2005-08-31  Wim Taymans  <wim@fluendo.com>
11521
11522         * gst/gstpad.c: (gst_pad_init):
11523         Revert change, need to first fix badly behaving 
11524         apps.
11525
11526 2005-08-30  Wim Taymans  <wim@fluendo.com>
11527
11528         * check/elements/fakesrc.c: (setup_fakesrc):
11529         * check/elements/identity.c: (setup_identity):
11530         Activate pads before using them.
11531
11532 2005-08-30  Wim Taymans  <wim@fluendo.com>
11533
11534         * gst/base/gstadapter.c: (gst_adapter_flush):
11535         Flushing out 0 bytes is ok for this function.
11536
11537         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11538         no newsegment gives a warning and sets the start/stop to 
11539         invalid.
11540
11541         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11542         (gst_base_transform_set_passthrough):
11543         Some debug info.
11544
11545         * gst/gstminiobject.c: (gst_mini_object_ref):
11546         Check refcount here too.
11547
11548         * gst/gstpad.c: (gst_pad_init):
11549         Pads are initially flushing and refusing data.
11550
11551         * gst/gstutils.c: (gst_element_link_pads_filtered):
11552         When adding a capsfilter element make sure it has the
11553         same state as the parent bin.
11554
11555 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11556
11557         * docs/gst/tmpl/.cvsignore:
11558         * docs/gst/tmpl/gstformat.sgml:
11559         * docs/gst/tmpl/gstversion.sgml:
11560         * gst/gstbus.h:
11561         * gst/gstformat.c:
11562         * gst/gstformat.h:
11563         * gst/gstversion.h.in:
11564           more docs and two more inlined
11565
11566 2005-08-30  Wim Taymans  <wim@fluendo.com>
11567
11568         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11569         Don't sync to clock.
11570
11571 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11572
11573         * docs/gst/gstreamer-sections.txt:
11574           ultral33t func10ns deserve to appear in the docs actually
11575         * docs/gst/tmpl/.cvsignore:
11576         * docs/gst/tmpl/gstcompat.sgml:
11577         * docs/gst/tmpl/gstconfig.sgml:
11578         * gst/check/gstcheck.c:
11579         * gst/gstcompat.h:
11580         * gst/gstconfig.h.in:
11581           inlined more docs
11582
11583 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11584
11585         * docs/gst/tmpl/.cvsignore:
11586         * docs/gst/tmpl/gstquery.sgml:
11587         * docs/gst/tmpl/gstutils.sgml:
11588         * gst/gstquery.c:
11589         * gst/gstquery.h:
11590           inlined and extended docs
11591
11592 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11593
11594         * check/gst-libs/controller.c: (GST_START_TEST),
11595         (gst_controller_suite):
11596           more tests
11597         * docs/gst/tmpl/gstutils.sgml:
11598         * docs/libs/gstreamer-libs-sections.txt:
11599         * docs/libs/tmpl/gstdataprotocol.sgml:
11600           include path fixes
11601         * examples/controller/audio-example.c: (main):
11602           controller example works now
11603         * gst/gstclock.h:
11604           doc fixes
11605         * tools/gst-inspect.c: (print_element_properties_info):
11606           show param spec flags
11607
11608 2005-08-29  Andy Wingo  <wingo@pobox.com>
11609
11610         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
11611
11612 2005-08-28  Andy Wingo  <wingo@pobox.com>
11613
11614         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
11615         as having two arguments instead of just one. Allows superclasses
11616         to access information on subclasses -- see the terrible for() loop
11617         in gtype.c:g_type_create_instance for the reason why. All callers
11618         changed.
11619
11620 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11621
11622         * docs/design/part-messages.txt:
11623           update info
11624         * docs/gst/tmpl/.cvsignore:
11625         * docs/gst/tmpl/gstcaps.sgml:
11626         * docs/gst/tmpl/gstclock.sgml:
11627         * gst/gstbus.c:
11628         * gst/gstcaps.c:
11629         * gst/gstcaps.h:
11630         * gst/gstclock.c:
11631         * gst/gstclock.h:
11632         * gst/gstmessage.c:
11633           added descriptions for bus and message
11634           inline caps and clock docs
11635
11636 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11637
11638         * gst/gstmessage.c:
11639         * gst/gstmessage.h:
11640           doc fixes
11641
11642 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11643
11644         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11645           fix div-by-zero
11646
11647 2005-08-26  Andy Wingo  <wingo@pobox.com>
11648
11649         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11650         element_set_state's return val.
11651         (test_2_elements): Add test that's been disabled for months.
11652
11653         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11654         can-activate-pull properties.
11655
11656         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11657         can-activate-pull properties. Implement is_seekable so fakesrc can
11658         operate in pull mode.
11659
11660         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11661         properties.
11662         (gst_base_sink_activate, gst_base_sink_activate_pull)
11663         (gst_base_sink_activate_push): Make activation mode choosing work.
11664         Cleanups.
11665         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11666         is right. Make pull mode work. Post an eos before pausing in pull
11667         mode.
11668         (gst_base_sink_change_state): Pay attention to the core's
11669         change_state() return val.
11670         
11671         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11672         has-getrange properties. Cleanups.
11673         
11674         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11675         has_getrange and replace with can_activate_pull and
11676         can_activate_push.
11677
11678         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11679         locking comments. Remove has_loop, has_chain and replace with
11680         can_activate_pull and can_activate_push.
11681
11682 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
11683
11684         * configure.ac:
11685         * examples/Makefile.am:
11686         * examples/metadata/Makefile.am:
11687         * examples/metadata/read-metadata.c: (message_loop),
11688         (have_pad_handler), (make_pipeline), (print_tag), (main):
11689           Add metadata reading example that loops over a list of filenames,
11690           dumping any tags found.
11691
11692         * gst/gstbus.c: (gst_bus_dispose):
11693         * gst/gstelement.c: (gst_element_dispose):
11694           Release a few potentially-held references in dispose.
11695
11696 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11697
11698         * docs/gst/tmpl/gstminiobject.sgml:
11699           do *not* add tmpl/*.sgml files to CVS!
11700
11701 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11702
11703         * libs/gst/bytestream/.cvsignore:
11704         * libs/gst/bytestream/Makefile.am:
11705         * libs/gst/bytestream/adapter.c:
11706         * libs/gst/bytestream/adapter.h:
11707         * libs/gst/bytestream/bytestream.c:
11708         * libs/gst/bytestream/bytestream.h:
11709         * libs/gst/bytestream/filepad.c:
11710         * libs/gst/bytestream/filepad.h:
11711           removing obsolete files
11712
11713 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11714
11715         * docs/gst/gstreamer-docs.sgml:
11716         * docs/libs/gstreamer-libs-docs.sgml:
11717           disabed additional index entries again, as this makes docs-gen just
11718           slow and they aren't useful yet
11719         * docs/libs/gstreamer-libs-sections.txt:
11720           little -section.txt cleanup for libs
11721
11722 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11723
11724         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11725         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11726           fix up some debugging
11727         (gst_base_transform_get_unit_size),
11728         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11729         (gst_base_transform_handle_buffer):
11730         * gst/base/gstbasetransform.h:
11731           handle and store timed NEWSEGMENT events so that subclasses that
11732           calculate time by counting samples have a segment_start time they
11733           need to add to their timestamps - see audioresample
11734
11735 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11736
11737         * gst/gstbin.h:
11738           removed ';' from the end of macro defs
11739         * docs/gst/gstreamer-docs.sgml:
11740         * docs/gst/gstreamer-sections.txt:
11741         * docs/gst/tmpl/.cvsignore:
11742         * gst/gstbus.h:
11743         * gst/gstelement.c: (gst_element_class_init),
11744         (gst_element_set_state), (activate_pads),
11745         (gst_element_save_thyself):
11746         * gst/gstevent.c: (gst_event_new_newsegment):
11747         * gst/gstevent.h:
11748         * gst/gstiterator.c:
11749         * gst/gstiterator.h:
11750         * gst/gstpad.c:
11751         * gst/gstprobe.h:
11752         * gst/gstutils.c: (gst_pad_query_convert):
11753         * gst/gstutils.h:
11754           fixed parameter name mismatches between source, header and docs
11755           added some more docs, resolved the last batch of unused elements in
11756           docs (now someone needs to doc them)
11757
11758 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11759
11760         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11761         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11762           don't walk through the plugins backwards.  Where is all this
11763           reversed logic coming from ?
11764
11765 2005-08-25  Wim Taymans  <wim@fluendo.com>
11766
11767         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11768         (gst_base_transform_transform_size),
11769         (gst_base_transform_configure_caps),
11770         (gst_base_transform_get_unit_size),
11771         (gst_base_transform_buffer_alloc),
11772         (gst_base_transform_change_state):
11773         * gst/base/gstbasetransform.h:
11774         Cache caps unit_size.
11775         Make sure we cannot negotiate up and downstream at the
11776         same time.
11777
11778 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11779
11780         * gst/gst.c: (init_pre), (init_post):
11781           register the installed plugin path after the env var
11782         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
11783         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
11784           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
11785           directories, so the tests can prefer uninstalled over installed
11786
11787 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11788
11789         * gst/base/gstbasetransform.h:
11790           comment
11791         * gst/gstpad.c:
11792           add to docs
11793
11794 2005-08-25  Wim Taymans  <wim@fluendo.com>
11795
11796         * gst/gstbin.c: (bin_bus_handler):
11797         Be a bit more conservative about the posted message.
11798         
11799         * gst/gstbus.c: (gst_bus_post):
11800         Some cleanups, warn wrong return values.
11801
11802 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
11803
11804         * check/gst/gstbin.c: (GST_START_TEST):
11805         * gst/gstbin.c: (bin_bus_handler):
11806         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11807         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11808         (gst_message_new_warning), (gst_message_new_tag),
11809         (gst_message_new_state_changed), (gst_message_new_segment_start),
11810         (gst_message_new_segment_done), (gst_message_new_custom):
11811         * gst/gstmessage.h:
11812         * tools/gst-launch.c: (event_loop):
11813         * tools/gst-md5sum.c: (event_loop):
11814           Revert unpopular change for GST_MESSAGE_SRC to GObject.
11815
11816 2005-08-25  Wim Taymans  <wim@fluendo.com>
11817
11818         * check/generic/states.c: (GST_START_TEST):
11819         Cleanup can be done at the end.
11820
11821         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
11822         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11823         (gst_task_get_state), (gst_task_start), (gst_task_pause):
11824         Oh boy.. Thanks for finding this, Thomas. 
11825
11826 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11827
11828         * docs/gst/gstreamer.types:
11829           added missing types
11830
11831 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11832
11833         * docs/gst/gstreamer-docs.sgml:
11834         * docs/gst/gstreamer-sections.txt:
11835         * docs/gst/tmpl/.cvsignore:
11836         * gst/gstbin.c:
11837         * gst/gstiterator.c:
11838         * gst/gstutils.c:
11839         * gst/registries/gstxmlregistry.h:
11840           added missing classes and symbols (123 more to go)
11841           removed removed symbols from section file
11842           fixed many doc-comments
11843
11844 2005-08-24  Wim Taymans  <wim@fluendo.com>
11845
11846         * check/generic/states.c: (GST_START_TEST):
11847         Make sure all tasks are stopped.
11848
11849         * check/gst/gstbin.c: (GST_START_TEST):
11850         Unref after usage for proper valgrinding.
11851
11852         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
11853         Really wait for the task to stop before destroying the
11854         mutex.
11855
11856         * gst/gstqueue.c: (gst_queue_sink_activate_push),
11857         (gst_queue_src_activate_push):
11858         Small cleanups. Don't stop the task when we did not start
11859         it.
11860
11861         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
11862         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11863         (gst_task_get_state), (gst_task_start), (gst_task_pause),
11864         (gst_task_join):
11865         * gst/gsttask.h:
11866         Protect the stream lock with the object lock.
11867         Disallow setting the stream lock when running.
11868         Add cleanup_all to wait for the threadpool to finish.
11869         Remove code to autoallocate a mutex if none was provided.
11870         Add _join() to wait for a task to stop.
11871         Protect the thread pool with a global lock.
11872
11873 2005-08-24  Wim Taymans  <wim@fluendo.com>
11874
11875         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11876         (gst_base_sink_get_times), (gst_base_sink_do_sync),
11877         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
11878         * gst/base/gstbasesink.h:
11879         Handle newsegment events correctly.
11880         Drop buffers out of the segment range.
11881
11882 2005-08-22  Andy Wingo  <wingo@pobox.com>
11883
11884         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
11885         macro, implements an interface and gstimplementsinterface for a
11886         new type.
11887
11888 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11889
11890         * check/Makefile.am:
11891         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
11892           add a test that does a bunch of state changes on elements
11893           needs some fixing for valgrind
11894         * check/states/sinks.c: (gst_object_suite):
11895           whitespace
11896         * gst/gstcaps.h:
11897           add prototype for gst_caps_is_equal_fixed
11898         * gst/gstplugin.c:
11899         * gst/gstregistrypool.c:
11900           doc fixes
11901
11902 2005-08-24  Andy Wingo  <wingo@pobox.com>
11903
11904         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
11905         convert a negative value. Doesn't make much sense. Mostly this is
11906         here to force callers to ensure -1 maps to -1.
11907
11908 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11909
11910         * docs/pwg/advanced-types.xml:
11911           Well done to Michael for catching my deliberate introduction
11912           of this spelling mistake. 
11913         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
11914         * gst/gstelement.h:
11915           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
11916           unlink pads before removing the element from the bin.
11917
11918 2005-08-24  Andy Wingo  <wingo@pobox.com>
11919
11920         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
11921         the same thing as GST_DEBUG=*:4.
11922         (parse_debug_level, parse_debug_category): New helper parsers.
11923
11924 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11925
11926         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
11927         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
11928         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
11929         (gst_base_transform_buffer_alloc),
11930         (gst_base_transform_handle_buffer):
11931           use gboolean return values and pointers to size so we can use the
11932           full GST_BUFFER_SIZE range (guint) for buffer sizes
11933           use GstPadDirection for transform_caps
11934         * gst/base/gstbasetransform.h:
11935           rename get_size to get_unit_size since that's what it is
11936         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
11937           use GstPadDirection for transform_caps
11938         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11939         * gst/gstutils.h:
11940           cleanup and debugging
11941
11942 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
11943
11944         * gst/gstelement.c: (gst_element_class_init),
11945         (gst_element_set_state), (activate_pads),
11946         (gst_element_save_thyself):
11947         * tools/gst-compprep.c: (main):
11948         * tools/gst-inspect.c: (print_element_properties_info):
11949         * tools/gst-xmlinspect.c: (print_element_properties):
11950           Fixed long standing mem-leak
11951
11952 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11953
11954         * check/gst/gstbin.c: (GST_START_TEST):
11955         * gst/gstbin.c: (bin_bus_handler):
11956         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11957         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11958         (gst_message_new_warning), (gst_message_new_tag),
11959         (gst_message_new_state_changed), (gst_message_new_segment_start),
11960         (gst_message_new_segment_done), (gst_message_new_custom):
11961         * gst/gstmessage.h:
11962         * tools/gst-launch.c: (event_loop):
11963         * tools/gst-md5sum.c: (event_loop):
11964           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
11965           that applications can sensibly post custom messages with references
11966           to their own objects.
11967
11968 2005-08-24  Andy Wingo  <wingo@pobox.com>
11969
11970         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
11971         already.
11972
11973 2005-08-24  Wim Taymans  <wim@fluendo.com>
11974
11975         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11976         (gst_base_transform_transform_caps),
11977         (gst_base_transform_transform_size),
11978         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11979         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
11980         (gst_base_transform_handle_buffer):
11981         * gst/base/gstbasetransform.h:
11982         Many fixes and new features added by Thomas. Can now also do
11983         transforms with variable sizes and a custom fixate_caps function.
11984
11985 2005-08-24  Wim Taymans  <wim@fluendo.com>
11986
11987         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
11988         Some debugging.
11989
11990         * gst/gstclock.h:
11991         Cast to ClockTime before formatting to time.
11992
11993         * gst/gstutils.h:
11994         Cleanups.
11995
11996 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
11997
11998         * check/gst-libs/controller.c: (GST_START_TEST),
11999         (gst_controller_suite):
12000         * docs/gst/tmpl/gstcaps.sgml:
12001         * docs/gst/tmpl/gstghostpad.sgml:
12002         * docs/gst/tmpl/gstquery.sgml:
12003         * docs/gst/tmpl/gstutils.sgml:
12004         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12005         (gst_object_sink_values), (gst_object_get_value_arrays),
12006         (gst_object_get_value_array):
12007           gracefully handle helper method calls to objects that are not beeing
12008           controlled, added test case for that          
12009
12010 2005-08-23  Wim Taymans  <wim@fluendo.com>
12011
12012         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12013         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12014         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12015         (gst_event_parse_qos), (gst_event_new_seek),
12016         (gst_event_parse_seek):
12017         * gst/gstevent.h:
12018         Some more debugging output and doc cleanups.
12019
12020         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12021         Fix possible deadlock.
12022
12023 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12024
12025         * docs/gst/gstreamer-docs.sgml:
12026         * docs/gst/gstreamer-sections.txt:
12027         * docs/gst/gstreamer.types:
12028         * docs/gst/tmpl/.cvsignore:
12029         * gst/gstbin.h:
12030         * gst/gstbus.c:
12031         * gst/gstelement.c:
12032         * gst/gstevent.h:
12033           added 100 symbols from gstreamer-unused.txt to the right sections
12034           fixed more broken comments
12035           added GstBus to docs
12036
12037 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12038
12039         * docs/gst/gstreamer-sections.txt:
12040         * docs/gst/tmpl/.cvsignore:
12041         * docs/gst/tmpl/gstbin.sgml:
12042         * docs/gst/tmpl/gstbuffer.sgml:
12043         * gst/base/gstbasesrc.c:
12044         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12045         * gst/gstbuffer.c:
12046         * gst/gstbuffer.h:
12047         * tools/gst-launch.1.in:
12048           inlined more doc comments, added missing comments and fixed comments
12049           fixed typos
12050
12051 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12052
12053         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12054           some debugging
12055         * gst/gstcaps.h:
12056           whitespace fixes
12057         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12058           more debugging
12059         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12060         * gst/gststructure.h:
12061           add a fixate function for booleans; add a FIXME that these func
12062           names should probably be gst_structure_fixate_*
12063
12064 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12065
12066         * docs/gst/gstreamer-docs.sgml:
12067         * docs/gst/gstreamer-sections.txt:
12068         * gst/Makefile.am:
12069         * gst/gstbin.c: (gst_bin_get_type),
12070         (gst_bin_child_proxy_get_child_by_index),
12071         (gst_bin_child_proxy_get_children_count),
12072         (gst_bin_child_proxy_init):
12073         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12074         (gst_child_proxy_get_child_by_index),
12075         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12076         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12077         (gst_child_proxy_get), (gst_child_proxy_set_property),
12078         (gst_child_proxy_set_valist), (gst_child_proxy_set),
12079         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12080         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12081         * gst/gstchildproxy.h:
12082         * gst/parse/grammar.y:
12083         * tools/gst-inspect.c: (print_interfaces),
12084         (print_element_properties_info), (print_element_info):
12085           ported gstchildproxy over from 0.8
12086           ported gst-inspect fixes and enhancements over from 0.8
12087
12088 2005-08-22  Wim Taymans  <wim@fluendo.com>
12089
12090         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12091         (gst_base_transform_handle_buffer):
12092         Also call the transform function if we have ANY caps.
12093
12094         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12095         Fix debug info.
12096
12097 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12098
12099         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12100           Don't pretend to handle seek events if the source is not seekable
12101
12102 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12103
12104         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12105           Remove extra parameter to debug output
12106
12107         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12108         (gst_base_src_do_seek), (gst_base_src_activate_push):
12109           Fix seek event handling.
12110
12111         * gst/gstpipeline.c: (gst_pipeline_change_state):
12112         * gst/gstqueue.c: (gst_queue_handle_sink_event),
12113         (gst_queue_src_activate_push):
12114           Don't start the src pad task on FLUSH_STOP if the pad
12115           isn't linked.
12116           Debug changes.
12117
12118 2005-08-22  Wim Taymans  <wim@fluendo.com>
12119
12120         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12121         Added check for gst_static_caps_get() refcounting.
12122
12123 2005-08-22  Wim Taymans  <wim@fluendo.com>
12124
12125         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12126         Make _static_caps_get() refcounting sane.
12127         
12128         * gst/gstelement.c: (gst_element_set_state):
12129         Add g_return_val_if_fail() to protect against segfaults.
12130
12131 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
12132
12133         * docs/gst/tmpl/gstevent.sgml:
12134         * gst/gstevent.c:
12135         * gst/gstevent.h:
12136           inlined remaining docs, added missing doc comments
12137
12138 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12139
12140         * check/gst/gstbin.c: (GST_START_TEST):
12141           since we don't know when preroll is done, use refcount range
12142           check for the sink
12143         * gst/check/gstcheck.h:
12144           add macro for checking refcount range
12145
12146 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12147
12148         * check/Makefile.am:
12149           clean up environment for when registry gets built versus
12150           when actual tests are run; valgrind seems to not report
12151           leaks if GST_PLUGIN_PATH is set to some specific values
12152         * check/gst/gstbin.c: (GST_START_TEST):
12153           add more refcounting checks; maybe this exposes a
12154           preroll lock bug ?
12155         * common/check.mak:
12156         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12157         * gst/check/gstcheck.h:
12158         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12159         (gst_bin_change_state):
12160         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12161           add/fix debugging/whitespace
12162
12163 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12164
12165         * check/gst/gstevent.c: (event_probe), (test_event),
12166         (GST_START_TEST):
12167          Er, don't call gst_bin_watch_for_state_change you idiot.
12168
12169 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12170
12171         * check/Makefile.am:
12172           Use CHECK_CFLAGS and CHECK_LIBS
12173         * check/gst/gstevent.c: (event_probe), (test_event),
12174         (GST_START_TEST):
12175           Don't leak events.
12176         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12177         (gst_base_src_start), (gst_base_src_stop),
12178         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12179         (gst_base_src_change_state):
12180           Sprinkle gst_base_src_stop liberally around error paths to fix
12181           problems reusing a source after failed state changes.
12182         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12183         (helper_find_suggest), (gst_type_find_helper):
12184           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12185         * gst/gstevent.h:
12186         * docs/gst/tmpl/gstevent.sgml:
12187           Migrate part of the docs from the SGML file. Wait for ensonic to
12188           tell me how I did it wrong ;)
12189         * tools/gst-typefind.c: (main):
12190           Extra robustness to state changes between files.
12191
12192 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12193
12194         * check/Makefile.am:
12195           don't valgrind the controller test - it's leaking - Stefan, HELP
12196         * gst/check/gstcheck.c: (gst_check_message_error),
12197         (gst_check_chain_func), (gst_check_setup_element),
12198         (gst_check_teardown_element), (gst_check_setup_src_pad),
12199         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12200         (gst_check_teardown_sink_pad):
12201         * gst/check/gstcheck.h:
12202           add a bunch of methods to set up elements, and src and sink pads
12203         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12204         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12205         (GST_START_TEST):
12206           use them
12207         * gst/gstmessage.c:
12208         * gst/gsttag.h:
12209           whitespace/doc fixes
12210
12211 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12212
12213         * gst/gstelement.h:
12214           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12215           be handled by the application and not always printed as well
12216
12217 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12218
12219         * check/Makefile.am:
12220           set GST_TOOLS_DIR
12221         * gst/check/gstcheck.c: (gst_check_message_error):
12222         * gst/check/gstcheck.h:
12223           add a fail_unless_equals_int
12224           add fail_unless for error messages
12225
12226 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12227
12228         * check/Makefile.am:
12229         * check/gst.supp:
12230         * common/Makefile.am:
12231         * common/check.mak:
12232         * common/gst.supp:
12233           factor out some of the common stuff so we can use it
12234
12235 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12236
12237         * check/Makefile.am:
12238         * check/gst/gstiterator.c: (GST_START_TEST):
12239         * check/gst/gstsystemclock.c: (GST_START_TEST),
12240         (gst_systemclock_suite):
12241         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12242         * gst/gstclock.c:
12243           valgrind more tests
12244
12245 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12246
12247         * check/elements/.cvsignore:
12248         * check/elements/gstfakesrc.c:
12249           rename to name of element
12250         * check/elements/identity.c: (chain_func), (event_func),
12251         (setup_identity), (cleanup_identity), (GST_START_TEST),
12252         (identity_suite), (main):
12253           add a test for identity
12254         * check/Makefile.am:
12255         * pkgconfig/Makefile.am:
12256         * pkgconfig/gstreamer-check.pc.in:
12257         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12258         * gst/check:
12259         * gst/Makefile.am:
12260         * configure.ac:
12261           move the check stuff to a library that gets installed
12262         * check/gst-libs/controller.c: (GST_START_TEST):
12263         * check/gst-libs/gdp.c:
12264         * check/gst/gst.c: (GST_START_TEST):
12265         * check/gst/gstbin.c:
12266         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12267         * check/gst/gstbus.c:
12268         * check/gst/gstcaps.c: (GST_START_TEST):
12269         * check/gst/gstelement.c:
12270         * check/gst/gstghostpad.c:
12271         * check/gst/gstiterator.c:
12272         * check/gst/gstmessage.c:
12273         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12274         * check/gst/gstobject.c:
12275         * check/gst/gstpad.c: (GST_START_TEST):
12276         * check/gst/gststructure.c: (GST_START_TEST):
12277         * check/gst/gstsystemclock.c: (GST_START_TEST),
12278         (gst_systemclock_suite):
12279         * check/gst/gsttag.c: (gst_tag_suite):
12280         * check/gst/gstvalue.c:
12281         * check/pipelines/cleanup.c:
12282         * check/pipelines/simple_launch_lines.c:
12283         * check/states/sinks.c:
12284           change include statement
12285
12286         * docs/gst/gstreamer-sections.txt:
12287         * docs/gst/tmpl/gstpad.sgml:
12288           document more pad stuff
12289         * gst/gstminiobject.c: (gst_mini_object_ref),
12290         (gst_mini_object_unref):
12291           debug refcounting
12292
12293 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12294
12295         * docs/gst/tmpl/gst.sgml:
12296         * gst/gst.c:
12297           eliminate another tmpl file, fix spelling in the long-description
12298
12299 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12300
12301         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12302         (test_event), (timediff), (gstevents_suite):
12303           Should fix build on 64-bit arch's
12304
12305 2005-08-18  Andy Wingo  <wingo@pobox.com>
12306
12307         Make sure that when a pipeline goes to PLAYING, that data has
12308         actually hit the sink.
12309
12310         * check/states/sinks.c (test_sink): A sink that doesn't get any
12311         data shouldn't return SUCCESS for going to either PLAYING or
12312         PAUSED. Test also the return values on the way back down.
12313
12314         * gst/gstelement.c (gst_element_set_state): When changing the
12315         state of an element currently changing state asynchronously, go to
12316         lost-state after commiting the pending state. Makes future calls
12317         to get_state continue to return ASYNC.
12318
12319         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12320         ASYNC when going to PLAYING if we still don't have preroll, as can
12321         happen with live sources.
12322
12323 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12324
12325         * docs/pwg/advanced-types.xml:
12326           Hack long paragraph into 2 chunks as a workaround for buggy
12327           jadetex version in sid and breezy that loops infinitely and
12328           eats all RAM.
12329
12330 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12331
12332         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12333         (test_event), (timediff), (gstevents_suite):
12334           Provide more error margin in clock measurements to allow for 
12335           g_get_current_time inaccuracies.
12336
12337 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12338
12339         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12340         (test_event), (timediff), (gstevents_suite):
12341            Fix error message output so I might be able to tell why the
12342            test works here but fails on the build farm.
12343
12344 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12345
12346         * check/Makefile.am:
12347         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12348         (test_event), (timediff), (gstevents_suite), (main):
12349           I wrote a test!
12350
12351         * docs/design/part-seeking.txt:
12352           Spelling correction
12353
12354         * docs/gst/tmpl/gstevent.sgml:
12355         * docs/gst/tmpl/gstfakesrc.sgml:
12356           Docs updates.
12357
12358         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12359           Treat a buffer-without-newsegment the same as a receiving 
12360           a newsegment not in time format, and disable syncing to the clock
12361           with a warning.
12362
12363         * gst/gstbus.c: (gst_bus_set_sync_handler):
12364           Assert if anyone tries to replace the existing sync_handler for bus, 
12365           as only the owner should be setting it.
12366
12367         * gst/gstevent.h:
12368           Have a fixed set of custom event enums with events identified by
12369           their structure name (as in 0.8), rather than a free-for-all
12370           allowing collisions between enum values from different plugins.
12371
12372         * gst/gstpad.c: (gst_pad_class_init):
12373           Docs change.
12374           
12375         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12376           Handle out-of-band downstream events from the sending thread.
12377
12378 2005-08-17  Andy Wingo  <wingo@pobox.com>
12379
12380         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12381         play-timeout==0 to mean no timeout at all. In that case, don't
12382         bother with a get_state or a warning, just return directly, even
12383         if it's ASYNC.
12384
12385         * gst/base/gstbasetransform.c: Debug changes.
12386
12387         * gst/gstutils.h:
12388         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12389         ensure bins post state change messages. A bit of a hack but I can't
12390         think of a way to avoid it.
12391
12392         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12393
12394 2005-08-16  Andy Wingo  <wingo@pobox.com>
12395
12396         * gst/base/gstadapter.h:
12397         * gst/base/gstadapter.c (gst_adapter_take): New function, like
12398         peek() but you own the data. Not terribly efficient atm.
12399
12400 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12401
12402         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12403         (gst_element_found_tags):
12404         * gst/gstutils.h:
12405           Add two utility functions for tag handling.
12406
12407 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12408
12409         * docs/manual/advanced-dataaccess.xml:
12410         * docs/manual/basics-helloworld.xml:
12411           Fix docs to use _bin_add() before _link(), which fixes the examples
12412           with recent core versions (reported by Madhan Raj M
12413           <raj_madan@rediffmail.com>, #313199).
12414
12415 2005-08-16  Wim Taymans  <wim@fluendo.com>
12416
12417         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12418         Added subtract checks.
12419
12420         * docs/design/part-events.txt:
12421         Some more docs about newsegment
12422
12423         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12424         Fix FIXME
12425
12426         * gst/gstcaps.c: (gst_caps_to_string):
12427         Add comments, cleanups.
12428         
12429         * gst/gstelement.c: (gst_element_save_thyself):
12430         cleanups
12431         
12432         * gst/gstvalue.c: (gst_value_collect_int_range),
12433         (gst_string_unwrap), (gst_value_union_int_int_range),
12434         (gst_value_union_int_range_int_range),
12435         (gst_value_intersect_int_int_range),
12436         (gst_value_intersect_int_range_int_range),
12437         (gst_value_intersect_double_double_range),
12438         (gst_value_intersect_double_range_double_range),
12439         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12440         (gst_value_subtract_int_range_int),
12441         (gst_value_subtract_double_range_double),
12442         (gst_value_subtract_double_range_double_range),
12443         (gst_value_subtract_from_list), (gst_value_subtract_list),
12444         (gst_value_can_compare), (gst_value_compare_fraction):
12445         Cleanups, add comments, remove unneeded asserts.
12446
12447 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12448
12449         * tools/gst-launch.c: (event_loop):
12450           don't convert NULL structures to strings
12451
12452 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
12453
12454         * docs/gst/gstreamer-sections.txt:
12455           made some defines private
12456         * docs/gst/tmpl/gstconfig.sgml:
12457         * docs/gst/tmpl/gstqueue.sgml:
12458         * docs/gst/tmpl/gsttaglist.sgml:
12459         * docs/gst/tmpl/gsttypes.sgml:
12460         * docs/gst/tmpl/gstutils.sgml:
12461         * docs/pwg/appendix-porting.xml:
12462         * gst/base/gstbasesink.h:
12463         * gst/base/gstbasesrc.c:
12464         * gst/base/gstbasesrc.h:
12465         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12466         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12467         * gst/gstelement.c: (gst_element_class_init):
12468         * gst/gstpad.c: (gst_pad_class_init):
12469         * gst/gstqueue.c: (gst_queue_class_init):
12470         * gst/gstxml.c: (gst_xml_class_init):
12471           documented all undocumented signal inline
12472         * libs/gst/controller/gst-controller.h:
12473           added padding
12474
12475 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12476
12477         * docs/pwg/appendix-porting.xml:
12478           Document _set_link_function -> _set_setcaps_function.
12479
12480 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12481
12482         * check/Makefile.am:
12483           add a .check target for running the check
12484         * check/gst-libs/controller.c: (GST_START_TEST):
12485           cosmetic fixups
12486         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12487           complete checks for gstbuffer; would be nice if I could get the
12488           gcov stuff to work so I can see if I actually completed gstbuffer.c
12489         * check/gstcheck.h:
12490           add ASSERT_BUFFER_REFCOUNT
12491
12492 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
12493
12494         * docs/gst/gstreamer-sections.txt:
12495         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12496         * gst/gsttag.h:
12497           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12498           spew out a warning if a tag that is already registered
12499           is re-registered, unless it is re-registered with a 
12500           different type (#308438).
12501
12502 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
12503
12504         * docs/pwg/appendix-porting.xml:
12505         * docs/pwg/building-state.xml:
12506           Add some paragraphs about state changes in 0.9 to the PWG
12507           and the porting guide, in particular about the new meaning
12508           of GST_STATE_PAUSED and how to write state change functions
12509           with concurrent access by multiple threads in mind.
12510
12511 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
12512
12513         * docs/gst/gstreamer-docs.sgml:
12514         * docs/libs/gstreamer-libs-docs.sgml:
12515           added deprecation and since indexes
12516         * libs/gst/controller/gst-controller.c:
12517         * libs/gst/controller/gst-helper.c:
12518           added since tags
12519
12520
12521 2005-08-11  Wim Taymans  <wim@fluendo.com>
12522
12523         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12524         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12525         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12526         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12527         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12528         (gst_ghost_pad_set_target):
12529         Actually implement (re)setting the target on a ghostpad
12530         as described in the docs.
12531
12532 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12533
12534         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12535           Check whether GST_DEBUG_NO_COLOR environment variable is
12536           set and disable coloured debug output if that is the case.
12537
12538 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12539
12540         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12541         (gst_type_find_helper):
12542           The memory returned by gst_type_find_peek() needs to
12543           stay valid until the end of a typefind function, and
12544           typefind functions may keep results from different 
12545           offsets around, so we can't just unref the buffer from
12546           the previous _peek(), but have to save all buffers 
12547           returned by _peek() until typefinding is done and only
12548           free them then.
12549
12550 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12551
12552         * docs/gst/gstreamer-sections.txt:
12553         * gst/gstutils.h:
12554           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12555
12556 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12557
12558         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12559           Fix a pretty good memleak.
12560
12561 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12562
12563         * gst/gstiterator.h:
12564           Fix wrong include and 'make distcheck'.
12565
12566 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12567
12568         * gst/gstbin.c: (bin_bus_handler):
12569           Use gst_element_post_message() instead.
12570
12571 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12572
12573         * gst/base/gstadapter.h:
12574         * gst/base/gstbasesink.h:
12575         * gst/base/gstbasesrc.h:
12576         * gst/base/gstbasetransform.h:
12577         * gst/base/gstcollectpads.h:
12578         * gst/base/gstpushsrc.h:
12579         * gst/gstiterator.h:
12580           Add padding to our base elements' class and instance structs and
12581           to GstIterator (you will need to rebuild all plugins and apps!)
12582
12583 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12584
12585         * gst/gstbin.c: (bin_bus_handler):
12586           Make default message forwarding from child->bus to bin->bus
12587           threadsafe and make it not emit warnings if the parent has no bus.
12588
12589 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12590
12591         * gst/gstelement.c: (activate_pads):
12592           On paused->ready, set pad->caps to NULL, as is the documented
12593           behaviour in this state change. Fixes playback of series of
12594           media files when visualization is enabled in Totem.
12595
12596 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12597
12598         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12599           Allow NULL as filter-caps (which means "any").
12600
12601 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12602
12603         * docs/libs/gstreamer-libs-sections.txt:
12604         * libs/gst/controller/gst-controller.c:
12605         * libs/gst/controller/gst-controller.h:
12606         * libs/gst/controller/gst-helper.c:
12607           adding more entries to the docs and fix small doc-bugs
12608
12609 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12610
12611         * docs/gst/gstreamer-docs.sgml:
12612         * docs/gst/gstreamer-sections.txt:
12613         * docs/gst/gstreamer.types:
12614         * docs/gst/tmpl/gstbasesink.sgml:
12615         * docs/gst/tmpl/gstbasesrc.sgml:
12616         * docs/gst/tmpl/gstbasetransform.sgml:
12617         * docs/gst/tmpl/gstfakesrc.sgml:
12618         * gst/base/gstcollectpads.c:
12619         * gst/base/gstcollectpads.h:
12620         * libs/gst/controller/gst-controller.c:
12621         * libs/gst/controller/gst-controller.h:
12622         * libs/gst/controller/gst-helper.c:
12623         * libs/gst/controller/gst-interpolation.c:
12624         * libs/gst/controller/lib.c:
12625           added long/short desc for controller docs
12626           added collectpads base class docs
12627           added correct includes to base-class docs
12628
12629 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12630
12631         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12632         (gst_test_mono_source_set_property),
12633         (gst_test_mono_source_class_init), (GST_START_TEST),
12634         (gst_controller_suite):
12635         * docs/gst/gstreamer-docs.sgml:
12636         * docs/gst/gstreamer-sections.txt:
12637         * docs/gst/gstreamer.types:
12638         * docs/libs/gstreamer-libs-docs.sgml:
12639         * docs/libs/gstreamer-libs-sections.txt:
12640         * gst/base/gstadapter.c:
12641         * libs/gst/controller/gst-controller.c:
12642         (gst_controlled_property_new), (gst_controlled_property_free),
12643         (gst_controller_new_valist),
12644         (gst_controller_remove_properties_valist),
12645         (gst_controller_sink_values), (_gst_controller_finalize):
12646         * libs/gst/controller/gst-controller.h:
12647         * libs/gst/controller/gst-helper.c:
12648         (gst_object_control_properties), (gst_object_uncontrol_properties),
12649         (gst_object_get_controller), (gst_object_set_controller),
12650         (gst_object_sink_values), (gst_object_get_value_arrays),
12651         (gst_object_get_value_array):
12652           more tests (and fixes) for the controller
12653           more docs for the controller
12654           integrated companies docs for the adapter 
12655
12656 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12657
12658         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12659         (GST_START_TEST), (fakesrc_suite):
12660           add tests for sizetype
12661
12662 2005-08-04  Andy Wingo  <wingo@pobox.com>
12663
12664         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12665         fixes buffer_alloc proxying among other things.
12666
12667         * gst/base/gstbasetransform.c:
12668         * gst/base/gstbasetransform.h:
12669         Revert patch to gstbasetransform from 7-28 removing
12670         delay_configure.
12671
12672         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12673         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12674         Semantics changed, should return not the size of the output buffer
12675         but the byte size of a buffer with a given caps.
12676
12677         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12678         debug object.
12679         (gst_base_transform_configure_caps): Don't set out_size here: (in,
12680         out) are not the pad caps until setcaps finishes.
12681         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12682         not-in-place case as well. Deal with changing from in-place to
12683         not-in-place within calling pad_alloc_buffer. Still a bit
12684         concerned about the overhead here...
12685
12686 2005-08-03  Andy Wingo  <wingo@pobox.com>
12687
12688         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12689         fixating is an error.
12690
12691 2005-08-04  Edward Hervey  <edward@fluendo.com>
12692
12693         * gst/base/gstadapter.h: 
12694         Added gst_adapter_get_type() to the header
12695
12696 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12697
12698         * check/Makefile.am:
12699         * check/gst-libs/controller.c:
12700         * libs/gst/controller/gst-controller.c:
12701         (gst_controller_new_valist):
12702           added check test suite for the controller
12703         * gst/base/gstpushsrc.c:
12704           fixed a doc typo
12705
12706 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12707
12708         * docs/gst/Makefile.am:
12709         * docs/gst/gstreamer-docs.sgml:
12710         * docs/gst/gstreamer-sections.txt:
12711         * docs/gst/gstreamer.types:
12712         * docs/gst/tmpl/gstfakesrc.sgml:
12713         * gst/base/README:
12714         * gst/base/gstbasesink.c:
12715         * gst/base/gstbasesink.h:
12716         * gst/base/gstbasesrc.c:
12717         * gst/base/gstbasesrc.h:
12718         * gst/base/gstbasetransform.c:
12719         * gst/base/gstpushsrc.c:
12720         * gst/base/gstpushsrc.h:
12721           add short/long description docs to base classes
12722           add pushsrc to the docs
12723           remove consolidated doc fragments
12724
12725 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12726
12727         * configure.ac:
12728         * docs/libs/Makefile.am:
12729         * docs/libs/gstreamer-libs-docs.sgml:
12730         * docs/libs/gstreamer-libs-sections.txt:
12731         * docs/libs/gstreamer-libs.types:
12732         * examples/Makefile.am:
12733         * examples/controller/.cvsignore:
12734         * examples/controller/Makefile.am:
12735         * examples/controller/audio-example.c: (main):
12736         * libs/gst/Makefile.am:
12737         * libs/gst/controller/.cvsignore:
12738         * libs/gst/controller/Makefile.am:
12739         * libs/gst/controller/gst-controller.c:
12740         (on_object_controlled_property_changed), (gst_timed_value_compare),
12741         (gst_timed_value_find),
12742         (gst_controlled_property_set_interpolation_mode),
12743         (gst_controlled_property_new), (gst_controlled_property_free),
12744         (gst_controller_find_controlled_property),
12745         (gst_controller_new_valist), (gst_controller_new),
12746         (gst_controller_remove_properties_valist),
12747         (gst_controller_remove_properties), (gst_controller_set),
12748         (gst_controller_set_from_list), (gst_controller_unset),
12749         (gst_controller_get), (gst_controller_get_all),
12750         (gst_controller_sink_values), (gst_controller_get_value_arrays),
12751         (gst_controller_get_value_array),
12752         (gst_controller_set_interpolation_mode),
12753         (_gst_controller_finalize), (_gst_controller_init),
12754         (_gst_controller_class_init), (gst_controller_get_type):
12755         * libs/gst/controller/gst-controller.h:
12756         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12757         (g_object_uncontrol_properties), (g_object_get_controller),
12758         (g_object_set_controller), (g_object_sink_values),
12759         (g_object_get_value_arrays), (g_object_get_value_array):
12760         * libs/gst/controller/gst-interpolation.c:
12761         (gst_controlled_property_find_timed_value_node),
12762         (interpolate_none_get), (interpolate_trigger_get),
12763         (interpolate_trigger_get_value_array):
12764         * libs/gst/controller/lib.c: (gst_controller_init):
12765         * pkgconfig/Makefile.am:
12766         * pkgconfig/gstreamer-control-uninstalled.pc.in:
12767         * pkgconfig/gstreamer-control.pc.in:
12768         * testsuite/Makefile.am:
12769         * testsuite/controller/.cvsignore:
12770         * testsuite/controller/Makefile.am:
12771         * testsuite/controller/interpolator.c: (main):
12772           added controller code
12773           removed dparam pc files
12774
12775 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12776         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
12777         (gst_collectpads_stop):
12778           Broadcast the condition when shutting down, to make sure we wake all
12779           threads up. Shut down pads on finalize, for safety.
12780
12781 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12782         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12783         (gst_base_transform_handle_buffer),
12784         (gst_base_transform_change_state):
12785           Handle PAUSED->READY->PAUSED transition after negotiation
12786           occurred already.
12787         * gst/gstmessage.c: (gst_message_init):
12788           Extra piece of debug for new messages.
12789
12790 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
12791
12792         * configure.ac:
12793         * docs/gst/tmpl/gstbasesrc.sgml:
12794         * docs/gst/tmpl/gstelement.sgml:
12795         * docs/gst/tmpl/gstevent.sgml:
12796         * docs/gst/tmpl/gstfakesrc.sgml:
12797         * docs/gst/tmpl/gstformat.sgml:
12798         * docs/gst/tmpl/gstghostpad.sgml:
12799         * docs/gst/tmpl/gstpad.sgml:
12800         * docs/gst/tmpl/gstquery.sgml:
12801         * docs/gst/tmpl/gststructure.sgml:
12802         * docs/gst/tmpl/gsttaglist.sgml:
12803         * docs/gst/tmpl/gstvalue.sgml:
12804         * docs/libs/gstreamer-libs-docs.sgml:
12805         * docs/libs/gstreamer-libs-sections.txt:
12806         * docs/libs/gstreamer-libs.types:
12807         * libs/gst/Makefile.am:
12808         * libs/gst/control/.cvsignore:
12809         * libs/gst/control/Makefile.am:
12810         * libs/gst/control/control.c:
12811         * libs/gst/control/control.h:
12812         * libs/gst/control/dparam.c:
12813         * libs/gst/control/dparam.h:
12814         * libs/gst/control/dparam_smooth.c:
12815         * libs/gst/control/dparam_smooth.h:
12816         * libs/gst/control/dparamcommon.h:
12817         * libs/gst/control/dparammanager.c:
12818         * libs/gst/control/dparammanager.h:
12819         * libs/gst/control/dplinearinterp.c:
12820         * libs/gst/control/dplinearinterp.h:
12821         * libs/gst/control/unitconvert.c:
12822         * libs/gst/control/unitconvert.h:
12823         * testsuite/Makefile.am:
12824         * testsuite/dynparams/.cvsignore:
12825         * testsuite/dynparams/Makefile.am:
12826         * testsuite/dynparams/dparamstest.c:
12827         * tools/Makefile.am:
12828         * tools/gst-inspect.c: (print_element_info), (main):
12829         * tools/gst-xmlinspect.c: (print_element_info), (main):
12830           deactivate and remove dparams (libgstcontrol)
12831
12832 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12833
12834         * gst/elements/gsttypefindelement.c:
12835         (gst_type_find_element_have_type), (gst_type_find_element_init),
12836         (stop_typefinding), (gst_type_find_element_handle_event),
12837         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12838         * gst/elements/gsttypefindelement.h:
12839           Set caps on all outgoing buffers, not just the first one.
12840
12841 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12842
12843         * gst/elements/gsttypefindelement.c:
12844         (gst_type_find_element_have_type),
12845         (gst_type_find_element_check_set_buffer_caps),
12846         (gst_type_find_element_init), (stop_typefinding),
12847         (gst_type_find_element_handle_event),
12848         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12849         * gst/elements/gsttypefindelement.h:
12850           Set caps on first outgoing buffer when we've found the type.
12851
12852 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12853
12854         * docs/gst/gstreamer-docs.sgml:
12855         * docs/gst/gstreamer-sections.txt:
12856         * docs/gst/tmpl/gstscheduler.sgml:
12857         * docs/gst/tmpl/gstschedulerfactory.sgml:
12858           Remove some old cruft from docs.
12859
12860 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
12861
12862         * gst/gstpad.h:
12863           Fix inline docs for GstPadLinkReturn.
12864           
12865         * gst/gststructure.c: (gst_structure_has_name):
12866         * gst/gststructure.h:
12867         * docs/gst/gstreamer-sections.txt:
12868           New API: gst_structure_has_name().
12869
12870 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
12871
12872         * configure.ac:
12873           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
12874           and _LARGEFILE_SOURCE in config.h as required. Do not 
12875           export those flags in our .pc files any longer (#142209).
12876
12877           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
12878
12879         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
12880         (gst_file_sink_do_seek), (gst_file_sink_event),
12881         (gst_file_sink_get_current_offset), (gst_file_sink_render):
12882           Redo seek/tell calls with large file support in mind; add some
12883           debugging messages; add log message that tells us when large
12884           file support is unavailable or not enabled for some reason.
12885
12886         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
12887           Add log message that tells us when large file support 
12888           is unavailable or not enabled for some reason.
12889
12890 2005-07-29  Wim Taymans  <wim@fluendo.com>
12891
12892         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12893         Added test for removing an element with ghostpad from a bin.
12894         Fixed test as current implementation does the right thing.
12895
12896         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
12897         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
12898         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
12899         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
12900         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
12901         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
12902         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
12903         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12904         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
12905         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
12906         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
12907         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
12908         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12909         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
12910         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
12911         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12912         * gst/gstghostpad.h:
12913         Clean up ghostpads, remove properties for internal stuff.
12914         Make threadsafe.
12915         Fix refcounting.
12916         Prepare for switching targets, not all use cases work yet.
12917
12918 2005-07-29  Wim Taymans  <wim@fluendo.com>
12919
12920         * docs/design/part-gstghostpad.txt:
12921         Small update.
12922
12923         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12924         (gst_bin_remove_func):
12925         Unlinking pads while holding the bin LOCK is not a good
12926         idea.
12927
12928         * gst/gstpad.c: (gst_pad_class_init),
12929         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
12930         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
12931         No prob setting template after creating the pad.
12932
12933 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
12934
12935         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
12936         (gst_bus_peek), (gst_bus_source_dispatch),
12937         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
12938         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
12939           gst_bus_poll may be called from other threads. Handle
12940           this nicely by not making poll_data disappear off the
12941           stack once gst_bus_poll returns.
12942           gst_bus_peek now increments the refcount on the returned
12943           message.
12944
12945 2005-07-29  Wim Taymans  <wim@fluendo.com>
12946
12947         * docs/design/part-gstghostpad.txt:
12948         Overview of current GhostPad datastructures and use
12949         cases for changing the target.
12950
12951 2005-07-28  Wim Taymans  <wim@fluendo.com>
12952
12953         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
12954         Added checks for hierarchy consistency whan adding linked
12955         elements to bins.
12956
12957         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
12958         Added check to test element scheduling without bin/pipeline.
12959
12960         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
12961         First add elements to bin, then link.
12962         
12963         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
12964         (gst_bin_remove_func):
12965         Unlink pads from elements added/removed from bin to maintain
12966         hierarchy consistency.
12967
12968 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12969
12970         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
12971         (gst_base_transform_handle_buffer):
12972         * gst/base/gstbasetransform.h:
12973           Remove broken delay_configure (fixes renegotiation of software
12974           scaling pipelines); remove some leftover printf()s.
12975
12976 2005-07-28  Wim Taymans  <wim@fluendo.com>
12977
12978         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12979         Added some more tests for wrong hierarchy
12980
12981         * docs/design/part-overview.txt:
12982         Some updates.
12983
12984         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
12985         Cleanups.
12986
12987         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
12988         (gst_element_dispose):
12989         Some more cleanups.
12990
12991         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
12992         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
12993         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
12994         (gst_pad_set_caps), (gst_pad_send_event):
12995         Check for correct hierarchy when linking pads. Moving to
12996         strict requirement for ghostpads when linking elements in
12997         different bins.
12998
12999         * gst/gstpad.h:
13000         Clean ups. Added WRONG_HIERARCHY return value.
13001
13002 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13003
13004         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13005           Better debug if no transform is possible.
13006
13007 2005-07-27  Wim Taymans  <wim@fluendo.com>
13008
13009         * docs/random/wtay/network-transp:
13010         Some old doc I had.
13011
13012 2005-07-27  Wim Taymans  <wim@fluendo.com>
13013
13014         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13015         (gst_dp_event_from_packet):
13016         Fix serialization of seek events.
13017
13018 2005-07-27  Wim Taymans  <wim@fluendo.com>
13019
13020         * check/gst-libs/gdp.c: (GST_START_TEST):
13021         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13022         Fix compilation and fix event serialization.
13023
13024 2005-07-27  Wim Taymans  <wim@fluendo.com>
13025
13026         * CHANGES-0.9:
13027         * docs/design/part-TODO.txt:
13028         * docs/design/part-events.txt:
13029         Some docs updates
13030
13031         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13032         (gst_base_sink_event), (gst_base_sink_do_sync),
13033         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13034         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13035         (gst_base_src_do_seek), (gst_base_src_event_handler),
13036         (gst_base_src_loop):
13037         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13038         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13039         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13040         (gst_base_transform_event), (gst_base_transform_handle_buffer),
13041         (gst_base_transform_set_passthrough),
13042         (gst_base_transform_is_passthrough):
13043         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13044         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13045         Event updates.
13046
13047         * gst/gstbuffer.h:
13048         Use faster casts.
13049
13050         * gst/gstelement.c: (gst_element_seek):
13051         * gst/gstelement.h:
13052         Update gst_element_seek.
13053
13054         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13055         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13056         (gst_event_new_flush_start), (gst_event_new_flush_stop),
13057         (gst_event_new_eos), (gst_event_new_newsegment),
13058         (gst_event_parse_newsegment), (gst_event_new_tag),
13059         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13060         (gst_event_parse_qos), (gst_event_new_seek),
13061         (gst_event_parse_seek), (gst_event_new_navigation):
13062         * gst/gstevent.h:
13063         Make GstEvent use GstStructure. Add parsing code, make sure the
13064         API is sufficiently generic.
13065         Mark possible directions of events and serialization.
13066
13067         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13068         (_gst_message_copy), (gst_message_new_segment_start),
13069         (gst_message_new_segment_done), (gst_message_new_custom),
13070         (gst_message_parse_segment_start),
13071         (gst_message_parse_segment_done):
13072         Small cleanups.
13073
13074         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13075         (gst_pad_set_caps), (gst_pad_send_event):
13076         Update for new events. 
13077         Catch events sent in wrong directions.
13078
13079         * gst/gstqueue.c: (gst_queue_link_src),
13080         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13081         (gst_queue_handle_src_query):
13082         Event updates.
13083
13084         * gst/gsttag.c:
13085         * gst/gsttag.h:
13086         Remove event code from this file.
13087
13088         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13089         (gst_dp_event_from_packet):
13090         Event updates.
13091
13092 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13093
13094         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13095         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13096         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13097           Make debugging actually useful.
13098
13099 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13100
13101         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13102         (gst_pad_fixate_caps):
13103           Implement default fixation once again, so that gst_pad_fixate()
13104           actually does anything at all. This probably needs to be some
13105           sort of a last resort, and use profile-based fixation first, but
13106           since that doesn't exist yet, this is the best we have. Fixes
13107           visualization in Totem.
13108
13109 2005-07-22  Wim Taymans  <wim@fluendo.com>
13110
13111         * docs/design/part-events.txt:
13112         Small update.
13113
13114         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13115         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13116         (gst_base_sink_activate_pull):
13117         Some more comments.
13118
13119         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13120         (gst_fake_src_create):
13121         Fix handoff marshall.
13122
13123         * gst/elements/gstidentity.c: (gst_identity_class_init),
13124         (gst_identity_transform_ip):
13125         We're a real inplace element.
13126
13127         * gst/gstbus.c: (gst_bus_post):
13128         Added some comments.
13129
13130         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13131         * tests/muxing/case1.c: (main):
13132         * tests/sched/dynamic-pipeline.c: (main):
13133         * tests/sched/interrupt1.c: (main):
13134         * tests/sched/interrupt2.c: (main):
13135         * tests/sched/interrupt3.c: (main):
13136         * tests/sched/runxml.c: (main):
13137         * tests/sched/sched-stress.c: (main):
13138         * tests/seeking/seeking1.c: (event_received), (main):
13139         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13140         (main):
13141         * tests/threadstate/threadstate3.c: (main):
13142         * tests/threadstate/threadstate4.c: (main):
13143         * tests/threadstate/threadstate5.c: (main):
13144         Fix the tests.
13145
13146 2005-07-21  Wim Taymans  <wim@fluendo.com>
13147
13148         * docs/design/part-seeking.txt:
13149         Some small additions.
13150
13151         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13152         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13153         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13154         * gst/base/gstbasesink.h:
13155         discont values are gint64, handle the math correctly.
13156
13157         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13158         Make the basesrc report error if the source pad is not linked.
13159
13160         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13161         (gst_queue_loop), (gst_queue_handle_src_query),
13162         (gst_queue_src_activate_push):
13163         Make queue collect data even if the srcpad is not linked.
13164         Start pushing out data as soon as it is linked.
13165
13166         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13167         * gst/gstutils.h:
13168         Added gst_flow_get_name() to ease error reporting.
13169
13170 2005-07-20  Wim Taymans  <wim@fluendo.com>
13171
13172         * gst/gstmessage.c: (gst_message_new_segment_start),
13173         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13174         (gst_message_parse_segment_done):
13175         * gst/gstmessage.h:
13176         Added a bunch of messages for advanced seeking.
13177
13178         * gst/parse/grammar.y:
13179         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13180         (gst_dpman_state_changed):
13181         Fix some new-pad -> pad-added signals
13182
13183 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13184
13185         * docs/manual/appendix-porting.xml:
13186         * docs/pwg/appendix-porting.xml:
13187           Document new-pad/state-change signal renames and the FixedList
13188           type rename.
13189
13190 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13191
13192         * docs/manual/advanced-autoplugging.xml:
13193         * docs/manual/basics-helloworld.xml:
13194         * docs/manual/basics-pads.xml:
13195         * docs/random/ds/0.9-suggested-changes:
13196         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13197         * gst/gstelement.h:
13198         * gst/gstevent.h:
13199         * gst/gstformat.h:
13200         * gst/gstquery.h:
13201         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13202         (gst_structure_parse_array), (gst_structure_parse_value):
13203         * gst/gstvalue.c: (gst_type_is_fixed),
13204         (gst_value_list_prepend_value), (gst_value_list_append_value),
13205         (gst_value_list_get_size), (gst_value_list_get_value),
13206         (gst_value_transform_array_string), (gst_value_serialize_array),
13207         (gst_value_deserialize_array), (gst_value_intersect_array),
13208         (gst_value_is_fixed), (_gst_value_initialize):
13209         * gst/gstvalue.h:
13210           GstElement::new-pad -> pad-added, GstElement::state-change ->
13211           state-changed, GstValueFixedList -> GstValueArray, add format and
13212           flags as their own arguments in gst_element_seek() (should improve
13213           "bindeability"), remove function generators since they don't work
13214           under a whole bunch of compilers (they were deprecated already
13215           anyway).
13216
13217 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13218
13219         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13220         (_gst_debug_register_funcptr):
13221         * gst/gstinfo.h:
13222           Fix illegal cast on some platforms (#309253).
13223
13224 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13225
13226         * gst/gstmessage.c: (gst_message_new_custom):
13227         * gst/gstmessage.h:
13228           Add _new_custom, make _new_application a macro to _new_custom.
13229
13230 2005-07-20  Wim Taymans  <wim@fluendo.com>
13231
13232         * gst/base/gstbasesrc.c: (gst_base_src_init),
13233         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13234         * gst/base/gstbasesrc.h:
13235         Add a gboolean to decide when to push out a discont.
13236
13237         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13238         (gst_queue_loop), (gst_queue_handle_src_query),
13239         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13240         (gst_queue_set_property), (gst_queue_get_property):
13241         Some cleanups.
13242
13243         * tests/threadstate/threadstate1.c: (main):
13244         Make a thread test compile and run... very silly..
13245
13246
13247 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13248
13249         * docs/manual/appendix-porting.xml:
13250           Mention removal of libgstgconf-0.9.la and existence of gconf
13251           elements.
13252
13253 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13254
13255         * docs/pwg/advanced-clock.xml:
13256         * docs/pwg/appendix-porting.xml:
13257         * docs/pwg/intro-preface.xml:
13258         * docs/pwg/other-base.xml:
13259         * docs/pwg/other-manager.xml:
13260         * docs/pwg/other-nton.xml:
13261         * docs/pwg/other-ntoone.xml:
13262         * docs/pwg/other-oneton.xml:
13263         * docs/pwg/pwg.xml:
13264           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13265           demuxer), remove n-to-n (was never written), fix some code examples
13266           and links and update the porting section to include all this.
13267
13268 2005-07-19  Wim Taymans  <wim@fluendo.com>
13269
13270         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13271         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13272         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13273         (gst_queue_src_activate_push), (gst_queue_change_state),
13274         (gst_queue_get_property):
13275         * gst/gstqueue.h:
13276         Propagate GstFlowReturn more intelligently upstream and output
13277         an ERROR/EOS when streaming stopped due to fatal error.
13278
13279 2005-07-19  Wim Taymans  <wim@fluendo.com>
13280
13281         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13282         Don't block forever for the state change to complete, the
13283         pipeline already did with a sensible timeout.
13284
13285 2005-07-19  Wim Taymans  <wim@fluendo.com>
13286
13287         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13288         Make sure we never call the create function is we
13289         got deactivated.
13290
13291 2005-07-19  Andy Wingo  <wingo@pobox.com>
13292
13293         * gst/parse/parse.l: Attempt to solve bug #172815.
13294
13295 2005-07-19  Wim Taymans  <wim@fluendo.com>
13296
13297         * docs/design/part-clocks.txt:
13298         * docs/design/part-events.txt:
13299         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13300         Small docs updates.
13301         Only update the seeking values when we are not
13302         busy streaming.
13303
13304 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13305
13306         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13307           Oops, ignore the result of gst_pad_push_event here.
13308
13309 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13310
13311         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13312         (gst_base_src_activate_push):
13313           Send discont event from the loop function, as pads
13314           aren't activated yet in the activate_push handler.
13315
13316         * gst/gstbin.c: (bin_bus_handler):
13317           Don't leak element name.
13318
13319 2005-07-18  Andy Wingo  <wingo@pobox.com>
13320
13321         * configure.ac: Use AS_LIBTOOL_TAGS.
13322
13323 2005-07-18  Wim Taymans  <wim@fluendo.com>
13324
13325         * docs/gst/gstreamer.types:
13326         Remove deleted types.
13327
13328 2005-07-18  Wim Taymans  <wim@fluendo.com>
13329
13330         * check/elements/gstfakesrc.c: (GST_START_TEST):
13331         * configure.ac:
13332         * gst/Makefile.am:
13333         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13334         (init_popt_callback):
13335         * gst/gst.h:
13336         * gst/gst_private.h:
13337         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13338         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13339         * gst/gstbin.h:
13340         * gst/gstbus.h:
13341         * gst/gstconfig.h.in:
13342         * gst/gstelement.c: (gst_element_class_init),
13343         (gst_element_set_base_time), (gst_element_get_base_time),
13344         (iterator_fold_with_resync), (gst_element_change_state),
13345         (gst_element_dispose), (gst_element_get_bus):
13346         * gst/gstelement.h:
13347         * gst/gstelementfactory.h:
13348         * gst/gsterror.c: (_gst_core_errors_init):
13349         * gst/gsterror.h:
13350         * gst/gstevent.h:
13351         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13352         * gst/gstindex.c:
13353         * gst/gstinfo.c: (_gst_debug_init):
13354         * gst/gstmessage.c: (_gst_message_copy):
13355         * gst/gstmessage.h:
13356         * gst/gstminiobject.h:
13357         * gst/gstobject.c:
13358         * gst/gstobject.h:
13359         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13360         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13361         * gst/gstpad.h:
13362         * gst/gstparse.h:
13363         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13364         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13365         (gst_pipeline_get_last_stream_time):
13366         * gst/gstpipeline.h:
13367         * gst/gstpluginfeature.h:
13368         * gst/gstquery.h:
13369         * gst/gstscheduler.c:
13370         * gst/gstscheduler.h:
13371         * gst/gststructure.h:
13372         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13373         (gst_task_finalize), (gst_task_func), (gst_task_create),
13374         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13375         (gst_task_stop), (gst_task_pause):
13376         * gst/gsttask.h:
13377         * gst/gsttypefind.h:
13378         * gst/gsttypes.h:
13379         * gst/registries/gstlibxmlregistry.c: (load_feature),
13380         (gst_xml_registry_load), (gst_xml_registry_save_feature):
13381         * gst/registries/gstxmlregistry.c:
13382         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13383         * gst/schedulers/threadscheduler.c:
13384         * libs/gst/control/dparammanager.h:
13385         * tools/gst-inspect.c: (print_element_list),
13386         (print_plugin_features), (print_element_features):
13387         * tools/gst-xmlinspect.c: (print_element_list),
13388         (print_plugin_info), (main):
13389         Removed plugable schedulers.
13390         Removed Scheduler/Manager from elements.
13391         Removed gsttypes.h, rearranged includes.
13392         Removed dependency pad<->element, element<>pipeline, and
13393         various others,  fix includes.
13394         implement gst_pad_get_parent() with gst_object_get_parent()
13395         Make GstTask sefcontained.
13396         Fix _get_state() on GstBin, it did not return ASYNC with a 0
13397         timeout.
13398         Fix endless loop in iterator_fold_with_resync.
13399
13400
13401 2005-07-18  Wim Taymans  <wim@fluendo.com>
13402
13403         * gst/Makefile.am:
13404         * gst/gstarch.h:
13405         Remove old file.
13406
13407 2005-07-18  Wim Taymans  <wim@fluendo.com>
13408
13409         * gst/Makefile.am:
13410         No more cothreads.h
13411
13412 2005-07-18  Wim Taymans  <wim@fluendo.com>
13413
13414         * gst/cothreads.c:
13415         * gst/cothreads.h:
13416         Let's remove these.
13417
13418 2005-07-18  Wim Taymans  <wim@fluendo.com>
13419
13420         * docs/design/part-dynamic.txt:
13421         * docs/design/part-events.txt:
13422         * docs/design/part-seeking.txt:
13423         Some more docs in the works.
13424
13425         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13426         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13427         (gst_base_transform_setcaps), (gst_base_transform_get_size),
13428         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13429         (gst_base_transform_handle_buffer),
13430         (gst_base_transform_sink_activate_push),
13431         (gst_base_transform_src_activate_pull),
13432         (gst_base_transform_set_passthrough),
13433         (gst_base_transform_is_passthrough):
13434         Refcounting fixes.
13435
13436         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13437         Cleanups.
13438
13439         * gst/gstevent.c: (gst_event_finalize):
13440         Set SRC to NULL.
13441
13442         * gst/gstutils.c: (gst_element_unlink),
13443         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13444         (gst_pad_proxy_setcaps):
13445         * gst/gstutils.h:
13446         Add _get_parent_element() to get a pads parent as an element.
13447
13448 2005-07-18  Wim Taymans  <wim@fluendo.com>
13449
13450         * check/gst/gstbin.c: (GST_START_TEST):
13451         Remove bogus test.
13452
13453 2005-07-18  Wim Taymans  <wim@fluendo.com>
13454
13455         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13456         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13457         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13458         (gst_base_sink_event), (gst_base_sink_do_sync),
13459         (gst_base_sink_chain), (gst_base_sink_loop),
13460         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13461         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13462         Refcounting fixes.
13463         Fix logic for returning ASYNC when not prerolled.
13464
13465 2005-07-18  Wim Taymans  <wim@fluendo.com>
13466
13467         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13468         Fix nasty refcount bug.
13469
13470 2005-07-16 Philippe Khalaf <burger@speedy.org>
13471
13472         * gst/elements/gstfdsrc.c:
13473         * gst/elements/gstfdsrc.h:
13474         * gst/elements/gstelements.c:
13475         * gst/elements/Makefile.am:
13476         Ported fdsrc to 0.9.
13477
13478 2005-07-16  Wim Taymans  <wim@fluendo.com>
13479
13480         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13481         (gst_base_sink_do_sync):
13482         Fix compile error.
13483
13484 2005-07-16  Wim Taymans  <wim@fluendo.com>
13485
13486         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13487         (gst_base_sink_event), (gst_base_sink_get_times),
13488         (gst_base_sink_do_sync), (gst_base_sink_change_state):
13489         * gst/base/gstbasesink.h:
13490         Store and use discont values when syncing buffers as described
13491         in design docs.
13492         
13493         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13494         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13495         (gst_base_src_activate_push):
13496         Push discont event when starting.
13497
13498         * gst/elements/gstidentity.c: (gst_identity_transform):
13499         Small cleanups.
13500
13501         * gst/gstbin.c: (gst_bin_change_state):
13502         Small cleanups in base_time  distribution.
13503
13504         * gst/gstelement.c: (gst_element_set_base_time),
13505         (gst_element_get_base_time), (gst_element_change_state):
13506         * gst/gstelement.h:
13507         Added methods for the base_time of the element.
13508         Some MT fixes.
13509
13510         * gst/gstpipeline.c: (gst_pipeline_send_event),
13511         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13512         (gst_pipeline_get_last_stream_time):
13513         * gst/gstpipeline.h:
13514         MT fixes.
13515         Handle seeking as described in design doc, remove stream_time
13516         hack.
13517         Cleanups clock and stream_time selection code. Added accessors
13518         for the stream_time.
13519         
13520
13521 2005-07-16  Andy Wingo  <wingo@pobox.com>
13522
13523         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13524         (#305291).
13525
13526 2005-07-16  Wim Taymans  <wim@fluendo.com>
13527
13528         * check/gst/gstbin.c: (GST_START_TEST):
13529         Make elements silent as the deep_notify refs the
13530         parent, which might make the test fail.
13531
13532         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13533         Don't hold the lock for too long.
13534
13535 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
13536
13537         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13538           Don't unref the caps we passed to gst_caps_make_writable() after
13539           passing them. gst_caps_make_writable() will do that for us.
13540
13541 2005-07-15  Andy Wingo  <wingo@pobox.com>
13542
13543         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13544         (#157311).
13545
13546         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13547         own marshalling function for the handoff signal. Properly type the
13548         buffer as a buffer. Fixes some warnings. Should do a more general
13549         solution.
13550         (gst_identity_class_init): Plug into the right marshaller.
13551
13552 2005-07-15  Wim Taymans  <wim@fluendo.com>
13553
13554         * docs/design/part-TODO.txt:
13555         * docs/design/part-clocks.txt:
13556         * docs/design/part-element-sink.txt:
13557         * docs/design/part-events.txt:
13558         * docs/design/part-gstpipeline.txt:
13559         Updated docs, mostly DISCONT related.
13560
13561 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
13562
13563         * docs/pwg/building-pads.xml:
13564           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13565
13566 2005-07-15  Andy Wingo  <wingo@pobox.com>
13567
13568         * tools/gst-typefind.c: Update, add copyright block.
13569
13570         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13571         Normalize and truncate caps before fixation.
13572
13573         * gst/gstcaps.h:
13574         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13575         discards all but the first structure from its argument.
13576
13577 2005-07-15  Wim Taymans  <wim@fluendo.com>
13578
13579         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13580         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13581         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13582         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13583         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13584         (gst_base_transform_chain), (gst_base_transform_change_state),
13585         (gst_base_transform_set_passthrough),
13586         (gst_base_transform_is_passthrough):
13587         * gst/base/gstbasetransform.h:
13588         Make passthrough work using the bufferpools.
13589         Changed API a bit, subclasses have to write into a buffer
13590         provided by the base class.
13591         More debug info in nego functions.
13592         
13593         * gst/elements/gstidentity.c: (gst_identity_init),
13594         (gst_identity_transform):
13595         Port to new base class.
13596
13597 2005-07-15  Wim Taymans  <wim@fluendo.com>
13598
13599         * gst/gstmessage.c: (gst_message_new_state_changed):
13600         * tools/gst-launch.c: (event_loop), (main):
13601         Totally dump messages in -launch with the -m option.
13602         Fix message name for State messages,
13603
13604 2005-07-14  Wim Taymans  <wim@fluendo.com>
13605
13606         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13607         Post error messages on errors.
13608
13609 2005-07-14  Wim Taymans  <wim@fluendo.com>
13610
13611         * gst/gstcaps.c: (gst_caps_do_simplify):
13612         Remove debug info.
13613
13614         * gst/gsterror.h:
13615         Define error for stream stopped.
13616
13617         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13618         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
13619         Do proper return values.
13620
13621         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13622         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13623         (gst_pad_get_range):
13624         Better return values.
13625
13626         * gst/gstpad.h:
13627         Reorganise return values, add macro to check for fatal errors.
13628
13629         * gst/gstqueue.c: (gst_queue_chain):
13630         Return proper GstFlowReturn values,
13631
13632 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13633
13634         * docs/gst/gstreamer-sections.txt:
13635         * docs/gst/gstreamer.types:
13636         * docs/gst/tmpl/gst.sgml:
13637         * docs/gst/tmpl/gstbasesink.sgml:
13638         * docs/gst/tmpl/gstbasesrc.sgml:
13639         * docs/gst/tmpl/gstbasetransform.sgml:
13640         * docs/gst/tmpl/gstbin.sgml:
13641         * docs/gst/tmpl/gstbuffer.sgml:
13642         * docs/gst/tmpl/gstcaps.sgml:
13643         * docs/gst/tmpl/gstclock.sgml:
13644         * docs/gst/tmpl/gstcompat.sgml:
13645         * docs/gst/tmpl/gstconfig.sgml:
13646         * docs/gst/tmpl/gstelement.sgml:
13647         * docs/gst/tmpl/gstelementdetails.sgml:
13648         * docs/gst/tmpl/gstelementfactory.sgml:
13649         * docs/gst/tmpl/gstenumtypes.sgml:
13650         * docs/gst/tmpl/gsterror.sgml:
13651         * docs/gst/tmpl/gstevent.sgml:
13652         * docs/gst/tmpl/gstfakesink.sgml:
13653         * docs/gst/tmpl/gstfakesrc.sgml:
13654         * docs/gst/tmpl/gstfilesink.sgml:
13655         * docs/gst/tmpl/gstfilesrc.sgml:
13656         * docs/gst/tmpl/gstfilter.sgml:
13657         * docs/gst/tmpl/gstformat.sgml:
13658         * docs/gst/tmpl/gstghostpad.sgml:
13659         * docs/gst/tmpl/gstimplementsinterface.sgml:
13660         * docs/gst/tmpl/gstindex.sgml:
13661         * docs/gst/tmpl/gstindexfactory.sgml:
13662         * docs/gst/tmpl/gstinfo.sgml:
13663         * docs/gst/tmpl/gstiterator.sgml:
13664         * docs/gst/tmpl/gstmacros.sgml:
13665         * docs/gst/tmpl/gstmemchunk.sgml:
13666         * docs/gst/tmpl/gstminiobject.sgml:
13667         * docs/gst/tmpl/gstobject.sgml:
13668         * docs/gst/tmpl/gstpad.sgml:
13669         * docs/gst/tmpl/gstpadtemplate.sgml:
13670         * docs/gst/tmpl/gstparse.sgml:
13671         * docs/gst/tmpl/gstpipeline.sgml:
13672         * docs/gst/tmpl/gstplugin.sgml:
13673         * docs/gst/tmpl/gstpluginfeature.sgml:
13674         * docs/gst/tmpl/gstquery.sgml:
13675         * docs/gst/tmpl/gstqueue.sgml:
13676         * docs/gst/tmpl/gstregistry.sgml:
13677         * docs/gst/tmpl/gstregistrypool.sgml:
13678         * docs/gst/tmpl/gstscheduler.sgml:
13679         * docs/gst/tmpl/gstschedulerfactory.sgml:
13680         * docs/gst/tmpl/gststructure.sgml:
13681         * docs/gst/tmpl/gstsystemclock.sgml:
13682         * docs/gst/tmpl/gsttaglist.sgml:
13683         * docs/gst/tmpl/gsttagsetter.sgml:
13684         * docs/gst/tmpl/gsttrace.sgml:
13685         * docs/gst/tmpl/gsttrashstack.sgml:
13686         * docs/gst/tmpl/gsttypefind.sgml:
13687         * docs/gst/tmpl/gsttypefindfactory.sgml:
13688         * docs/gst/tmpl/gsttypes.sgml:
13689         * docs/gst/tmpl/gsturihandler.sgml:
13690         * docs/gst/tmpl/gsturitype.sgml:
13691         * docs/gst/tmpl/gstutils.sgml:
13692         * docs/gst/tmpl/gstvalue.sgml:
13693         * docs/gst/tmpl/gstversion.sgml:
13694         * docs/gst/tmpl/gstxml.sgml:
13695         * docs/libs/tmpl/gstcontrol.sgml:
13696         * docs/libs/tmpl/gstdataprotocol.sgml:
13697         * docs/libs/tmpl/gstdparam.sgml:
13698         * docs/libs/tmpl/gstdplinint.sgml:
13699         * docs/libs/tmpl/gstdpman.sgml:
13700         * docs/libs/tmpl/gstdpsmooth.sgml:
13701         * docs/libs/tmpl/gstgetbits.sgml:
13702         * docs/libs/tmpl/gstunitconvert.sgml:
13703         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13704         (gst_push_src_base_init), (gst_push_src_class_init),
13705         (gst_push_src_init), (gst_push_src_create):
13706         * gst/base/gstpushsrc.h:
13707         * gst/elements/gstelements.c:
13708         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13709         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13710         (gst_fake_sink_init), (gst_fake_sink_set_property),
13711         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13712         (gst_fake_sink_event), (gst_fake_sink_preroll),
13713         (gst_fake_sink_render), (gst_fake_sink_change_state):
13714         * gst/elements/gstfakesink.h:
13715         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13716         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13717         (gst_fake_src_base_init), (gst_fake_src_class_init),
13718         (gst_fake_src_init), (gst_fake_src_event_handler),
13719         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13720         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13721         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13722         (gst_fake_src_create_buffer), (gst_fake_src_create),
13723         (gst_fake_src_start), (gst_fake_src_stop):
13724         * gst/elements/gstfakesrc.h:
13725         * gst/elements/gstfilesink.c: (_do_init),
13726         (gst_file_sink_base_init), (gst_file_sink_class_init),
13727         (gst_file_sink_init), (gst_file_sink_dispose),
13728         (gst_file_sink_set_location), (gst_file_sink_set_property),
13729         (gst_file_sink_get_property), (gst_file_sink_open_file),
13730         (gst_file_sink_close_file), (gst_file_sink_query),
13731         (gst_file_sink_event), (gst_file_sink_render),
13732         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13733         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13734         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13735         * gst/elements/gstfilesink.h:
13736         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13737         (gst_file_src_class_init), (gst_file_src_init),
13738         (gst_file_src_finalize), (gst_file_src_set_location),
13739         (gst_file_src_set_property), (gst_file_src_get_property),
13740         (gst_file_src_map_region), (gst_file_src_map_small_region),
13741         (gst_file_src_create_mmap), (gst_file_src_create_read),
13742         (gst_file_src_create), (gst_file_src_is_seekable),
13743         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13744         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13745         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13746         (gst_file_src_uri_handler_init):
13747         * gst/elements/gstfilesrc.h:
13748           more autistic cleanliness in functions/names/defines
13749
13750 2005-07-13  Andy Wingo  <wingo@pobox.com>
13751
13752         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13753         source couldn't negotiate.
13754
13755         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13756         connections again.
13757
13758         * gst/gstutils.h:
13759         * gst/gstutils.c (gst_element_link_pads_filtered): New old
13760         function. I am channeling Hades. Put your boots on suckers!!!
13761
13762 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13763
13764         * testsuite/caps/Makefile.am:
13765         * testsuite/caps/value_compare.c:
13766         * testsuite/caps/value_intersect.c:
13767         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13768           move two testsuite apps over to the check dir
13769
13770 2005-07-12  Wim Taymans  <wim@fluendo.com>
13771
13772         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13773         Added more debug info in the negotiate process.
13774
13775         * gst/gstmessage.h:
13776         Prepare for segment playback.
13777
13778         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
13779         Better debugging.
13780
13781         * gst/gstutils.c:
13782         Some more docs.
13783
13784         * tools/gst-launch.c: (main):
13785         NULL pipeline on errors.
13786
13787 2005-07-12  Andy Wingo  <wingo@pobox.com>
13788
13789         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
13790         not it comes from a malloc region. Make sure our copy gets freed.
13791
13792 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13793
13794         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13795         * check/gst/gstmessage.c: (GST_START_TEST):
13796         * check/gst/gststructure.c: (GST_START_TEST),
13797         (gst_structure_suite), (main):
13798           more testing
13799         * gst/gstelement.c: (gst_element_message_full):
13800           clean up GError and debug string now that they get copied
13801         * gst/gstmessage.c: (gst_message_new_error),
13802         (gst_message_new_warning), (gst_message_parse_error),
13803         (gst_message_parse_warning):
13804           use GST_TYPE_G_ERROR for structure_new, and take copies of
13805           arguments, so that we don't mess up refcounting
13806
13807 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13808
13809         * check/Makefile.am:
13810           add per-test valgrind targets
13811         * check/gst-libs/gdp.c: (GST_START_TEST),
13812         (gst_data_protocol_suite), (main):
13813           clean up
13814
13815 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13816
13817         * check/Makefile.am:
13818           instate more valgrindable tests
13819         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13820         (GST_START_TEST), (fakesrc_suite):
13821         * check/gst/gstpad.c: (GST_START_TEST):
13822         * check/gst/gststructure.c: (GST_START_TEST):
13823           fix test leaks
13824         * docs/gst/tmpl/gstminiobject.sgml:
13825         * gst/gstpad.c: (gst_pad_finalize):
13826           fix the static mutex leak
13827
13828 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13829
13830         * check/Makefile.am:
13831           add two more tests for valgrinding
13832         * check/gst/gstvalue.c: (GST_START_TEST):
13833           test refcount of deserialized buffer, found a leak
13834         * docs/gst/gstreamer-docs.sgml:
13835         * docs/gst/gstreamer-sections.txt:
13836         * docs/gst/gstreamer.types:
13837         * docs/gst/tmpl/gstminiobject.sgml:
13838           add miniobject to docs
13839         * gst/gstminiobject.c:
13840           add some docs
13841         * gst/gstvalue.c: (gst_value_deserialize_buffer),
13842         (gst_string_unwrap):
13843           fix a hard-to-find invalid write for one of the tests
13844           fix a leak for deserialized buffers
13845
13846 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13847
13848         * docs/pwg/advanced-events.xml:
13849         * docs/pwg/advanced-request.xml:
13850         * docs/pwg/advanced-scheduling.xml:
13851         * docs/pwg/appendix-porting.xml:
13852         * docs/pwg/building-boiler.xml:
13853         * docs/pwg/intro-preface.xml:
13854         * docs/pwg/other-ntoone.xml:
13855           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
13856           of example code and explanation for pad activation, loop() and
13857           getrange() functions and a bit more. Remove old comments pointing
13858           to loop-functions.
13859         * examples/pwg/Makefile.am:
13860           Add loop/getrange examples.
13861
13862 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13863
13864         * configure.ac:
13865           check for valgrind binary + some fixes
13866         * check/gst.supp:
13867           valgrind suppressions for the tests
13868         * check/Makefile.am:
13869           add a valgrind: target that valgrinds the unit tests
13870         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
13871         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13872         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13873         * check/gst/gstghostpad.c:
13874           added some cleanup
13875         * check/gst/gstdata.c:
13876           removed
13877         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
13878         (thread_unref), (gst_mini_object_suite), (main):
13879           added
13880         * gst/gst.c: (gst_deinit):
13881         * gst/gst.h:
13882           add a method to clean up.
13883         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13884         (gst_system_clock_obtain):
13885           allow for disposing the system clock.
13886         * tools/gst-launch.c: (main):
13887           deinit
13888
13889 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13890
13891         * docs/gst/tmpl/gstbasesrc.sgml:
13892         * docs/gst/tmpl/gstfakesrc.sgml:
13893         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13894         (gst_base_src_init), (gst_base_src_set_property),
13895         (gst_base_src_get_property), (gst_base_src_get_range),
13896         (gst_base_src_start):
13897         * gst/base/gstbasesrc.h:
13898           add num-buffers property
13899         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13900         (gst_fakesrc_init), (gst_fakesrc_set_property),
13901         (gst_fakesrc_get_property), (gst_fakesrc_create),
13902         (gst_fakesrc_start):
13903           remove num-buffers property
13904
13905 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13906
13907         * docs/gst/gstreamer-sections.txt:
13908         * docs/gst/tmpl/gstbasesink.sgml:
13909         * docs/gst/tmpl/gstbasesrc.sgml:
13910         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13911         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13912         (gst_base_sink_finalize), (gst_base_sink_set_clock),
13913         (gst_base_sink_set_property), (gst_base_sink_get_property),
13914         (gst_base_sink_handle_object), (gst_base_sink_event),
13915         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13916         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
13917         (gst_base_sink_loop), (gst_base_sink_deactivate),
13918         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
13919         (gst_base_sink_change_state):
13920         * gst/base/gstbasesink.h:
13921         * gst/base/gstbasesrc.h:
13922         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
13923         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
13924         (gst_filesink_init):
13925           more macro splitting
13926
13927 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13928
13929         * gst/gstelement.c: (gst_element_get_bus):
13930           add debug
13931         * tools/gst-launch.c: (check_intr), (event_loop):
13932           fix bus leaks
13933
13934 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13935
13936         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
13937           fix a caps leak
13938
13939 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13940
13941         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13942         (gst_base_src_finalize):
13943           add finalize method and clean up properly
13944         * gst/gstpipeline.c: (gst_pipeline_dispose):
13945           add debug
13946
13947 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13948
13949         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
13950         (gst_bin_suite):
13951           add more things to check
13952         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
13953         * gst/gstelement.c:
13954           more debug
13955
13956 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13957
13958         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13959         (GST_START_TEST), (fakesrc_suite):
13960         * check/gst-libs/gdp.c: (GST_START_TEST):
13961         * check/gst/gst.c: (GST_START_TEST):
13962         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13963         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13964         * check/gst/gstbus.c: (GST_START_TEST):
13965         * check/gst/gstcaps.c: (GST_START_TEST):
13966         * check/gst/gstdata.c: (GST_START_TEST):
13967         * check/gst/gstelement.c: (GST_START_TEST):
13968         * check/gst/gstghostpad.c: (GST_START_TEST):
13969         * check/gst/gstiterator.c: (GST_START_TEST):
13970         * check/gst/gstmessage.c: (GST_START_TEST):
13971         * check/gst/gstobject.c: (GST_START_TEST):
13972         * check/gst/gstpad.c: (GST_START_TEST):
13973         * check/gst/gststructure.c: (GST_START_TEST):
13974         * check/gst/gstsystemclock.c: (GST_START_TEST),
13975         (gst_systemclock_suite):
13976         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
13977         * check/gst/gstvalue.c: (GST_START_TEST):
13978         * check/pipelines/cleanup.c: (GST_START_TEST):
13979         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13980         * check/states/sinks.c: (GST_START_TEST):
13981         * check/gstcheck.c: (gst_check_init):
13982         * check/gstcheck.h:
13983           add debugging category
13984           use GST_START_TEST now, so we add a debug line
13985
13986 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
13987
13988         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
13989           add test for state change message on a bin
13990         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
13991           add another test
13992         * gst/gstbin.c: (gst_bin_init):
13993         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
13994         * gst/gstelement.c: (gst_element_post_message),
13995         (gst_element_set_state):
13996         * gst/gstelementfactory.c: (gst_element_factory_create):
13997         * gst/gstmessage.c: (gst_message_new):
13998         * gst/gstscheduler.c:
13999           various debugging additions and cleanups
14000
14001 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14002
14003         * check/Makefile.am:
14004         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14005         (main):
14006           adding tests for elements
14007         * gst/gstelement.c: (gst_element_dispose):
14008
14009 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14010
14011         * gst/registries/gstlibxmlregistry.c: (load_feature):
14012           plug more leaks.  A simple gst_init() now is leakfree, yay.
14013
14014 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14015
14016         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14017         (gst_xml_registry_load):
14018           plug another memleak
14019
14020 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14021
14022         * configure.ac:
14023           use GST_SET_ERROR_CFLAGS
14024         * docs/faq/cvs.xml:
14025           change to ERROR_CFLAGS
14026
14027 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14028
14029         * configure.ac:
14030           make GST_ERROR_CFLAGS overridable and re-enable Werror
14031         * docs/faq/cvs.xml:
14032           add a note about error CFLAGS
14033         * docs/gst/tmpl/gstfakesrc.sgml:
14034         * gst/elements/gstfakesrc.c:
14035           comment out some unused code
14036         * gst/gst.c: (split_and_iterate):
14037         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14038         (load_feature):
14039           plug some memleaks
14040
14041 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14042
14043         * common/Makefile.am:
14044         * common/gtk-doc.mak:
14045         * docs/gst/Makefile.am:
14046           factor out gtk-doc.mak
14047
14048 2005-07-07  Wim Taymans  <wim@fluendo.com>
14049
14050         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14051         (gst_thread_scheduler_dispose):
14052         Unlock the STREAM_LOCK completely.
14053
14054 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14055
14056         * check/Makefile.am:
14057         * check/elements/.cvsignore:
14058         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14059         (START_TEST), (fakesrc_suite), (main):
14060         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14061         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14062         (gst_fakesrc_create), (gst_fakesrc_start):
14063         * gst/elements/gstfakesrc.h:
14064           adding a first element test
14065
14066 2005-07-07  Andy Wingo  <wingo@pobox.com>
14067
14068         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14069         debug message.
14070
14071 2005-07-07  Wim Taymans  <wim@fluendo.com>
14072
14073         * gst/gstquery.c:
14074         * gst/gstquery.h:
14075         Remove old types
14076
14077 2005-07-07  Wim Taymans  <wim@fluendo.com>
14078
14079         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14080         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14081         Allow subclasses to implement their own negotiation.
14082
14083 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14084
14085         * docs/design/part-gstbin.txt:
14086         * docs/design/part-gstpipeline.txt:
14087           Update design notes to reflect the movement of
14088           responsibility for bus handling from GstPipeline to
14089           GstBin
14090
14091 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14092
14093         * configure.ac:
14094           Remove unnecessary queue2/3/4 examples.
14095
14096 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14097
14098         * examples/Makefile.am:
14099         * examples/helloworld/helloworld.c: (event_loop), (main):
14100         * examples/queue/queue.c: (event_loop), (main):
14101         * examples/queue2/queue2.c: (main):
14102           Update a couple of the examples to work again.
14103
14104         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14105         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14106          Spelling corrections and extra debug.
14107         
14108         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14109         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14110         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14111         * gst/gstbin.h:
14112         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14113         (gst_pipeline_change_state):
14114         * gst/gstpipeline.h:
14115           Move the bus handler for children to the GstBin, and create a
14116           separate bus for receiving messages from children to the one the
14117           bus sends 'upwards' on.
14118
14119 2005-07-06  Wim Taymans  <wim@fluendo.com>
14120
14121         * gst/base/README:
14122         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14123         (gst_base_sink_handle_object), (gst_base_sink_loop),
14124         (gst_base_sink_change_state):
14125         * gst/base/gstbasesink.h:
14126         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14127         (gst_base_src_init), (gst_base_src_setcaps),
14128         (gst_base_src_getcaps), (gst_base_src_loop),
14129         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14130         (gst_base_src_start), (gst_base_src_change_state):
14131         * gst/base/gstbasesrc.h:
14132         Make basesrc negotiate.
14133         Handle the case where preroll fails in basesink.
14134         Update README.
14135
14136 2005-07-06  Wim Taymans  <wim@fluendo.com>
14137
14138         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14139         Implement the fixate function.
14140         Clean up acceptcaps.
14141
14142 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14143
14144         * docs/pwg/building-filterfactory.xml:
14145         * docs/pwg/pwg.xml:
14146           Remove never-written filter-factory chapter; I'll add the various
14147           base classes to part 4 ("other element types") later on.
14148
14149 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14150
14151         * docs/pwg/advanced-negotiation.xml:
14152         * docs/pwg/building-boiler.xml:
14153         * docs/pwg/building-pads.xml:
14154         * docs/pwg/pwg.xml:
14155         * examples/pwg/Makefile.am:
14156           Add a chapter on caps negotiation, simplify the original code
14157           samples a bit w.r.t. caps negotiation, add link to the advanced
14158           section. Add a bunch of examples showing different use cases of
14159           different types of caps negotiation. Upstream renegotiation isn't
14160           fully documented yet since nobody knows how that works.
14161
14162 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14163
14164         * check/gst/gstpad.c:
14165         * check/gstcheck.c:
14166         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14167           if pad has no parent, return NULL as list of internal links
14168
14169 2005-07-05  Andy Wingo  <wingo@pobox.com>
14170
14171         * gst/elements/gstfilesrc.c:
14172         * gst/elements/gstfakesrc.c: 
14173         * gst/base/gstpushsrc.c:
14174         * gst/base/gstbasesrc.h: 
14175         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14176         
14177 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14178
14179         * Makefile.am:
14180           better report generation target (lcov needs a patch)
14181
14182 2005-07-05  Andy Wingo  <wingo@pobox.com>
14183
14184         * gst/elements, testsuite: Null if we got it...
14185
14186 2005-07-05  Wim Taymans  <wim@fluendo.com>
14187
14188         * configure.ac:
14189         * libs/gst/dataprotocol/Makefile.am:
14190         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14191         * libs/gst/dataprotocol/dataprotocol.h:
14192         * pkgconfig/Makefile.am:
14193         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14194         * pkgconfig/gstreamer-dataprotocol.pc.in:
14195         Ported dataprotol to 0.9. 
14196         Added pkgconfig files.
14197
14198 2005-07-05  Andy Wingo  <wingo@pobox.com>
14199
14200         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14201         Default to returning TRUE for the case when tranform_caps returns
14202         a fixed caps, like for identity or volume.
14203
14204         * check/gst/gstbus.c (pound_bus_with_messages): 
14205         * check/gst/gstmessage.c (START_TEST): 
14206         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14207         message API change.
14208
14209         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14210         logic weaks here: always run transform_caps, trying passthrough
14211         operation only if the original caps intersects with the transform.
14212
14213         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14214         source and sink caps.
14215
14216         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14217         Intersect the peer caps with the pad template before going into
14218         transform_caps.
14219         (gst_base_transform_transform_caps): More debugging.
14220
14221         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14222         src argument.
14223
14224 2005-07-04  Edward Hervey  <edward@fluendo.com>
14225
14226         * gst/gstutils.c:
14227         * gst/gstutils.h:
14228         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14229         in bindings.
14230
14231 2005-07-04  Andy Wingo  <wingo@pobox.com>
14232
14233         * check/gst/gstpad.c: Only set explicit caps on pads.
14234
14235 2005-07-01  Andy Wingo  <wingo@pobox.com>
14236
14237         * tests/network-clock.scm: Commentary update.
14238
14239         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14240         Didn't really make sense, not implementable with basetransform,
14241         etc.
14242         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14243         attempt at implementing the sync property, needs an unlock method.
14244
14245         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14246         New func, by default returns the same caps (the identity
14247         transformation).
14248         (gst_base_transform_getcaps): Uses transform_caps to return
14249         something sensible.
14250         (gst_base_transform_setcaps): Complicated logic to get caps on
14251         both pads, even if they are different, and to call set_caps once
14252         for every time both pads get their caps set.
14253         (gst_base_transform_handle_buffer): Give the ref to the transform
14254         function. Allows in-place modification of the buffer.
14255
14256         * gst/base/gstbasetransform.h (transform_caps): New class method.
14257         Given caps on one side, what can I do on the other.
14258         (set_caps): Take two caps, one for each side of the element.
14259
14260         * gst/gstpad.h:
14261         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14262         caps in place. This is safe because we can check the mutability of
14263         the caps, and a good idea because fixate functions are just called
14264         as a matter of last resort. (Not actually implemented.)
14265         (gst_pad_set_caps): If the caps we're setting is actually the same
14266         as the existing pad caps, just update the pointer without calling
14267         setcaps. Assert that caps is either NULL or fixed, as per the
14268         docs.
14269
14270         * gst/gstghostpad.c: Update for fixate changes.
14271
14272 2005-07-02  Andy Wingo  <wingo@pobox.com>
14273
14274         * gst/gstcaps.c:
14275         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14276         two refcounts makes it immutable, which is enough. Doc more.
14277
14278 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14279
14280         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14281           Put the mini_object into GValue as a mini_object,
14282           not a gpointer, since that's how we declared
14283           the signal.
14284
14285 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14286
14287         * examples/pwg/Makefile.am:
14288           Fix buildbot again.
14289
14290 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14291
14292         * docs/pwg/building-testapp.xml:
14293           Add extra check.
14294         * examples/pwg/Makefile.am:
14295           Fix buildbot.
14296
14297 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14298
14299         * configure.ac:
14300         * examples/Makefile.am:
14301         * examples/pwg/Makefile.am:
14302         * examples/pwg/extract.pl:
14303           Enable building the PWG examples.
14304         * docs/pwg/advanced-interfaces.xml:
14305           Add URI interface stub.
14306         * docs/pwg/advanced-types.xml:
14307         * docs/pwg/other-autoplugger.xml:
14308         * docs/pwg/appendix-porting.xml:
14309         * docs/pwg/pwg.xml:
14310           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14311         * docs/pwg/building-boiler.xml:
14312         * docs/pwg/building-chainfn.xml:
14313         * docs/pwg/building-pads.xml:
14314         * docs/pwg/building-props.xml:
14315         * docs/pwg/building-state.xml:
14316         * docs/pwg/building-testapp.xml:
14317           Update the building-*.xml parts for 0.9 changes. All examples
14318           code blocks compile in examples/pwg/*.
14319
14320 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14321
14322         * docs/manual/advanced-autoplugging.xml:
14323         * docs/manual/appendix-checklist.xml:
14324         * docs/manual/appendix-integration.xml:
14325         * docs/manual/highlevel-components.xml:
14326           Fix playbin/decodebin examples, update docs a bit, mention bus
14327           instead of signals in various places, mention kmplayer and
14328           kaffeine since they have a working GStreamer backend in the KDE
14329           section.
14330
14331 2005-06-30  Wim Taymans  <wim@fluendo.com>
14332
14333         * CHANGES-0.9:
14334         * docs/design/draft-ghostpads.txt:
14335         * docs/design/draft-push-pull.txt:
14336         * docs/design/draft-query.txt:
14337         * docs/design/part-TODO.txt:
14338         * docs/design/part-query.txt:
14339         Added CHANGES-0.9 doc, updated status of other docs.
14340         
14341         * gst/gstquery.h:
14342         Remove "hmm" macro
14343
14344 2005-06-30  Wim Taymans  <wim@fluendo.com>
14345
14346         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14347         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14348         (gst_base_sink_change_state):
14349         * gst/base/gstbasesink.h:
14350         Some tweaks, only EOS and a buffer complete a preroll.
14351
14352 2005-06-30  Andy Wingo  <wingo@pobox.com>
14353
14354         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14355         activate_push down to the internal pad as well.
14356
14357 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14358
14359         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14360
14361         * gst/gsttaginterface.c:
14362           Some documentation fixes (#307394 and #307397).
14363
14364 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
14365
14366         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14367
14368         * gst/gstvalue.c: (gst_value_intersect_list):
14369           Fix memleak (#309125).
14370
14371 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14372
14373         * docs/manual/advanced-dataaccess.xml:
14374           Fix fakesrc example to compile; doesn't work, bug somewhere...?
14375         * docs/manual/basics-pads.xml:
14376           Add reference for filtered caps to above chapter.
14377
14378 2005-06-30  Wim Taymans  <wim@fluendo.com>
14379
14380         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14381         (gst_bin_change_state):
14382         Probes are gone.
14383         Lame attempt at making the state change function a bit
14384         more readable.
14385
14386 2005-06-30  Wim Taymans  <wim@fluendo.com>
14387
14388         * docs/design/part-clocks.txt:
14389         * docs/design/part-element-sink.txt:
14390         * docs/design/part-events.txt:
14391         * docs/design/part-preroll.txt:
14392         * docs/design/part-states.txt:
14393         Some more tweeks and additions to the docs.
14394
14395 2005-06-30  Wim Taymans  <wim@fluendo.com>
14396
14397         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14398         (default_have_data), (gst_pad_class_init), (gst_pad_init),
14399         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14400         (gst_pad_check_pull_range), (gst_pad_get_range),
14401         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14402         * gst/gstpad.h:
14403         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14404         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14405         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14406         (gst_pad_remove_buffer_probe):
14407         Removed atomic operations, use existing LOCK.
14408         Move exception handling out of main code path.
14409
14410 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14411
14412         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14413         (silly_return_true_function), (gst_pad_class_init),
14414         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14415         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14416         (gst_pad_send_event):
14417           Fix accumulator, add default value by using _emitv() instead
14418           of _emit() for signal emission.
14419
14420 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14421
14422         * docs/manual/advanced-dataaccess.xml:
14423         * examples/manual/Makefile.am:
14424           Add probe example.
14425         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14426           Make work (??).
14427
14428 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
14429
14430         * gst/elements/gstfilesink.c: (gst_filesink_render):
14431           Simplify code so that we don't have to handle short
14432           writes and return GST_FLOW_ERROR if an error occured.
14433
14434 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14435
14436         * docs/gst/gstreamer-docs.sgml:
14437           Remove probes more.
14438
14439 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14440
14441         * docs/gst/gstreamer-sections.txt:
14442         * docs/gst/tmpl/gstpad.sgml:
14443         * docs/gst/tmpl/gstprobe.sgml:
14444         * gst/Makefile.am:
14445         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14446         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14447         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14448         (gst_pad_push_event), (gst_pad_send_event):
14449         * gst/gstpad.h:
14450         * gst/gstutils.c: (gst_pad_add_data_probe),
14451         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14452         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14453         (gst_pad_remove_buffer_probe):
14454         * gst/gstutils.h:
14455           Remove old probes, add new g-signal-based probes and some utility
14456           functions.
14457
14458 2005-06-29  Edward Hervey  <edward@fluendo.com>
14459
14460         * gst/gstelementfactory.c:
14461         * gst/gstutils.h:
14462         * gst/gstutils.c:
14463         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14464         the definition to the header file.
14465
14466 2005-06-29  Andy Wingo  <wingo@pobox.com>
14467
14468         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14469         plugins from the source directory.
14470
14471 2005-06-29  Wim Taymans  <wim@fluendo.com>
14472
14473         * docs/gst/tmpl/gstbuffer.sgml:
14474         * docs/gst/tmpl/gstclock.sgml:
14475         Some fixings for blantently wrong text.
14476
14477 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14478
14479         * check/Makefile.am:
14480         * gst/gst.c: (add_path_func), (init_pre):
14481         * gst/gstregistry.c: (gst_registry_add_path):
14482           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14483           only scan the GST_PLUGIN_PATH locations, and not add
14484           system locations
14485
14486 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14487
14488         * docs/gst/gstreamer-sections.txt:
14489         * docs/gst/tmpl/gstbasesrc.sgml:
14490         * gst/gstelement.c:
14491         * gst/gstelement.h:
14492         * gst/gstevent.c:
14493         * gst/gstutils.c:
14494           doc fixes
14495
14496 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14497
14498         * docs/manual/advanced-autoplugging.xml:
14499           Fix autoplugging example.
14500
14501 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14502
14503         * docs/manual/advanced-autoplugging.xml:
14504         * docs/manual/mime-world.fig:
14505           Try to get autoplugging working, fix type detection. Fix text
14506           in hello-world image.
14507
14508 2005-06-29  Wim Taymans  <wim@fluendo.com>
14509
14510         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14511         (gst_base_sink_change_state):
14512         Small debug line.
14513
14514         * gst/gstclock.h:
14515         map SIGNAL and BROADCAST to the right function.
14516
14517         * gst/gstobject.h:
14518         Remove redundant braces.
14519
14520         * gst/gstpad.c: (gst_pad_set_caps):
14521         Don't call setcaps function when reseting caps to NULL.
14522
14523         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14524         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14525         (gst_system_clock_id_unschedule):
14526         Use BROADCAST as this is what we do.
14527
14528 2005-06-29  Wim Taymans  <wim@fluendo.com>
14529
14530         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14531         We are actually prerolling before commiting the state
14532         change. 
14533
14534 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14535
14536         * docs/manual/advanced-clocks.xml:
14537         * docs/manual/advanced-interfaces.xml:
14538         * docs/manual/advanced-metadata.xml:
14539         * docs/manual/advanced-position.xml:
14540         * docs/manual/advanced-schedulers.xml:
14541         * docs/manual/advanced-threads.xml:
14542         * docs/manual/appendix-porting.xml:
14543         * docs/manual/basics-bins.xml:
14544         * docs/manual/basics-bus.xml:
14545         * docs/manual/basics-elements.xml:
14546         * docs/manual/basics-helloworld.xml:
14547         * docs/manual/basics-pads.xml:
14548         * docs/manual/highlevel-components.xml:
14549         * docs/manual/manual.xml:
14550         * docs/manual/thread.fig:
14551           Update (until threads/scheduling) Application Development Manual;
14552           remove GstThread, add GstBus, add simple porting checklist, add
14553           documentation for tag writing, clocks, make all examples until this
14554           part compile and run.
14555         * examples/manual/Makefile.am:
14556           Update from changes to Application Development Manual; add bus
14557           example, remove thread example.
14558
14559 2005-06-28  Wim Taymans  <wim@fluendo.com>
14560
14561         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14562         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14563         (gst_bus_source_dispatch):
14564         Add debugging messages.
14565         Make internal methods static.
14566         Handle the case where the bus is flushed in the handler.
14567         
14568         * gst/gstelement.c: (gst_element_get_bus):
14569         Fix refcount in _get_bus();
14570
14571         * gst/gstpipeline.c: (gst_pipeline_change_state),
14572         (gst_pipeline_get_clock_func):
14573         Clock refcounting fixes.
14574         Handle the case where preroll timed out more gracefully.
14575         
14576         * gst/gstsystemclock.c: (gst_system_clock_dispose):
14577         Clean up the internal thread in dispose. This is needed
14578         for subclasses that actually get disposed.
14579         
14580         * gst/schedulers/threadscheduler.c:
14581         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14582         (gst_thread_scheduler_dispose):
14583         Free thread pool in dispose.
14584
14585 2005-06-28  Andy Wingo  <wingo@pobox.com>
14586
14587         * tests/network-clock-utils.scm (debug, print-event): New utils.
14588
14589         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14590         (*packet-loss*): Unified loss probability.
14591         (network-time): Report out-of-band events.
14592
14593         * tests/plot-data: Add support for out-of-band events. Hack it
14594         into this script instead of passing it down the pipe; should fix
14595         this later.
14596
14597 2005-06-28  Wim Taymans  <wim@fluendo.com>
14598
14599         * docs/gst/gstreamer.types:
14600         * docs/gst/tmpl/gstbasesrc.sgml:
14601         * docs/gst/tmpl/gstpad.sgml:
14602         Docs fixes.
14603
14604 2005-06-28  Wim Taymans  <wim@fluendo.com>
14605
14606         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14607         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
14608         (gst_proxy_pad_do_fixatecaps):
14609         Correctly proxy the check_pull_range function.
14610
14611 2005-06-28  Andy Wingo  <wingo@pobox.com>
14612
14613         * tests/network-clock.scm: Removed need for slib.
14614         
14615 2005-06-28  Wim Taymans  <wim@fluendo.com>
14616
14617         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
14618         (gst_basesink_preroll_queue_flush):
14619         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
14620         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14621         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14622         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14623         (gst_proxy_pad_set_property):
14624         * gst/gstpad.c:
14625         * gst/gstpad.h:
14626         * gst/gstqueue.c: (gst_queue_init):
14627         The deprecated pad loop function is removed now.
14628
14629 2005-06-28  Andy Wingo  <wingo@pobox.com>
14630
14631         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
14632         New parameters, simulate network packet loss.
14633
14634         * tests/network-clock-utils.scm: Initialize the RNG.
14635
14636 2005-06-28  Wim Taymans  <wim@fluendo.com>
14637
14638         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
14639         (gst_basesink_event), (gst_basesink_deactivate):
14640         Flushing the preroll queue always needs to unlock the waiters.
14641
14642 2005-06-28  Edward Hervey  <edward@fluendo.com>
14643
14644         * gst/gstpipeline.c: (gst_pipeline_send_event): 
14645         Wheen a seek was successful on a pipeline, set the stream_time to the
14646         seek offset in order to have a synchronized stream_time.
14647
14648 2005-06-28  Wim Taymans  <wim@fluendo.com>
14649
14650         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14651         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14652         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14653         (gst_proxy_pad_do_fixatecaps):
14654         Call wrapper function instead of just calling the function
14655         pointers. This takes care of any locking and whatmore.
14656
14657 2005-06-28  Wim Taymans  <wim@fluendo.com>
14658
14659         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14660         (gst_pad_pull_range):
14661         * gst/gstpad.h:
14662         CONNECTED -> LINKED.
14663
14664 2005-06-28  Andy Wingo  <wingo@pobox.com>
14665
14666         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14667         source-munging commit!!!
14668
14669         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
14670         (gst_object_sink): Take gpointer arguments, not GstObject --
14671         avoids casts. Like GLib.
14672
14673         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14674         activate.
14675
14676 2005-06-27  Andy Wingo  <wingo@pobox.com>
14677
14678         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14679         remaining buffer.
14680
14681         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14682         returns a sorted copy of the trace list.
14683         (gst_alloc_trace_print_live): New API, only prints traces with
14684         live objects. Sort the list.
14685         (gst_alloc_trace_print_all): Sort the list.
14686         (gst_alloc_trace_print): Align columns.
14687
14688         * gst/elements/gstttypefindelement.c:
14689         * gst/elements/gsttee.c:
14690         * gst/base/gstbasesrc.c:
14691         * gst/base/gstbasesink.c:
14692         * gst/base/gstbasetransform.c:
14693         * gst/gstqueue.c: Adapt for pad activation changes.
14694
14695         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14696         sched.
14697         (gst_pipeline_dispose): Drop ref on sched.
14698
14699         * gst/gstpad.c (gst_pad_init): Set the default activate func.
14700         (gst_pad_activate_default): Push mode by default.
14701         (pre_activate_switch, post_activate_switch): New stubs, things to
14702         do before and after switching activation modes on pads.
14703         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14704         the pad's activate function to choose which mode to activate.
14705         Shortcut on deactivation and call the right function directly.
14706         (gst_pad_activate_pull): New API, (de)activates a pad in pull
14707         mode.
14708         (gst_pad_activate_push): New API, same for push mode.
14709         (gst_pad_set_activate_function) 
14710         (gst_pad_set_activatepull_function) 
14711         (gst_pad_set_activatepush_function): Setters for new API.
14712
14713         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14714         Trace all miniobjects.
14715         (gst_mini_object_make_writable): Unref the arg if we copy, like
14716         gst_caps_make_writable.
14717
14718         * gst/gstmessage.c (_gst_message_initialize): No trace init.
14719
14720         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
14721         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14722         Adapt for new pad API.
14723
14724         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14725
14726         * gst/gstelement.h:
14727         * gst/gstelement.c (gst_element_iterate_src_pads) 
14728         (gst_element_iterate_sink_pads): New API functions.
14729         
14730         * gst/gstelement.c (iterator_fold_with_resync): New utility,
14731         should fold into gstiterator.c in some form.
14732         (gst_element_pads_activate): Simplified via use of fold and
14733         delegation of decisions to gstpad->activate.
14734
14735         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14736         help in debugging.
14737
14738         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14739         class once in init, like gstmessage. Didn't run into this issue
14740         but it seems correct. Don't initialize a trace, gstminiobject does
14741         that.
14742
14743         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14744         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14745         to the bus.
14746         (assert_live_count): New util function, uses alloc traces to check
14747         cleanup.
14748
14749         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14750         To be modified when unlink drops the internal pad.
14751
14752 2005-06-27  Wim Taymans  <wim@fluendo.com>
14753
14754         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14755         (gst_bin_change_state):
14756         Cleanup the get_state() function a little, make sure it
14757         iterates the same set of elements.
14758         Added stub iterate_state_order().
14759
14760 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14761
14762         * docs/gst/gstreamer-docs.sgml:
14763         * docs/gst/gstreamer-sections.txt:
14764         * docs/gst/gstreamer.types:
14765         * docs/gst/tmpl/gstbasesink.sgml:
14766         * docs/gst/tmpl/gstbasesrc.sgml:
14767         * docs/gst/tmpl/gstbasetransform.sgml:
14768         * docs/gst/tmpl/gstelement.sgml:
14769         * docs/gst/tmpl/gstiterator.sgml:
14770         * gst/base/gstbasesrc.c:
14771         * gst/base/gstbasesrc.h:
14772         * gst/base/gstbasetransform.h:
14773         * gst/gstelement.c:
14774         * gst/gstiterator.h:
14775           adding basetransform and iterator docs
14776
14777 2005-06-27  Andy Wingo  <wingo@pobox.com>
14778
14779         * docs/design/part-activation.txt: Notes on how activation should
14780         work -- not quite implemented yet.
14781
14782 2005-06-25  Wim Taymans  <wim@fluendo.com>
14783
14784         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
14785         At least get the chain function correct, needs more
14786         fixing.
14787
14788 2005-06-25  Wim Taymans  <wim@fluendo.com>
14789
14790         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14791         (gst_basesink_handle_object), (gst_basesink_event),
14792         (gst_basesink_do_sync), (gst_basesink_handle_event),
14793         (gst_basesink_change_state):
14794         * gst/gsttask.h:
14795         Right, two problems here: ghostpads don't take locks and
14796         glib _rec_mutex_lock_full() with depth==0 still locks.
14797         Catch illegal locking and g_warn them.
14798
14799 2005-06-25  Wim Taymans  <wim@fluendo.com>
14800
14801         * check/states/sinks.c: (START_TEST), (gst_object_suite):
14802         Have to check for completion now...
14803
14804 2005-06-25  Wim Taymans  <wim@fluendo.com>
14805
14806         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14807         (gst_basesink_handle_object), (gst_basesink_event),
14808         (gst_basesink_do_sync), (gst_basesink_handle_event),
14809         (gst_basesink_change_state):
14810         * gst/gstpad.h:
14811         Unlock STREAM_LOCK whatever the recursion was.
14812
14813 2005-06-25  Wim Taymans  <wim@fluendo.com>
14814
14815         * gst/base/gstbasesink.c: (gst_basesink_set_property),
14816         (gst_basesink_preroll_queue_empty),
14817         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
14818         (gst_basesink_event), (gst_basesink_do_sync),
14819         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
14820         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
14821         (gst_basesink_change_state):
14822         Reworked the base sink, handle event and buffer serialisation
14823         correctly and removed possible deadlock.
14824         Handle EOS correctly.
14825
14826 2005-06-25  Wim Taymans  <wim@fluendo.com>
14827
14828         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
14829         (gst_pipeline_change_state):
14830         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14831         Allow elements to post EOS in the state change function.
14832         Fix up -launch, make it exit the poll loop when the
14833         pipeline actually changed state.
14834         Fix up warning parsing in -launch.
14835
14836 2005-06-25  Wim Taymans  <wim@fluendo.com>
14837
14838         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
14839         (gst_tee_sink_activate):
14840         Core takes STREAM_LOCK for us now.
14841
14842 2005-06-25  Wim Taymans  <wim@fluendo.com>
14843
14844         * gst/gstelement.c: (gst_element_get_state_func),
14845         (gst_element_set_state):
14846         * gst/gstelement.h:
14847         * gst/gstmessage.c: (gst_message_parse_error),
14848         (gst_message_parse_warning):
14849         Keep track of current target state while performing a state
14850         change so that subclasses can do something interesting.
14851         Fix parsing of warning/error messages when GError is NULL.
14852
14853 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14854
14855         * docs/gst/Makefile.am:
14856         * docs/gst/gstreamer-docs.sgml:
14857         * docs/gst/gstreamer-sections.txt:
14858         * docs/gst/gstreamer.types:
14859         * docs/gst/tmpl/gstbasesink.sgml:
14860         * docs/gst/tmpl/gstbasesrc.sgml:
14861         * docs/gst/tmpl/gstbin.sgml:
14862         * docs/gst/tmpl/gstcompat.sgml:
14863         * docs/gst/tmpl/gstfakesink.sgml:
14864         * docs/gst/tmpl/gstfakesrc.sgml:
14865         * docs/gst/tmpl/gstfilesink.sgml:
14866         * docs/gst/tmpl/gstfilesrc.sgml:
14867         * docs/gst/tmpl/gstindex.sgml:
14868         * docs/manual/appendix-quotes.xml:
14869         * gst/base/gstbasesrc.h:
14870         * gst/elements/gstfakesrc.h:
14871         * gst/gstmessage.h:
14872           start pulling in base classes and elements in our docs
14873
14874 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
14875
14876         * docs/gst/Makefile.am:
14877         * docs/libs/Makefile.am:
14878           fixed make distcheck with gtk-doc 1.3
14879
14880 2005-06-23  Wim Taymans  <wim@fluendo.com>
14881
14882         * gst/gstelement.c: (gst_element_get_state_func),
14883         (gst_element_set_state), (gst_element_change_state):
14884         When the state did not change, also report NO_PREROLL
14885         when it matters.
14886
14887 2005-06-23  Wim Taymans  <wim@fluendo.com>
14888
14889         * gst/gstpad.c: (gst_pad_event_default):
14890         * gst/gstqueue.c: (gst_queue_loop):
14891         No unsafe task pausing please.
14892
14893 2005-06-23  Wim Taymans  <wim@fluendo.com>
14894
14895         * gst/schedulers/threadscheduler.c:
14896         (gst_thread_scheduler_task_start),
14897         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
14898         Ref the task before pushing it on the threadpool. This
14899         makes sure that we have a ref when the threadfunction is
14900         actually called.
14901
14902 2005-06-23  Andy Wingo  <wingo@pobox.com>
14903
14904         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
14905         offset is greater than the file's size.
14906
14907         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
14908         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
14909         * gst/gstobject.c (gst_object_class_init): Make the class lock
14910         recursive. Wim won't let me drop deep_notify. Decodebin works
14911         again, whoopdy doo.
14912
14913         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
14914         internal pad, and hacks accordingly. Doesn't do it on the target
14915         pad because we change its caps. Probably catches all cases of
14916         interest tho.
14917         (gst_ghost_pad_set_property): Connect to notify::caps as
14918         appropritate.
14919
14920         * tests/network-clock.scm (plot-simulation): Pipe data to the
14921         elite python skript.
14922
14923         * tests/network-clock-utils.scm (define-parameter): New macro,
14924         defines a parameter that can be set via the command line.
14925         (set-parameter!, parse-parameter-arguments): Command line args
14926         parser.
14927
14928         * tests/plot-data: Simple matplotlib-based plotter, takes input on
14929         stdin.
14930
14931 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
14932
14933         * gst/elements/gsttypefindelement.c:
14934         (gst_type_find_element_handle_event):
14935           Don't restart typefinding on a discont.
14936         * gst/gstelement.c: (gst_element_set_state):
14937           Debug spelling fix.
14938         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
14939           Allow changing mode of an active pad.
14940           Debug output fixes.
14941         * gst/registries/gstlibxmlregistry.c: (load_feature):
14942           Don't cast a static pad template to a normal pad template.
14943
14944 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
14945
14946         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
14947         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14948           remove gst_strtoll completely, since it didn't actually do
14949           anything more than what g_ascii_strtoull already does.
14950           check for range errors when deserializing
14951           do a cast for the unsigned cases; but further fixing needs
14952           a decision on what the interpretation of "(int)" and
14953           deserialization should be for values that fall outside the
14954           type's boundaries (ie, refuse, or interpret as casting)
14955
14956 2005-06-23  Wim Taymans  <wim@fluendo.com>
14957
14958         * check/Makefile.am:
14959         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
14960         * docs/design/part-live-source.txt:
14961         * docs/design/part-states.txt:
14962         * gst/base/gstbasesrc.c: (gst_basesrc_init),
14963         (gst_basesrc_set_live), (gst_basesrc_is_live),
14964         (gst_basesrc_get_range), (gst_basesrc_activate),
14965         (gst_basesrc_change_state):
14966         * gst/base/gstbasesrc.h:
14967         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14968         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
14969         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
14970         * gst/gstelement.c: (gst_element_get_state_func),
14971         (gst_element_set_state):
14972         * gst/gstelement.h:
14973         * gst/gsttypes.h:
14974         * tools/gst-launch.c: (event_loop), (main):
14975         Added support for live sources and other elements that
14976         cannot do preroll.
14977         Updated design docs, added live-source design doc.
14978         Implemented live source functionality in basesrc
14979         Fix error condition in _bin_get_state()
14980         Implement live source handling in -launch.
14981         Added check for live sources.
14982         Fixed case in GstBin where elements were changed state
14983         multiple times.
14984
14985
14986 2005-06-23  Andy Wingo  <wingo@pobox.com>
14987
14988         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
14989         borken refcounting.
14990
14991         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
14992         gst_caps_replace takes care of this for us.
14993
14994         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
14995         gst_pad_set_caps on the target, not just its setcaps() function.
14996
14997         * tests/network-clock.scm: 
14998         * tests/network-clock-utils.scm: A network clock simulator.
14999         Something of an algorithmic testbed before doing something in C.
15000
15001 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15002
15003         * check/Makefile.am:
15004         * check/gst/capslist.h:
15005           copy over from 0.8, and add two with bitmasks specified with
15006           (int) 0xFF...
15007         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15008           add test to parse everything from capslist.h
15009         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15010         (main):
15011           add test for structure deserialization
15012         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15013           add tests for deserialization of strings to int types
15014         * gst/gststructure.c: (gst_structure_nth_field_name):
15015         * gst/gststructure.h:
15016           add a way to get the name of a field referenced by index
15017         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15018           instead of checking if the resulting long long lies between
15019           min and max, we check if the long long would fit into
15020           a number of bytes for the final type.
15021           This fixes cases where a string represents 2^32 - 1, which
15022           when cast to int would be the (valid) -1, but is bigger than
15023           G_MAXINT
15024
15025 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15026
15027         * gst/parse/grammar.y:
15028           add a log line for type deserialization
15029
15030 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15031
15032         * check/gst/gstvalue.c: (START_TEST):
15033         * gst/gstvalue.c: (gst_value_deserialize):
15034           return long long, not int, so gint64 deserialization actually
15035           works.  Is there any flag that makes the compiler check this ?
15036           Fixes #308559
15037
15038 2005-06-22  Wim Taymans  <wim@fluendo.com>
15039
15040         * gst/gstbuffer.h:
15041         Added convenience macros for setting buffers in GValue.
15042
15043 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15044
15045         * check/gst/.cvsignore:
15046         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15047           add a test deserializing int64, and comment part out because
15048           it fails, yay !
15049
15050 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15051
15052         * check/Makefile.am:
15053         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15054         * testsuite/Makefile.am:
15055         * testsuite/caps/Makefile.am:
15056         * testsuite/caps/value_serialize.c:
15057         * testsuite/test_gst_init.c:
15058           move a value_serialize test over
15059
15060 2005-06-20  Wim Taymans  <wim@fluendo.com>
15061
15062         * gst/gstpad.c:
15063         Small doc updates.
15064         
15065         * gst/gstvalue.c: (gst_value_compare_buffer),
15066         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15067         (gst_value_compare_flags), (gst_value_serialize_flags),
15068         (gst_value_deserialize_flags), (_gst_value_initialize):
15069         Fix serialisation of buffers, they are not boxed types anymore
15070
15071 2005-06-20  Wim Taymans  <wim@fluendo.com>
15072
15073         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15074         Testcase to show error in buffer-on-caps serialisation.
15075
15076 2005-06-20  Andy Wingo  <wingo@pobox.com>
15077
15078         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15079         will be adding to later.
15080
15081         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15082         if its socks fill with rocks.
15083         (gst_system_clock_obtain): Set the name on object construction.
15084         Avoid double-checked locking.
15085
15086 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
15087
15088         * gst/gsturi.c: (gst_element_make_from_uri):
15089           Fix potential endless loop.
15090
15091 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15092
15093         * check/Makefile.am:
15094           add gsttag
15095         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15096         (main):
15097           move over from testsuite dir and clean up
15098         * configure.ac:
15099         * gst/gsttag.c:
15100         * testsuite/Makefile.am:
15101         * testsuite/tags/.cvsignore:
15102         * testsuite/tags/Makefile.am:
15103         * testsuite/tags/merge.c:
15104           remove testsuite/tags
15105
15106 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15107
15108         * docs/gst/gstreamer-sections.txt:
15109         * docs/gst/tmpl/gstenumtypes.sgml:
15110         * win32/gstenumtypes.c:
15111           clean up documentation build a little
15112
15113 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15114
15115         * check/gstcheck.h:
15116           add macros for checking refcounts on objects and caps
15117         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15118           add some more unit tests
15119         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15120         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15121           fix leaked refcounts (I hope :)) so unittest works
15122         * gst/gstpad.h:
15123           whitespace removal
15124
15125 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15126
15127         * configure.ac: back to HEAD
15128
15129 === release 0.9.1 ===
15130
15131 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15132
15133         * NEWS:
15134         * RELEASE:
15135           updated
15136
15137 2005-06-17  Andy Wingo  <wingo@pobox.com>
15138
15139         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15140         assert; it's always possible that the pad gets deactivated in
15141         between the checks in gstpad.c and the implementation. Rely on
15142         finish_preroll() to return a FLUSHING or similar instead of on the
15143         assert.
15144         
15145         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15146         clock and post an EOS message if we come out of finish_preroll in
15147         the playing state.
15148
15149 2005-06-16  David Schleef  <ds@schleef.org>
15150
15151         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15152         (gst_capsfilter_set_property): Allow NULL as possible value
15153         for filter_caps property, indicating GST_CAPS_ANY.
15154
15155 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15156
15157         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15158           fix debug output
15159         * gst/schedulers/Makefile.am:
15160           use libgst prefix
15161         * gstreamer.spec.in:
15162           fix spec for it
15163
15164 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15165
15166         * gstreamer.spec.in:
15167           clean up
15168
15169 2005-06-08  Andy Wingo  <wingo@pobox.com>
15170
15171         * gst/gstutils.c: RPAD fixes all around.
15172         (gst_element_link_pads): Refcounting fixes.
15173
15174         * tools/gst-inspect.c:
15175         * tools/gst-xmlinspect.c:
15176         * parse/grammar.y:
15177         * gst/base/gsttypefindhelper.c:
15178         * gst/base/gstbasesink.c:
15179         * gst/gstqueue.c: RPAD fixes.
15180
15181         * gst/gstghostpad.h:
15182         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15183         pads. The tricky thing is they provide both source and sink
15184         interfaces, since they proxy the internal pad for the external
15185         pad, and vice versa. Implement with lower-level ProxyPad objects,
15186         with the interior proxy pad as a child of the exterior ghost pad.
15187         Should write a doc on this.
15188         
15189         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15190         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15191         gst_object API.
15192         
15193         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15194         pads are real pads. No ghost pads in this file. Not documenting
15195         the myriad s/RPAD/PAD/ and REALIZE fixes.
15196         (gst_pad_class_init): Add properties for "direction" and
15197         "template". Both are construct-only, so they can't change during
15198         the life of the pad. Fixes properly deriving from GstPad.
15199         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15200         derived objects, just set properties when creating the objects via
15201         g_object_new.
15202         (gst_pad_get_parent): Implement as a function, return NULL if the
15203         parent is not an element.
15204         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15205         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15206         
15207         * gst/gstobject.c (gst_object_class_init): Make name a construct
15208         property. Don't set it in the object init.
15209
15210         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15211         with UNKNOWN direction.
15212         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15213         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15214         (gst_element_remove_pad): Remove ghost-pad special cases.
15215         (gst_element_pads_activate): Remove rpad cruft.
15216
15217         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15218         catch the pad's-parent-not-an-element case.
15219
15220         * gst/gst.h: Include gstghostpad.h.
15221
15222         * gst/gst.c (init_post): No more real, ghost pads.
15223
15224         * gst/Makefile.am: Add gstghostpad.[ch].
15225
15226         * check/Makefile.am:
15227         * check/gst/gstbin.c:
15228         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15229         into a bin creates ghost pads, and that the refcounts are right.
15230         Partly moved from gstbin.c.
15231
15232 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15233
15234         * check/gst-libs/.cvsignore:
15235         * check/gst/.cvsignore:
15236         * check/pipelines/.cvsignore:
15237           ignore more
15238         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15239         (START_TEST), (cleanup_suite), (main):
15240           add some tests related to cleanup after running pipelines
15241
15242 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15243
15244         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15245           add a testsuite for GstBuffer
15246
15247 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15248
15249         * gst/gstminiobject.h:
15250           add defines for accessing the refcount
15251
15252 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15253
15254         * Makefile.am: added support for html unit test coverage reports
15255
15256 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15257
15258         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15259           Free existing caps if the capsfilter changes. Add a FIXME about
15260           setting those caps on the pads.
15261
15262         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15263           Before adding a ghost pad to a parent bin, check that there isn't
15264           already one for the element on the bin. Prevents infinite recursion
15265           when using decodebin in parse pipelines. Andy says he'll rewrite the
15266           way this works anyway, so ignore the hack.
15267
15268 2005-06-02  Andy Wingo  <wingo@pobox.com>
15269
15270         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15271         file size, pass it on to the type find helper.
15272
15273         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15274         segment_start and segment_end properly according to the seek
15275         method. Segment_end is still a bit flaky because offset can be
15276         negative for CUR and END cases, but it takes -1 as an "unset"
15277         value.
15278
15279 2005-06-02  Wim Taymans  <wim@fluendo.com>
15280
15281         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15282         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15283         (gst_basesink_activate):
15284         * gst/base/gstbasesink.h:
15285         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15286         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15287         (gst_pad_query), (gst_pad_start_task):
15288         * gst/gstpad.h:
15289         * gst/gstqueue.c: (gst_queue_bufferalloc),
15290         (gst_queue_handle_sink_event), (gst_queue_chain):
15291         Bufferalloc: return GstFlowReturn to more accuratly report
15292         why allocation failed.
15293
15294 2005-06-02  Wim Taymans  <wim@fluendo.com>
15295
15296         * gst/gstpipeline.c: (gst_pipeline_send_event):
15297         Take snapshot of state without blocking.
15298
15299 2005-06-02  Wim Taymans  <wim@fluendo.com>
15300
15301         * docs/design/part-TODO.txt:
15302         * docs/design/part-caps.txt:
15303         * docs/design/part-clocks.txt:
15304         * docs/design/part-negotiation.txt:
15305         * docs/design/part-preroll.txt:
15306         Small doc updates 
15307
15308 2005-05-30  Wim Taymans  <wim@fluendo.com>
15309
15310         * gst/elements/gstidentity.c: (gst_identity_event),
15311         (gst_identity_transform), (gst_identity_get_property):
15312         Protect last_message property as it is accessed from
15313         multiple threads.
15314
15315 2005-05-30  Wim Taymans  <wim@fluendo.com>
15316
15317         * gst/gstelement.c: (gst_element_init),
15318         (gst_element_pads_activate), (gst_element_change_state):
15319         Slicker pad activation code.
15320
15321 2005-05-30  Wim Taymans  <wim@fluendo.com>
15322
15323         * gst/Makefile.am:
15324         * gst/gstelement.h:
15325         * gst/gstelementfactory.h:
15326         * gst/gsttypes.h:
15327         Move elementfactory methods to separate .h file.
15328
15329 2005-05-30  Wim Taymans  <wim@fluendo.com>
15330
15331         * docs/design/part-overview.txt:
15332         * gst/gstsystemclock.h:
15333         Small typo fixes, doc updates.
15334
15335 2005-05-30  Wim Taymans  <wim@fluendo.com>
15336
15337         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15338         (init_popt_callback):
15339         Remove cpu-opt flag.
15340
15341 2005-05-30  Wim Taymans  <wim@fluendo.com>
15342
15343         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15344         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15345         * gst/gstbuffer.h:
15346         Avoid typechecking in places where not needed.
15347         Added accessor for malloc_data.
15348
15349 2005-05-30  Wim Taymans  <wim@fluendo.com>
15350
15351         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15352         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15353         (gst_pad_configure_sink), (gst_pad_configure_src),
15354         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15355         (gst_pad_start_task):
15356         Propagate errors from _set_caps() in configure_src/sink
15357         functions instead of returning TRUE.
15358         FLUSH events can travel up and downstream
15359
15360
15361 2005-05-30  Wim Taymans  <wim@fluendo.com>
15362
15363         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15364         (gst_basesink_activate):
15365         Handle EOS in preroll.
15366
15367 2005-05-30  Wim Taymans  <wim@fluendo.com>
15368
15369         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15370         (gst_queue_loop), (gst_queue_handle_src_event):
15371         Remove old pieces of code
15372         Flushing the queue in an upstream event is a very bad idea.
15373
15374 2005-05-26  Andy Wingo  <wingo@pobox.com>
15375
15376         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15377         gst_value_set_mini_object so as to add a ref on the object (which
15378         will be removed when the value is unset).
15379
15380         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15381         arg type in ::handoff.
15382
15383         * gst/gstelement.c (gst_element_change_state): Also deactivate
15384         pads in READY->NULL, just in case the element didn't make it to
15385         PAUSED. Wingo tested, Wim approved.
15386
15387 2005-05-26  Wim Taymans  <wim@fluendo.com>
15388
15389         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15390         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15391         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15392         A flushing pad cannot be used to alloc_buffer from.
15393
15394 2005-05-26  Wim Taymans  <wim@fluendo.com>
15395
15396         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15397         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15398         (gst_bus_source_dispatch), (gst_bus_source_finalize),
15399         (gst_bus_create_watch), (gst_bus_add_watch_full):
15400         * gst/gstbus.h:
15401         Implement a real GSource and use g_main_context_wakeup() to
15402         signal new messages instead of the socketpair.
15403
15404 2005-05-25  Wim Taymans  <wim@fluendo.com>
15405
15406         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15407         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15408         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15409         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15410         (gst_pad_send_event), (gst_pad_start_task):
15411         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15412         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15413         (gst_queue_sink_activate), (gst_queue_src_activate),
15414         (gst_queue_change_state):
15415         * gst/gstqueue.h:
15416         Fix state changes for non sinks. We now change sinks, then elements
15417         with unconnected srcpads, then the rest.
15418         More efficient queue unlocking in flush and state changes.
15419         Set the pad activate mode even if it does not have an activate
15420         function.
15421
15422 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15423
15424         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15425           Don't go in pull mode for non-seekable sources.
15426         * gst/elements/gsttypefindelement.h:
15427         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15428         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15429         (free_entry), (stop_typefinding),
15430         (gst_type_find_element_handle_event), (find_peek),
15431         (gst_type_find_element_chain), (do_pull_typefind),
15432         (gst_type_find_element_change_state):
15433           Allow typefinding (w/o seeking) in push-mode, simplified version
15434           of what was in 0.8.
15435         * gst/gstutils.c: (gst_buffer_join):
15436         * gst/gstutils.h:
15437           gst_buffer_join() from 0.8.
15438
15439 2005-05-25  Wim Taymans  <wim@fluendo.com>
15440
15441         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15442         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15443         (gst_pad_send_event), (gst_pad_start_task):
15444         Disable attempt at mode switching until it is figured out.
15445
15446 2005-05-25  Wim Taymans  <wim@fluendo.com>
15447
15448         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15449         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15450         (gst_basesink_finish_preroll), (gst_basesink_chain),
15451         (gst_basesink_loop), (gst_basesink_activate),
15452         (gst_basesink_change_state):
15453         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15454         (gst_basesrc_get_range), (gst_basesrc_loop),
15455         (gst_basesrc_activate):
15456         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15457         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15458         (gst_real_pad_init), (gst_real_pad_set_property),
15459         (gst_real_pad_get_property), (gst_pad_set_active),
15460         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15461         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15462         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15463         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15464         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15465         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15466         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15467         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15468         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15469         (gst_pad_stop_task):
15470         * gst/gstpad.h:
15471         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15472         (gst_queue_loop), (gst_queue_src_activate):
15473         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15474         (gst_task_get_state):
15475         * gst/gsttask.h:
15476         * gst/schedulers/threadscheduler.c:
15477         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15478         Implement gst_pad_pause/start/stop_task(), take STREAM lock
15479         in task function.
15480         Remove ACTIVE pad flag, use FLUSHING everywhere
15481         Added _pad_chain(), _pad_get_range() to call chain/getrange 
15482         functions.
15483         Add locks around IS_FLUSHING when reading.
15484         Take STREAM lock in chain(), get_range() functions so plugins
15485         don't need to take it anymore.
15486         
15487
15488
15489 2005-05-25  Wim Taymans  <wim@fluendo.com>
15490
15491         * tools/gst-launch.c: (event_loop):
15492         Unref message after using its contents instead of
15493         before.
15494
15495 2005-05-24  Wim Taymans  <wim@fluendo.com>
15496
15497         * docs/design/draft-ghostpads.txt:
15498         * docs/design/draft-push-pull.txt:
15499         * docs/design/draft-query.txt:
15500         * docs/design/part-overview.txt:
15501         Docs updates, added general overview doc.
15502
15503 2005-05-21  David Schleef  <ds@schleef.org>
15504
15505         * docs/gst/tmpl/old/GstBin.sgml:
15506         * docs/gst/tmpl/old/GstBuffer.sgml:
15507         * docs/gst/tmpl/old/GstCaps.sgml:
15508         * docs/gst/tmpl/old/GstClock.sgml:
15509         * docs/gst/tmpl/old/GstCompat.sgml:
15510         * docs/gst/tmpl/old/GstData.sgml:
15511         * docs/gst/tmpl/old/GstElement.sgml:
15512         * docs/gst/tmpl/old/GstEvent.sgml:
15513         * docs/gst/tmpl/old/GstIndex.sgml:
15514         * docs/gst/tmpl/old/GstStructure.sgml:
15515         * docs/gst/tmpl/old/GstTag.sgml:
15516         * docs/gst/tmpl/old/cothreads.sgml:
15517         * docs/gst/tmpl/old/cothreads_compat.sgml:
15518         * docs/gst/tmpl/old/gettext.sgml:
15519         * docs/gst/tmpl/old/gobject2gtk.sgml:
15520         * docs/gst/tmpl/old/grammar.tab.sgml:
15521         * docs/gst/tmpl/old/gst-i18n-app.sgml:
15522         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15523         * docs/gst/tmpl/old/gst_private.sgml:
15524         * docs/gst/tmpl/old/gstaggregator.sgml:
15525         * docs/gst/tmpl/old/gstarch.sgml:
15526         * docs/gst/tmpl/old/gstatomic_impl.sgml:
15527         * docs/gst/tmpl/old/gstbufferstore.sgml:
15528         * docs/gst/tmpl/old/gstdata_private.sgml:
15529         * docs/gst/tmpl/old/gstdisksink.sgml:
15530         * docs/gst/tmpl/old/gstdisksrc.sgml:
15531         * docs/gst/tmpl/old/gstelementfactory.sgml:
15532         * docs/gst/tmpl/old/gstextratypes.sgml:
15533         * docs/gst/tmpl/old/gstfakesink.sgml:
15534         * docs/gst/tmpl/old/gstfakesrc.sgml:
15535         * docs/gst/tmpl/old/gstfdsink.sgml:
15536         * docs/gst/tmpl/old/gstfdsrc.sgml:
15537         * docs/gst/tmpl/old/gstfilesink.sgml:
15538         * docs/gst/tmpl/old/gstfilesrc.sgml:
15539         * docs/gst/tmpl/old/gsthttpsrc.sgml:
15540         * docs/gst/tmpl/old/gstidentity.sgml:
15541         * docs/gst/tmpl/old/gstindexfactory.sgml:
15542         * docs/gst/tmpl/old/gstmarshal.sgml:
15543         * docs/gst/tmpl/old/gstmd5sink.sgml:
15544         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15545         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15546         * docs/gst/tmpl/old/gstpadtemplate.sgml:
15547         * docs/gst/tmpl/old/gstpipefilter.sgml:
15548         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15549         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15550         * docs/gst/tmpl/old/gstshaper.sgml:
15551         * docs/gst/tmpl/old/gstspider.sgml:
15552         * docs/gst/tmpl/old/gstspideridentity.sgml:
15553         * docs/gst/tmpl/old/gststatistics.sgml:
15554         * docs/gst/tmpl/old/gsttee.sgml:
15555         * docs/gst/tmpl/old/gsttimecache.sgml:
15556         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15557         * docs/gst/tmpl/old/gstxmlregistry.sgml:
15558         * docs/gst/tmpl/old/gthread-cothreads.sgml:
15559         * docs/gst/tmpl/old/types.sgml:
15560           I didn't intend to add these or check them in.
15561
15562 2005-05-19  David Schleef  <ds@schleef.org>
15563
15564         * configure.ac: Use -no-common everywhere.  In a sane world, it
15565           would be the default in libtool, because without it, you can't
15566           build DLLs on Windows.
15567         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15568         * docs/gst/gstreamer-sections.txt:
15569         * docs/gst/tmpl/gstcpu.sgml:
15570         * docs/gst/tmpl/gstdata.sgml:
15571         * docs/gst/tmpl/gstthread.sgml:
15572
15573 2005-05-19  David Schleef  <ds@schleef.org>
15574
15575         * gst/gstminiobject.c: (gst_value_set_mini_object),
15576         (gst_value_take_mini_object), (gst_value_get_mini_object):
15577         * gst/gstminiobject.h: Add GValue set/get functions.
15578
15579 2005-05-19  Wim Taymans  <wim@fluendo.com>
15580
15581         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15582         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15583         (gst_subbuffer_init), (gst_buffer_is_span_fast):
15584         * gst/gstbuffer.h:
15585         * gst/gstbus.c: (gst_bus_post):
15586         * gst/gstelement.c: (gst_element_get_random_pad):
15587         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15588         Make subbufer unref the parent in finalize.
15589         some more debugging info.
15590
15591
15592 2005-05-19  Wim Taymans  <wim@fluendo.com>
15593
15594         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15595         (gst_basesink_init), (gst_basesink_finalize),
15596         (gst_basesink_activate), (gst_basesink_change_state):
15597         Don't free preroll queue too early.
15598
15599 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15600
15601         * gst/Makefile.am:
15602         * gst/ROADMAP:
15603           Hi, I'm outdated. Please shoot me.
15604
15605 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15606
15607         * gst/gstpipeline.c: (gst_pipeline_send_event):
15608           Do not access variables after they have been deleted.
15609
15610 2005-05-19  Wim Taymans  <wim@fluendo.com>
15611
15612         * tools/gst-inspect.c: (print_plugin_features):
15613         A plugin feature does unfortunatly not use the
15614         object name yet...
15615
15616 2005-05-18  Wim Taymans  <wim@fluendo.com>
15617
15618         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
15619         Port _span() functions to new subbuffers.
15620
15621 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15622
15623         * gst/gstbin.c: (gst_bin_add_func):
15624           Fix clock settery in bins when adding kids after the clock has
15625           been selected.
15626
15627 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15628
15629         * gst/elements/gstidentity.c: (gst_identity_class_init):
15630           Workaround until signals support GstMiniObject.
15631
15632 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15633
15634         * gst/gstbuffer.c:
15635         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
15636
15637 2005-05-18  Wim Taymans  <wim@fluendo.com>
15638
15639         * gst/base/Makefile.am:
15640         * gst/base/gstadapter.c: (gst_adapter_base_init),
15641         (gst_adapter_class_init), (gst_adapter_init),
15642         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
15643         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
15644         (gst_adapter_flush), (gst_adapter_available),
15645         (gst_adapter_available_fast):
15646         * gst/base/gstadapter.h:
15647         Ported and added adapter to the base classes.
15648
15649 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15650
15651         * gst/gst.c:
15652         * gst/gstmessage.c:
15653           Make sure the class is reffed/unreffed once before threads can be
15654           used.  Fixes #304551.
15655
15656 2005-05-17  Wim Taymans  <wim@fluendo.com>
15657
15658         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15659         (gst_basesink_chain_unlocked), (gst_basesink_activate):
15660         * gst/gstminiobject.c: (gst_mini_object_get_type),
15661         (gst_mini_object_free):
15662         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15663         (gst_pad_push), (gst_pad_push_event):
15664         * gst/gstqueue.c: (gst_queue_change_state):
15665         Don't queue buffers in basesink when we are flushing.
15666         Unref buffer when flushing in basesink.
15667         Flush queue when going to READY
15668         Unref buffer when _push() returns an error.
15669         Don't free MiniObject instance when refcount is incremented
15670         in _finalize() so that we can recover objects.
15671
15672 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15673
15674         * docs/manual/advanced-schedulers.xml:
15675         * docs/manual/appendix-checklist.xml:
15676         * docs/pwg/advanced-clock.xml:
15677         * docs/pwg/advanced-interfaces.xml:
15678         * docs/pwg/advanced-request.xml:
15679         * docs/pwg/advanced-types.xml:
15680         * docs/pwg/intro-preface.xml:
15681         * examples/plugins/example.c: (gst_example_get_type),
15682         (gst_example_class_init), (gst_example_chain),
15683         (gst_example_set_property), (gst_example_get_property),
15684         (gst_example_change_state), (plugin_init):
15685         * examples/plugins/example.h:
15686           small doc fixes
15687
15688 2005-05-17  Wim Taymans  <wim@fluendo.com>
15689
15690         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15691         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15692         * gst/gstqueue.c: (gst_queue_change_state):
15693         Clear queue when going to READY.
15694         Remove IN_SETCAPS flag too.
15695
15696 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
15697
15698         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15699           Remove implicit cast from gboolean to GstElementStateReturn;
15700           make sure we still return failure in paused => ready case if
15701           the parent class fails to change state and our own stop 
15702           vfunc succeeds.
15703
15704 2005-05-17  Wim Taymans  <wim@fluendo.com>
15705
15706         * tools/gst-launch.c: (event_loop):
15707         Message was unreffed too soon.
15708
15709 2005-05-16  Andy Wingo  <wingo@pobox.com>
15710
15711         * gst/gstbin.c (sink_iterator_filter): Err... um...
15712
15713         * check/gst/gstbin.c (test_ghost_pads): New test for the
15714         ghosting-if-elements-not-in-same-bin behavior.
15715
15716 2005-05-16  David Schleef  <ds@schleef.org>
15717
15718         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15719         accessing refcount directly.
15720
15721 2005-05-15  David Schleef  <ds@schleef.org>
15722
15723         * check/Makefile.am: remove GstData checks
15724         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15725         * gst/Makefile.am: add miniobject, remove data
15726         * gst/gst.h: add miniobject, remove data
15727         * gst/gstdata.c: remove
15728         * gst/gstdata.h: remove
15729         * gst/gstdata_private.h: remove
15730         * gst/gsttypes.h: remove GstEvent and GstMessage
15731         * gst/gstelement.c: (gst_element_post_message): fix for API changes
15732         * gst/gstmarshal.list: change BOXED -> OBJECT
15733
15734         Implement GstMiniObject.
15735         * gst/gstminiobject.c:
15736         * gst/gstminiobject.h:
15737
15738         Modify to be subclasses of GstMiniObject.
15739         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15740         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15741         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15742         (gst_subbuffer_get_type), (gst_subbuffer_init),
15743         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15744         (gst_buffer_span):
15745         * gst/gstbuffer.h:
15746         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15747         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15748         (_gst_event_copy), (gst_event_new):
15749         * gst/gstevent.h:
15750         * gst/gstmessage.c: (_gst_message_initialize),
15751         (gst_message_get_type), (gst_message_class_init),
15752         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15753         (gst_message_new), (gst_message_new_error),
15754         (gst_message_new_warning), (gst_message_new_tag),
15755         (gst_message_new_state_changed), (gst_message_new_application):
15756         * gst/gstmessage.h:
15757         * gst/gstprobe.c: (gst_probe_perform),
15758         (gst_probe_dispatcher_dispatch):
15759         * gst/gstprobe.h:
15760         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15761         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15762         (_gst_query_copy), (gst_query_new):
15763
15764         Update elements for GstData -> GstMiniObject changes
15765         * gst/gstquery.h:
15766         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15767         (gst_queue_chain), (gst_queue_loop):
15768         * gst/elements/gstbufferstore.c:
15769         (gst_buffer_store_add_buffer_func),
15770         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15771         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15772         (gst_fakesink_render):
15773         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15774         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15775         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15776         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
15777         (gst_filesrc_create_read):
15778         * gst/elements/gstidentity.c: (gst_identity_class_init):
15779         * gst/elements/gsttypefindelement.c:
15780         (gst_type_find_element_src_event), (free_entry_buffers),
15781         (gst_type_find_element_handle_event):
15782         * libs/gst/dataprotocol/dataprotocol.c:
15783         (gst_dp_header_from_buffer):
15784         * libs/gst/dataprotocol/dataprotocol.h:
15785         * libs/gst/dataprotocol/dp-private.h:
15786
15787 2005-05-15  David Schleef  <ds@schleef.org>
15788
15789         * gst/elements/gstelements.c: Don't include headers that were
15790         just removed.
15791
15792 2005-05-15  David Schleef  <ds@schleef.org>
15793
15794         * gst/elements/Makefile.am: Remove some elements that don't
15795         need to be in the core (or even exist at all).
15796         * gst/elements/gstaggregator.c:
15797         * gst/elements/gstaggregator.h:
15798         * gst/elements/gstmd5sink.c:
15799         * gst/elements/gstmd5sink.h:
15800         * gst/elements/gstmultifilesrc.c:
15801         * gst/elements/gstmultifilesrc.h:
15802         * gst/elements/gstpipefilter.c:
15803         * gst/elements/gstpipefilter.h:
15804         * gst/elements/gstshaper.c:
15805         * gst/elements/gstshaper.h:
15806         * gst/elements/gststatistics.c:
15807         * gst/elements/gststatistics.h:
15808         * po/POTFILES.in: Remove above files.
15809
15810 2005-05-14  Andy Wingo  <wingo@pobox.com>
15811
15812         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
15813         so as to get the refs right.
15814         (sink_iterator_filter): New function, wraps bin_element_is_sink,
15815         unreffing objects that don't pass the filter.
15816
15817         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
15818         gst_element_set_bus.
15819         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
15820         normal cases, this will destroy the bus.
15821
15822         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
15823         object.
15824
15825         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
15826         has no sinks.
15827
15828 2005-05-13  Andy Wingo  <wingo@pobox.com>
15829
15830         * gst/gstutils.c (gst_element_link_pads): Instead of calling
15831         gst_pad_link, call pad_link_maybe_ghosting,
15832         (pad_link_maybe_ghosting): Links pads, making sure that the
15833         elements being linked are in the same bin.
15834         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
15835         Helpers for pad_link_maybe_ghosting.
15836
15837 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15838
15839         * configure.ac:
15840           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
15841
15842 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15843
15844         * docs/design/part-element-source.txt:
15845           Mention GstPushSrc
15846
15847 2005-05-12  Wim Taymans  <wim@fluendo.com>
15848
15849         * gst/base/gstbasesink.c: (gst_basesink_init),
15850         (gst_basesink_activate):
15851         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
15852         (gst_basesrc_is_seekable):
15853         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
15854         (bin_element_is_sink), (gst_bin_change_state):
15855         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15856         * gst/gstelement.h:
15857         Identify sinks by their flag to avoid overly complicated
15858         checks (fow now).
15859         Do state changes even for elements not reachable from the
15860         sinks.
15861         BaseSink is a sink now :)
15862         Some more debugging info in the basesrc.
15863
15864
15865 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15866
15867         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
15868           Implement _query on a bin, similar to _send_event.
15869
15870 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15871
15872         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
15873           Discont event offset format should be GST_FORMAT_BYTES,
15874           not GST_FORMAT_TIME.
15875
15876 2005-05-12  Wim Taymans  <wim@fluendo.com>
15877
15878         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
15879         Same fix as Ronald's but without the signal. 
15880
15881 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15882
15883         * gst/gstutils.c: (gst_element_query_position):
15884           No, an element is not a pad.
15885
15886 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15887
15888         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
15889         (gst_bin_get_state):
15890           If a child is removed from a bin while we remove the child from
15891           the bin and while we're retrieving its state, signal this to the
15892           get_state function so we abort the wait (instead of waiting for
15893           a timeout) and can immediately re-iterate over all other elements.
15894
15895 2005-05-12  Wim Taymans  <wim@fluendo.com>
15896
15897         * gst/base/Makefile.am:
15898         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
15899         (gst_basesrc_start):
15900         * gst/base/gstbasesrc.h:
15901         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
15902         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
15903         (gst_pushsrc_init), (gst_pushsrc_create):
15904         * gst/base/gstpushsrc.h:
15905         Added is_seekable to BaseSrc
15906         Added simple PushSrc.
15907
15908 2005-05-11  Wim Taymans  <wim@fluendo.com>
15909
15910         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15911         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15912         (gst_element_link_pads), (gst_element_query_position),
15913         (gst_element_query_convert), (intersect_caps_func),
15914         (gst_pad_query_position), (gst_pad_query_convert):
15915         Fix refcounting in utils function.
15916         No point in trying to activate a pad when it's added, it could
15917         be added from the state change function and then we deadlock, the
15918         element has to decide what to do.
15919
15920 2005-05-10  Andy Wingo  <wingo@pobox.com>
15921
15922         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
15923         *all* the arguments.
15924
15925         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
15926         stream lock if it's a FLUSH_DONE; normal flushes don't get the
15927         lock (according to the docs -- if this is wrong change the docs).
15928
15929         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
15930         flush messages in the NULL state.
15931
15932         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
15933         message immediately and return.
15934         (gst_bus_set_flushing): New function. If a bus is flushing, it
15935         flushes out any queued messages and immediately unrefs new
15936         messages. This is so when an element goes to NULL, all of the
15937         unhandled messages coming from it can be freed, and their
15938         references to the element dropped. In other words: message source
15939         ref considered harmful :P
15940
15941         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
15942         we're finished with it.
15943
15944         * gst/gstmessage.c (gst_message_new_state_changed): 
15945
15946 2005-05-10  Wim Taymans  <wim@fluendo.com>
15947
15948         * gst/gstvalue.c: (gst_value_compare_flags),
15949         (gst_value_serialize_flags), (gst_value_deserialize_flags),
15950         (_gst_value_initialize):
15951         Added flags serialize/deserialize/compare code.
15952
15953 2005-05-09  Andy Wingo  <wingo@pobox.com>
15954
15955         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
15956         Intersect the peer's caps with our caps.
15957
15958 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15959
15960         * gst/base/gsttypefindhelper.c: (helper_find_peek):
15961         * gst/elements/gsttypefindelement.c: (find_peek):
15962           Handle negative offsets better. Fixes decodebin.
15963
15964 2005-05-09  Wim Taymans  <wim@fluendo.com>
15965
15966         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
15967         (gst_base_transform_event):
15968         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
15969         Implement accept_caps.
15970         Fix silly lock/unlock mismatch in base class.
15971
15972 2005-05-09  Wim Taymans  <wim@fluendo.com>
15973
15974         * docs/design/draft-push-pull.txt:
15975         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
15976         * gst/elements/gstfilesink.c: (gst_filesink_init),
15977         (gst_filesink_query):
15978         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15979         (gst_type_find_handle_src_query), (find_element_get_length):
15980         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
15981         * gst/gstelement.h:
15982         * gst/gstmessage.c:
15983         * gst/gstmessage.h:
15984         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
15985         (gst_real_pad_get_caps_unlocked),
15986         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
15987         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15988         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
15989         (gst_real_pad_dispose), (gst_real_pad_finalize),
15990         (gst_pad_load_and_link), (gst_pad_save_thyself),
15991         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
15992         (gst_pad_check_pull_range), (gst_pad_pull_range),
15993         (gst_pad_template_get_type), (gst_pad_template_class_init),
15994         (gst_pad_template_init), (gst_pad_template_dispose),
15995         (name_is_valid), (gst_static_pad_template_get),
15996         (gst_pad_template_new), (gst_static_pad_template_get_caps),
15997         (gst_pad_template_get_caps), (gst_pad_set_element_private),
15998         (gst_pad_get_element_private), (gst_pad_start_task),
15999         (gst_pad_pause_task), (gst_pad_stop_task),
16000         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16001         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16002         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16003         (gst_ghost_pad_new):
16004         * gst/gstpad.h:
16005         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16006         (gst_query_new_position), (gst_query_set_position),
16007         (gst_query_parse_position), (gst_query_new_convert),
16008         (gst_query_set_convert), (gst_query_parse_convert):
16009         * gst/gstquery.h:
16010         * gst/gstqueryutils.c:
16011         * gst/gstqueryutils.h:
16012         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16013         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16014         (gst_queue_handle_src_query):
16015         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16016         (gst_element_query_position), (gst_element_query_convert),
16017         (intersect_caps_func), (gst_pad_query_position),
16018         (gst_pad_query_convert):
16019         * gst/gstutils.h:
16020         * tools/gst-inspect.c: (print_pad_info):
16021         * tools/gst-xmlinspect.c: (print_element_info):
16022         Remove old query functions. Ported old code.
16023         Added position/convert helper functions to gstutils.
16024         Reordered gstpad.c code, grouping relevant things.
16025         Remove gst_message_new(), always need to speficy a specific
16026         message.
16027
16028
16029 2005-05-09  Andy Wingo  <wingo@pobox.com>
16030
16031         * gst/gstiterator.h: Add some includes.
16032
16033         * gst/gstqueryutils.h: Include more headers.
16034
16035         * gst/gstpad.h:
16036         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16037         some uses of gst_pad_query.
16038
16039         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16040         NULL out parameters.
16041         (gst_query_new_position): New proc, allocates a new position
16042         query.
16043
16044         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16045         gstqueryutils.c to the build.
16046
16047         * gst/gststructure.c (gst_structure_set_valist): Implement with
16048         the generic G_VALUE_COLLECT.
16049         
16050 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
16051
16052         * gst/Makefile.am: (gst_headers):
16053         Added gstqueryutils.h to the list of headers to install, that was
16054         a 'nachty' move wingo :)
16055
16056 2005-05-06  Andy Wingo  <wingo@pobox.com>
16057
16058         * gst/gstquery.h
16059         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16060         GstData, init a memchunk.
16061         (standard_definitions): Add a few query types, deprecate a few.
16062         (gst_query_get_type): New proc.
16063         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16064         implementation.
16065         (gst_query_new_application, gst_query_get_structure): New public
16066         procs.
16067
16068         * docs/design/draft-query.txt: Removed LINKS from the query types,
16069         because all the rest can be dispatched to other pads -- seemed
16070         ugly to have a query that couldn't be dispatched. internal_links
16071         is fine as a pad method.
16072
16073         * gst/gstpad.h: Add query2 as a pad method, add the new functions
16074         in gstpad.c, but maintain binary compatibility for the moment.
16075         Will fix before 0.9 is out.
16076
16077         * gst/gstqueryutils.c: 
16078         * gst/gstqueryutils.h: New files, implement 3 methods for each
16079         query type: parse_query, parse_response, and set. Probably need an
16080         allocator as well.
16081
16082         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16083
16084         * gst/elements/gstfilesink.c (gst_filesink_query2):
16085         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16086         query_types, and formats methods.
16087
16088         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16089         (gst_pad_set_query2_function): New functions.
16090         (gst_real_pad_init): Set query2_default as the default query2
16091         function. Basically just dispatches to internally linked pads.
16092
16093         Needs review!
16094         
16095         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16096         without using the atomic operations. Only one thread can possibly
16097         be accessing the data at this point. Changed so as to avoid
16098         gst_atomic operations.
16099
16100 2005-05-06  Wim Taymans  <wim@fluendo.com>
16101
16102         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16103         Also set caps if we use the fallback buffer alloc.
16104
16105 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
16106
16107         * docs/gst/Makefile.am:
16108         * docs/gst/gstreamer-docs.sgml:
16109         * docs/gst/gstreamer-sections.txt:
16110         * docs/gst/tmpl/gstatomic.sgml:
16111         * docs/gst/tmpl/gstmemchunk.sgml:
16112         * testsuite/elements/struct_i386.h:
16113         * win32/GStreamer.vcproj:
16114         * win32/Makefile:
16115           Purge GstAtomic stuff from docs and win32 makefiles as well
16116
16117 2005-05-06  Wim Taymans  <wim@fluendo.com>
16118
16119         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16120         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16121         * gst/gstpad.c: (gst_pad_peer_get_caps):
16122         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16123         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16124         (gst_queue_src_activate), (gst_queue_change_state):
16125         * gst/gstqueue.h:
16126         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16127         (intersect_caps_func):
16128         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16129         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16130         Some fixes for the peer_get_caps() change.
16131
16132 2005-05-06  Wim Taymans  <wim@fluendo.com>
16133
16134         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16135         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16136         (gst_basesink_activate):
16137         Actually do something with error codes returned from the push
16138         functions.
16139
16140 2005-05-06  Wim Taymans  <wim@fluendo.com>
16141
16142         * docs/design/part-element-sink.txt:
16143         * docs/design/part-element-source.txt:
16144         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16145         (gst_basesink_event), (gst_basesink_activate):
16146         * gst/base/gstbasesink.h:
16147         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16148         (gst_basesrc_activate):
16149         * gst/base/gstbasesrc.h:
16150         * gst/gstelement.c: (gst_element_pads_activate):
16151         Some more documentation.
16152         Fixed scheduling decision in _pads_activate().
16153
16154 2005-05-05  Andy Wingo  <wingo@pobox.com>
16155
16156         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16157         the test suite.
16158
16159 2005-05-05  Wim Taymans  <wim@fluendo.com>
16160
16161         * gst/base/Makefile.am:
16162         * gst/base/gstbasesink.h:
16163         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16164         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16165         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16166         (gst_collectpads_class_init), (gst_collectpads_init),
16167         (gst_collectpads_finalize), (gst_collectpads_new),
16168         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16169         (find_pad), (gst_collectpads_remove_pad),
16170         (gst_collectpads_is_active), (gst_collectpads_collect),
16171         (gst_collectpads_collect_range), (gst_collectpads_start),
16172         (gst_collectpads_stop), (gst_collectpads_peek),
16173         (gst_collectpads_pop), (gst_collectpads_available),
16174         (gst_collectpads_read), (gst_collectpads_flush),
16175         (gst_collectpads_chain):
16176         * gst/base/gstcollectpads.h:
16177         * gst/elements/Makefile.am:
16178         * gst/elements/gstelements.c:
16179         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16180         (gst_fakesink_get_times), (gst_fakesink_event),
16181         (gst_fakesink_preroll), (gst_fakesink_render):
16182         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16183         (gst_filesink_init), (gst_filesink_set_location),
16184         (gst_filesink_open_file), (gst_filesink_close_file),
16185         (gst_filesink_pad_query), (gst_filesink_event),
16186         (gst_filesink_render), (gst_filesink_change_state):
16187         * gst/elements/gstfilesink.h:
16188         Added object to help in making collect pad based elements.
16189         Ported filesink.
16190         Make event function in sink baseclass return gboolean.
16191
16192 2005-05-05  Wim Taymans  <wim@fluendo.com>
16193
16194         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16195         (gst_bin_get_by_name):
16196         * gst/gstbuffer.h:
16197         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16198         (gst_clock_finalize):
16199         * gst/gstdata.c: (gst_data_replace):
16200         * gst/gstdata.h:
16201         * gst/gstelement.c: (gst_element_request_pad),
16202         (gst_element_pads_activate):
16203         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16204         (gst_object_unref):
16205         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16206         (gst_pad_set_checkgetrange_function),
16207         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16208         (gst_pad_check_pull_range), (gst_pad_pull_range),
16209         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16210         (gst_pad_pause_task), (gst_pad_stop_task):
16211         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16212         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16213         Fix name lookup in GstBin.
16214         Added _data_replace() function and _buffer_replace()
16215         Use finalize method to clean up clock.
16216         Fix refcounting on request pads.
16217         Fix pad schedule mode error.
16218         Some more object refcounting debug info,
16219
16220
16221 2005-05-04  Andy Wingo <wingo@pobox.com>
16222
16223         * check/Makefile.am:
16224         * docs/gst/tmpl/gstatomic.sgml:
16225         * docs/gst/tmpl/gstplugin.sgml:
16226         * gst/base/gstbasesink.c: (gst_basesink_activate):
16227         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16228         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16229         (gst_basesrc_query), (gst_basesrc_set_property),
16230         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16231         (gst_basesrc_activate):
16232         * gst/base/gstbasesrc.h:
16233         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16234         (gst_base_transform_src_activate):
16235         * gst/elements/gstelements.c:
16236         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16237         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16238         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16239         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16240         (gst_type_find_element_checkgetrange),
16241         (gst_type_find_element_activate):
16242         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16243         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16244         (gst_caps_load_thyself):
16245         * gst/gstelement.c: (gst_element_pads_activate),
16246         (gst_element_save_thyself), (gst_element_restore_thyself):
16247         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16248         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16249         * gst/gstpad.h:
16250         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16251         (gst_xml_parse_file), (gst_xml_parse_memory),
16252         (gst_xml_get_element), (gst_xml_make_element):
16253         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16254         (_file_index_id_save_xml), (gst_file_index_commit):
16255         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16256         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16257         (load_paths):
16258         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16259         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16260         * tools/gst-complete.c: (main):
16261         * tools/gst-compprep.c: (main):
16262         * tools/gst-inspect.c: (print_element_properties_info):
16263         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16264         * tools/gst-xmlinspect.c: (print_element_properties):
16265         GCC 4 fixen.
16266         
16267 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16268
16269         * gst/gstplugin.c: (gst_plugin_check_module),
16270         (gst_plugin_check_file), (gst_plugin_load_file):
16271             apply patch from #172526 to make register work on MacOSX
16272
16273 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16274
16275         * docs/gst/tmpl/gstconfig.sgml:
16276         * gst/gstconfig.h.in:
16277           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16278         * testsuite/debug/printf_extension.c: (main):
16279           Do not use GST_PTR_FORMAT on pointers to types with
16280           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16281         * testsuite/elements/property.h:
16282           use correct printf format
16283
16284 2005-05-02  Wim Taymans  <wim@fluendo.com>
16285
16286         * docs/design/draft-push-pull.txt:
16287         * docs/design/draft-query.txt:
16288         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16289         (gst_basesrc_start):
16290         Added draft for new query API.
16291         Added draft for better selecting scheduling methods.
16292         Make basesrc ignore length if the subclass does not support
16293         it.
16294
16295 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16296
16297         * gst/Makefile.am:
16298           possible fixes for automake-1.5 - _LIBADD is reserved
16299
16300 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16301
16302         * docs/faq/Makefile.am:
16303         * docs/manual/Makefile.am:
16304         * docs/manuals.mak:
16305         * docs/pwg/Makefile.am:
16306         * gst/Makefile.am:
16307           possible fixes for automake-1.5
16308
16309 2005-04-28  Wim Taymans  <wim@fluendo.com>
16310
16311         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16312         (gst_basesink_pad_getcaps), (gst_basesink_init),
16313         (gst_basesink_do_sync):
16314         * gst/gstclock.c: (gst_clock_entry_new):
16315         * gst/gstevent.c: (gst_event_discont_get_value):
16316         * gst/gstpipeline.c: (pipeline_bus_handler),
16317         (gst_pipeline_change_state):
16318         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16319         Better debugging of clocking info.
16320         Allow NULL values when getting discont values.
16321
16322 2005-04-27  Wim Taymans  <wim@fluendo.com>
16323
16324         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16325         * check/gst/gstpad.c: (gst_pad_suite):
16326         Increase timeout for checks.
16327
16328 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16329
16330         * check/Makefile.am:
16331           fix the broken rule for cleanup.  Apparently this rule is
16332           only needed on FC2, so maybe this warrants further autotool
16333           inspection.
16334
16335 2005-04-26  Wim Taymans  <wim@fluendo.com>
16336
16337         * gst/gsttrashstack.h:
16338         Ooohh. a nasty one! After having a failed pop() from the stack,
16339         it's possible that the stack is empty. In that case, don't
16340         follow the NULL pointer.
16341
16342 2005-04-25  Wim Taymans  <wim@fluendo.com>
16343
16344         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16345         (gst_pad_set_checkgetrange_function),
16346         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16347         (gst_pad_check_pull_range), (gst_pad_pull_range),
16348         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16349         (gst_pad_pause_task), (gst_pad_stop_task):
16350         * gst/gstplugin.c: (gst_plugin_load):
16351         * gst/gstplugin.h:
16352         Remove gst_library_load as it does more harm than good with
16353         the new g_module flags.
16354         Revert bogus caps template check in pad linking, pad caps
16355         are important when linking not the template, which is more
16356         general than the current caps.
16357
16358 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16359
16360         * gst/autoplug/.cvsignore:
16361         * gst/autoplug/Makefile.am:
16362         * gst/autoplug/gstsearchfuncs.c:
16363         * gst/autoplug/gstsearchfuncs.h:
16364         * gst/autoplug/gstspider.c:
16365         * gst/autoplug/gstspider.h:
16366         * gst/autoplug/gstspideridentity.c:
16367         * gst/autoplug/gstspideridentity.h:
16368         * gst/autoplug/spidertest.c:
16369           Die, spider, die.
16370
16371 2005-04-25  Wim Taymans  <wim@fluendo.com>
16372
16373         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16374         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16375         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16376         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16377         * gst/gstpad.h:
16378         Added stubs for unimplemented functions. 
16379
16380 2005-04-24  David Schleef  <ds@schleef.org>
16381
16382         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
16383         please fix.
16384
16385 2005-04-24  David Schleef  <ds@schleef.org>
16386
16387         Convert everything from GstAtomicInt to g_atomic_int_*, and
16388         remove gstatomic.
16389         * gst/Makefile.am:
16390         * gst/gstatomic.c:
16391         * gst/gstatomic.h:
16392         * gst/gstatomic_impl.h:
16393         * gst/gstbuffer.c:
16394         * gst/gstcaps.c:
16395         * gst/gstcaps.h:
16396         * gst/gstclock.c:
16397         * gst/gstclock.h:
16398         * gst/gstdata.c:
16399         * gst/gstdata.h:
16400         * gst/gstdata_private.h:
16401         * gst/gstevent.c:
16402         * gst/gstinfo.c:
16403         * gst/gstinfo.h:
16404         * gst/gstmessage.c:
16405         * gst/gstobject.c:
16406         * gst/gstobject.h:
16407         * gst/gststructure.c:
16408         * gst/gststructure.h:
16409         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16410         * gst/gstutils.h:
16411
16412 2005-04-24  David Schleef  <ds@schleef.org>
16413
16414         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16415         make the regressions tests work.  Remove some code that is no
16416         longer true.
16417         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16418         Disable warning for pads without templates.
16419
16420 2005-04-24  David Schleef  <ds@schleef.org>
16421
16422         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
16423         functions that handle filtered links.
16424         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16425         removed functions.
16426         * gst/gstutils.c: Fix/remove utility functions that handle
16427         filtered caps.
16428         * gst/gstutils.h:
16429         * gst/gstvalue.c: Add serialization/deserialization of caps
16430         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
16431         requires fixing so that the filter caps notation creates
16432         a capsfilter element and sets the filter_caps property.  I
16433         think everyone probably wants to keep the shorthand notation.
16434         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16435         * docs/gst/tmpl/gstpad.sgml:
16436
16437         * gst/elements/gstelements.c: Register capsfilter element.
16438         * gst/Makefile.am: fix spacing
16439         * docs/random/ds/0.9-suggested-changes: random
16440
16441 2005-04-23  David Schleef  <ds@schleef.org>
16442
16443         * gst/elements/Makefile.am:
16444         * gst/elements/gstcapsfilter.c: New element that acts like an
16445         identity, but filters caps.  Will eventually replace filtered
16446         caps in pad linking.
16447         * gst/gstutils.c: (gst_element_create_all_pads): New function
16448         to create all the ALWAYS pads that are registered with an
16449         element class.  This functionality should eventually be
16450         merged in with GstElement initialization.
16451         * gst/gstutils.h:
16452         * testsuite/trigger/README: part of trigger test code that should
16453         have been checked in a long time ago.
16454
16455 2005-04-23  David Schleef  <ds@schleef.org>
16456
16457         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
16458         needed with new versions of libtool (nobody will confirm this),
16459         and hard to carry around.
16460         * gst/autoplug/Makefile.am:
16461         * gst/base/Makefile.am:
16462         * gst/elements/Makefile.am:
16463         * gst/indexers/Makefile.am:
16464         * gst/schedulers/Makefile.am:
16465         * libs/gst/bytestream/Makefile.am:
16466         * libs/gst/control/Makefile.am:
16467         * libs/gst/dataprotocol/Makefile.am:
16468         * libs/gst/getbits/Makefile.am:
16469
16470 2005-04-21  Wim Taymans  <wim@fluendo.com>
16471
16472         * docs/design/draft-push-pull.txt:
16473         * docs/design/part-MT-refcounting.txt:
16474         * docs/design/part-TODO.txt:
16475         * docs/design/part-caps.txt:
16476         * docs/design/part-events.txt:
16477         * docs/design/part-gstbus.txt:
16478         * docs/design/part-gstpipeline.txt:
16479         * docs/design/part-messages.txt:
16480         * docs/design/part-push-pull.txt:
16481         * docs/design/part-query.txt:
16482         Some more docs.
16483
16484 2005-04-21  Wim Taymans  <wim@fluendo.com>
16485
16486         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16487         (gst_message_new), (gst_message_new_error),
16488         (gst_message_new_warning), (gst_message_new_tag),
16489         (gst_message_new_state_changed), (gst_message_new_application),
16490         (gst_message_get_structure):
16491         * gst/gstmessage.h:
16492         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16493         (gst_structure_copy_conditional):
16494         Use parent refcount in GstMessage to ensure GstStructure
16495         consistency.
16496         Cleaned up headers a bit.
16497         
16498
16499 2005-04-20  Wim Taymans  <wim@fluendo.com>
16500
16501         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16502         (gst_basesink_pad_getcaps), (gst_basesink_init),
16503         (gst_basesink_chain_unlocked):
16504         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16505         (gst_type_find_helper):
16506         * gst/elements/gsttypefindelement.c:
16507         (gst_type_find_element_have_type), (gst_type_find_element_init),
16508         (stop_typefinding), (gst_type_find_element_handle_event),
16509         (find_suggest), (gst_type_find_element_chain),
16510         (gst_type_find_element_checkgetrange),
16511         (gst_type_find_element_getrange), (do_typefind),
16512         (gst_type_find_element_activate):
16513         * gst/gstbuffer.c: (_gst_buffer_sub_free),
16514         (gst_buffer_default_free), (gst_buffer_default_copy),
16515         (gst_buffer_set_caps):
16516         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16517         (gst_caps_replace):
16518         * gst/gstmessage.c: (gst_message_new),
16519         (gst_message_new_state_changed):
16520         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16521         (gst_pad_set_checkgetrange_function),
16522         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16523         (gst_pad_set_caps), (gst_pad_check_pull_range),
16524         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16525         * gst/gstpad.h:
16526         * gst/gsttypefind.c: (gst_type_find_register):
16527         Make gst_caps_replace() work like other _replace() functions.
16528         Use _caps_replace() where possible.
16529         Make sure _message_new() initialises its field.
16530         Add gst_static_pad_template_get_caps()
16531
16532
16533 2005-04-18  Andy Wingo  <wingo@pobox.com>
16534
16535         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16536         on the peer, not the pad. I think that was a typo. Pass an extra
16537         arg to see if random access is possible. Activate the pads as
16538         PULL_RANGE if possible.
16539
16540         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16541
16542         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
16543         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16544         to PROP_....
16545
16546 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16547
16548         * docs/faq/using.xml:
16549           Add note on gstreamer-properties (#154996).
16550
16551 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16552
16553         * docs/random/bbb/optional-properties:
16554           Some analysis on optional properties.
16555
16556 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16557
16558         * docs/gst/tmpl/gstelementfactory.sgml:
16559         * gst/gstelement.h:
16560         * gst/gstelementfactory.c: (gst_element_factory_init),
16561         (gst_element_factory_cleanup), (gst_element_register),
16562         (__gst_element_factory_add_static_pad_template),
16563         (gst_element_factory_get_static_pad_templates),
16564         (gst_element_factory_can_src_caps),
16565         (gst_element_factory_can_sink_caps):
16566         * gst/registries/Makefile.am:
16567         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16568         (gst_xml_registry_class_init), (gst_xml_registry_init),
16569         (gst_xml_registry_new), (gst_xml_registry_set_property),
16570         (gst_xml_registry_get_property), (get_time), (make_dir),
16571         (gst_xml_registry_get_perms_func),
16572         (plugin_times_older_than_recurse), (plugin_times_older_than),
16573         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16574         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16575         (add_to_char_array), (read_string), (read_uint), (read_enum),
16576         (load_pad_template), (load_feature), (load_plugin), (load_paths),
16577         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16578         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16579         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16580         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16581         (gst_xml_registry_rebuild):
16582         * gst/registries/gstlibxmlregistry.h:
16583         * tools/gst-compprep.c: (main):
16584         * tools/gst-inspect.c: (print_pad_templates_info):
16585         * tools/gst-xmlinspect.c: (print_element_info):
16586           Use libxml2 for registry parsing, use staticpadtemplates in
16587           elementfactories. Makes gst_init() +/- 10x faster.
16588
16589 2005-04-12  Wim Taymans  <wim@fluendo.com>
16590
16591         * gst/base/Makefile.am:
16592         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16593         (gst_basesink_pad_getcaps), (gst_basesink_init),
16594         (gst_basesink_event), (gst_basesink_change_state):
16595         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16596         (gst_basesrc_init), (gst_basesrc_query),
16597         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16598         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16599         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16600         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16601         (gst_basesrc_stop), (gst_basesrc_activate),
16602         (gst_basesrc_change_state):
16603         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16604         (helper_find_suggest), (gst_type_find_helper):
16605         * gst/base/gsttypefindhelper.h:
16606         * gst/elements/Makefile.am:
16607         * gst/elements/gstelements.c:
16608         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16609         (gst_fakesink_get_times), (gst_fakesink_event),
16610         (gst_fakesink_preroll), (gst_fakesink_render):
16611         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16612         (gst_fakesrc_init), (gst_fakesrc_event_handler),
16613         (gst_fakesrc_get_property), (gst_fakesrc_create),
16614         (gst_fakesrc_start), (gst_fakesrc_stop):
16615         * gst/elements/gstfakesrc.h:
16616         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
16617         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16618         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16619         (gst_filesrc_create_read), (gst_filesrc_create),
16620         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16621         (gst_filesrc_start):
16622         * gst/elements/gsttypefindelement.c:
16623         (gst_type_find_element_have_type), (gst_type_find_element_init),
16624         (start_typefinding), (stop_typefinding), (push_buffer_store),
16625         (gst_type_find_element_handle_event),
16626         (gst_type_find_element_chain),
16627         (gst_type_find_element_checkgetrange),
16628         (gst_type_find_element_getrange), (do_typefind),
16629         (gst_type_find_element_activate),
16630         (gst_type_find_element_change_state):
16631         * gst/elements/gsttypefindelement.h:
16632         * gst/gstpipeline.c: (pipeline_bus_handler):
16633         Added typefind helper.
16634         Small preroll fix in the base sink.
16635         Disable typefind code in basesrc.
16636         Crude port of typefindelement.
16637         Fakesrc cleanups.
16638
16639
16640 2005-04-11  Wim Taymans  <wim@fluendo.com>
16641
16642         * check/gst/gstbus.c: (gstbus_suite):
16643         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
16644         * check/gstcheck.h:
16645           Fix up the timeout so that the test does not fail.
16646
16647 2005-04-06  Wim Taymans  <wim@fluendo.com>
16648
16649         * gst/base/README:
16650         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16651         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16652         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16653         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16654         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16655         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16656         (gst_basesrc_stop), (gst_basesrc_activate),
16657         (gst_basesrc_change_state), (basesrc_find_peek),
16658         (basesrc_find_suggest), (gst_basesrc_type_find):
16659         * gst/base/gstbasesrc.h:
16660         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16661         (gst_filesrc_class_init), (gst_filesrc_init),
16662         (gst_filesrc_finalize), (gst_filesrc_set_location),
16663         (gst_filesrc_set_property), (gst_filesrc_get_property),
16664         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16665         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16666         (gst_filesrc_create_read), (gst_filesrc_create),
16667         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16668         * gst/elements/gstfilesrc.h:
16669         * gst/gstelement.c: (gst_element_get_state_func),
16670         (gst_element_lost_state), (gst_element_pads_activate):
16671         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16672         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16673         (gst_pad_pull_range):
16674         * gst/gstpad.h:
16675         More work on the generic source base class, implement seeking,
16676         query.
16677         Make filesrc extend the base source class.
16678         Added gst_pad_set_checkgetrange_function to GstPad.
16679
16680 2005-04-06  Andy Wingo  <wingo@pobox.com>
16681
16682         * pkgconfig/gstreamer-base.pc.in:
16683         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16684
16685         * pkgconfig/Makefile.am:
16686         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16687
16688 2005-04-04  Wim Taymans  <wim@fluendo.com>
16689
16690         * gst/base/Makefile.am:
16691         * gst/base/README:
16692         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16693         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16694         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16695         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16696         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16697         (gst_basesrc_base_init), (gst_basesrc_class_init),
16698         (gst_basesrc_init), (gst_basesrc_get_formats),
16699         (gst_basesrc_get_query_types), (gst_basesrc_query),
16700         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16701         (gst_basesrc_set_property), (gst_basesrc_get_property),
16702         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16703         (gst_basesrc_loop), (gst_basesrc_activate),
16704         (gst_basesrc_change_state):
16705         * gst/base/gstbasesrc.h:
16706         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16707         (gst_fakesrc_class_init), (gst_fakesrc_init),
16708         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16709         (gst_fakesrc_get_property), (gst_fakesrc_create):
16710         * gst/elements/gstfakesrc.h:
16711         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16712         (gst_filesrc_open_file), (gst_filesrc_loop),
16713         (gst_filesrc_activate), (filesrc_find_peek),
16714         (gst_filesrc_type_find):
16715         Made base source class, make fakesrc extend it.
16716         Add comments to basesink class.
16717         Some filesrc cleanup.
16718
16719 2005-03-31  David Schleef  <ds@schleef.org>
16720
16721         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16722         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16723         expected to link against libgstreamer.
16724         * gst/base/Makefile.am: link against libgstreamer
16725         * gst/elements/Makefile.am: same
16726
16727 2005-03-31  Andy Wingo  <wingo@pobox.com>
16728
16729         * tests/instantiate/Makefile.am:
16730         * tests/instantiate/caps.c: Add test to test speed of caps copy
16731         and free.
16732
16733         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16734         GMemChunk to be fair.
16735
16736         * gst/gsttrashstack.h: Remove warning about using the fallback
16737         trash stack implementation, it's still faster than malloc.
16738
16739 2005-03-30  Andy Wingo  <wingo@pobox.com>
16740
16741         * tests/complexity.c: Add a copyright.
16742
16743 2005-03-31  Wim Taymans  <wim@fluendo.com>
16744
16745         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16746         (gst_base_transform_class_init), (gst_base_transform_init),
16747         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16748         (gst_base_transform_get_property),
16749         (gst_base_transform_sink_activate),
16750         (gst_base_transform_src_activate),
16751         (gst_base_transform_change_state):
16752         * gst/base/gstbasetransform.h:
16753         * gst/elements/gstidentity.c: (gst_identity_class_init),
16754         (gst_identity_event), (gst_identity_check_perfect),
16755         (gst_identity_transform), (gst_identity_start),
16756         (gst_identity_stop):
16757         Added start/stop methods to transform base class so subclasses 
16758         don't need to deal with state changes even.
16759
16760 2005-03-31  Wim Taymans  <wim@fluendo.com>
16761
16762         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16763         (gst_event_new_discontinuous), (gst_event_discont_get_value):
16764         * gst/gstevent.h:
16765         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16766         (gst_pad_pull_range):
16767         Added rate to the discont event to prepare for variable speed
16768         and reverse playback.
16769
16770 2005-03-29  David Schleef  <ds@schleef.org>
16771
16772         * configure.ac:
16773         * testsuite/trigger/Makefile.am:
16774         * testsuite/trigger/trigger.c: A little example program to show
16775         how trigger-based elements can work.
16776
16777 2005-03-29  Wim Taymans  <wim@fluendo.com>
16778
16779         * gst/base/Makefile.am:
16780         * gst/base/README:
16781         * gst/base/gstbasesink.c: (gst_basesink_get_type),
16782         (gst_basesink_base_init), (gst_basesink_class_init),
16783         (gst_basesink_pad_getcaps), (gst_basesink_init),
16784         (gst_basesink_activate), (gst_basesink_change_state):
16785         * gst/base/gstbasesink.h:
16786         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
16787         (gst_base_transform_base_init), (gst_base_transform_finalize),
16788         (gst_base_transform_class_init), (gst_base_transform_init),
16789         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
16790         (gst_base_transform_event), (gst_base_transform_getrange),
16791         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
16792         (gst_base_transform_set_property),
16793         (gst_base_transform_get_property),
16794         (gst_base_transform_sink_activate),
16795         (gst_base_transform_src_activate),
16796         (gst_base_transform_change_state):
16797         * gst/base/gstbasetransform.h:
16798         * gst/elements/gstidentity.c: (gst_identity_finalize),
16799         (gst_identity_class_init), (gst_identity_init),
16800         (gst_identity_event), (gst_identity_check_perfect),
16801         (gst_identity_transform), (gst_identity_set_property),
16802         (gst_identity_get_property), (gst_identity_change_state):
16803         * gst/elements/gstidentity.h:
16804         * gst/gstelement.c: (gst_element_get_state_func),
16805         (gst_element_lost_state), (gst_element_pads_activate):
16806         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16807         (gst_pad_check_pull_range), (gst_pad_pull_range):
16808         * gst/gstpad.h:
16809         Simplify pad activation.
16810         Added function to check if pull_range can be performed.
16811         Error out when pulling inactive or flushing pads.
16812         Removed const from refcounted types as it does not make sense.
16813         Simplify pad templates in basesink
16814         Added base class for simple 1-to-1 transforms.
16815         Make identity subclass the base transform.
16816
16817 2005-03-29  Andy Wingo  <wingo@pobox.com>
16818
16819         * docs/libs/gstreamer-libs-overrides.txt: 
16820         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
16821         really don't understand what's going on, but like whatever. I want
16822         green buildbot!
16823
16824         * docs/gst/Makefile.am:
16825         * docs/libs/Makefile.am: Dist the overrides files.
16826
16827         * check/Makefile.am (clean-local): Remove .libs directories.
16828
16829         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
16830         elements to EXTRA_DIST, so po/ files are happy.
16831
16832         * po/POTFILES.in: Er, remove it here.
16833
16834         * po/POTFILES: Remove gstspider.c.
16835
16836         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
16837
16838         * docs/libs/gstreamer-libs-docs.sgml: 
16839         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
16840         bytestream.
16841
16842         * tests/complexity.c (main): Set the length of the preroll queue
16843         on the sinks to prevent a lockup.
16844
16845         * libs/gst/dataprotocol/Makefile.am: 
16846         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
16847         the same as the one in check/gst-libs/gdp.c.
16848
16849         * po/, docs/gst/: Commit automatic changes to docs and po files.
16850
16851         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
16852         the versioned libgstbase.
16853
16854         * check/Makefile.am: Depend on an unversioned gst-register, seems
16855         to make autoconf happier.
16856
16857         * gst/base/Makefile.am: Make libgstbase a versioned lib.
16858
16859 2005-03-28  Wim Taymans  <wim@fluendo.com>
16860
16861         * configure.ac:
16862         * docs/design/part-gstelement.txt:
16863         * docs/design/part-negotiation.txt:
16864         * docs/design/part-preroll.txt:
16865         * docs/design/part-scheduling.txt:
16866         * docs/design/part-states.txt:
16867         * gst/Makefile.am:
16868         * gst/base/Makefile.am:
16869         * gst/base/README:
16870         * gst/base/gstbasesink.c: (gst_basesink_get_template),
16871         (gst_basesink_base_init), (gst_basesink_class_init),
16872         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16873         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16874         (gst_basesink_set_pad_functions),
16875         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
16876         (gst_basesink_set_property), (gst_basesink_get_property),
16877         (gst_base_sink_get_template), (gst_base_sink_get_caps),
16878         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
16879         (gst_basesink_preroll_queue_push),
16880         (gst_basesink_preroll_queue_empty),
16881         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
16882         (gst_basesink_event), (gst_basesink_get_times),
16883         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
16884         (gst_basesink_chain_unlocked), (gst_basesink_chain),
16885         (gst_basesink_loop), (gst_basesink_activate),
16886         (gst_basesink_change_state):
16887         * gst/base/gstbasesink.h:
16888         * gst/elements/Makefile.am:
16889         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
16890         (gst_fakesink_class_init), (gst_fakesink_init),
16891         (gst_fakesink_set_property), (gst_fakesink_get_property),
16892         (gst_fakesink_get_times), (gst_fakesink_event),
16893         (gst_fakesink_preroll), (gst_fakesink_render),
16894         (gst_fakesink_change_state):
16895         * gst/elements/gstfakesink.h:
16896         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16897         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
16898         * gst/gstelement.c: (gst_element_add_pad),
16899         (gst_element_get_state_func), (gst_element_abort_state),
16900         (gst_element_commit_state), (gst_element_lost_state),
16901         (gst_element_set_state), (gst_element_pads_activate):
16902         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
16903         * gst/gstpipeline.c: (gst_pipeline_send_event),
16904         (gst_pipeline_change_state):
16905         Added state change code.
16906         Added/updated docs.
16907         Added sink base class, make fakesink extend the base class.
16908         Small cleanups in GstPipeline.
16909
16910 2005-03-26  David Schleef  <ds@schleef.org>
16911
16912         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
16913         is broken and should be implemented in a different library.
16914         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
16915         * gst/gst.h: remove gstcpu.h
16916         * gst/gstcpu.c: remove
16917         * gst/gstcpu.h: remove
16918         * gst/Makefile.am.future: Remove this file.  It's ancient.
16919
16920 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16921
16922         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16923         (gst_bin_send_event):
16924           Add default event/set_manager handlers. The set_manager handler
16925           takes care that the manager is distributed over kids that were
16926           already in the bin before the manager was set. The event handler
16927           is a utility virtual function that sends the event over all sinks,
16928           so that gst_element_send_event (bin, event); has the expected
16929           behaviour.
16930         * gst/gstpad.c: (gst_pad_event_default):
16931           Re-install default event handling for discontinuities, so that
16932           seeking works without requiring hacks in applications or extra
16933           code in sinks.
16934         * gst/gstpipeline.c: (gst_pipeline_class_init),
16935         (gst_pipeline_send_event):
16936           Half hack, half utility: set a pipeline to PAUSED for seek events,
16937           since that is the only way we can guarantee a/v sync. Means that
16938           you can do gst_element_seek (pipeline, method, pos); on a pipeline
16939           and it "just works".
16940
16941 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16942
16943         * gst/gstpipeline.c: (gst_pipeline_use_clock):
16944           Lock/unlock mismatch.
16945
16946 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
16947
16948         * docs/faq/gst-uninstalled:
16949           add gst-plugins-base
16950         * docs/gst/Makefile.am:
16951           don't error out until docs are fixed
16952         * docs/gst/gstreamer.types:
16953           remove thread
16954
16955 2005-03-22  Wim Taymans  <wim@fluendo.com>
16956
16957         * check/Makefile.am:
16958         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
16959         * gst/gststructure.c: (gst_structure_set_valist),
16960         (gst_structure_copy_conditional):
16961         Activated more tests.
16962         Added message test.
16963         Added G_TYPE_POINTER to GstStructure.
16964         
16965
16966 2005-03-22  Wim Taymans  <wim@fluendo.com>
16967
16968         * docs/design/part-TODO.txt:
16969         * docs/design/part-events.txt:
16970         * docs/design/part-gstbin.txt:
16971         * docs/design/part-gstbus.txt:
16972         * docs/design/part-gstpipeline.txt:
16973         * docs/design/part-messages.txt:
16974         * gst/gstbus.c:
16975         * gst/gstmessage.c:
16976         Docs updates
16977
16978 2005-03-21  Wim Taymans  <wim@fluendo.com>
16979
16980         * gst/gstbus.c: (gst_bus_post):
16981         Fix copy-and-paste error.
16982
16983 2005-03-21  Wim Taymans  <wim@fluendo.com>
16984
16985         * check/Makefile.am:
16986         * gst/Makefile.am:
16987         * gst/elements/Makefile.am:
16988         * gst/elements/gstelements.c:
16989         * gst/elements/gstfakesink.c: (gst_fakesink_init),
16990         (gst_fakesink_event), (gst_fakesink_chain):
16991         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16992         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
16993         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
16994         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
16995         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
16996         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
16997         (gst_fakesrc_loop), (gst_fakesrc_activate),
16998         (gst_fakesrc_change_state):
16999         * gst/elements/gstfakesrc.h:
17000         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17001         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17002         (gst_filesrc_open_file), (gst_filesrc_loop),
17003         (gst_filesrc_activate), (gst_filesrc_change_state),
17004         (filesrc_find_peek), (filesrc_find_suggest),
17005         (gst_filesrc_type_find):
17006         * gst/elements/gstidentity.c: (gst_identity_finalize),
17007         (gst_identity_class_init), (gst_identity_init),
17008         (gst_identity_proxy_getcaps), (identity_queue_push),
17009         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17010         (gst_identity_getrange), (gst_identity_chain),
17011         (gst_identity_sink_loop), (gst_identity_src_loop),
17012         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17013         (gst_identity_set_property), (gst_identity_get_property),
17014         (gst_identity_change_state):
17015         * gst/elements/gstidentity.h:
17016         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17017         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17018         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17019         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17020         (gst_tee_sink_activate):
17021         * gst/elements/gsttee.h:
17022         * gst/gst.c: (gst_register_core_elements), (init_post):
17023         * gst/gst.h:
17024         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17025         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17026         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17027         (gst_bin_change_state):
17028         * gst/gstbin.h:
17029         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17030         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17031         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17032         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17033         (gst_bus_set_sync_handler), (gst_bus_create_watch),
17034         (bus_watch_callback), (bus_watch_destroy),
17035         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17036         (poll_timeout), (gst_bus_poll):
17037         * gst/gstbus.h:
17038         * gst/gstcaps.h:
17039         * gst/gstdata.h:
17040         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17041         (gst_element_post_message), (gst_element_message_full),
17042         (gst_element_get_state_func), (gst_element_get_state),
17043         (gst_element_abort_state), (gst_element_commit_state),
17044         (gst_element_lost_state), (gst_element_set_state),
17045         (gst_element_pads_activate), (gst_element_change_state),
17046         (gst_element_dispose), (gst_element_set_manager_func),
17047         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17048         (gst_element_set_manager), (gst_element_get_manager),
17049         (gst_element_set_bus), (gst_element_get_bus),
17050         (gst_element_set_scheduler), (gst_element_get_scheduler):
17051         * gst/gstelement.h:
17052         * gst/gstevent.c: (gst_event_new_segment_seek),
17053         (gst_event_new_flush):
17054         * gst/gstevent.h:
17055         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17056         (_gst_message_free), (gst_message_get_type), (gst_message_new),
17057         (gst_message_new_eos), (gst_message_new_error),
17058         (gst_message_new_warning), (gst_message_new_tag),
17059         (gst_message_new_state_changed), (gst_message_new_application),
17060         (gst_message_get_structure), (gst_message_parse_tag),
17061         (gst_message_parse_state_changed), (gst_message_parse_error),
17062         (gst_message_parse_warning):
17063         * gst/gstmessage.h:
17064         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17065         (gst_real_pad_set_property), (gst_pad_set_active),
17066         (gst_pad_is_active), (gst_pad_set_blocked_async),
17067         (gst_pad_set_blocked), (gst_pad_is_blocked),
17068         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17069         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17070         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17071         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17072         (gst_pad_link_filtered), (gst_pad_relink_filtered),
17073         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17074         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17075         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17076         (gst_pad_set_caps), (gst_pad_configure_sink),
17077         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17078         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17079         (gst_real_pad_dispose), (gst_real_pad_finalize),
17080         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17081         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17082         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17083         * gst/gstpad.h:
17084         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17085         (pipeline_bus_handler), (gst_pipeline_change_state),
17086         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17087         * gst/gstpipeline.h:
17088         * gst/gstprobe.h:
17089         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17090         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17091         (gst_queue_link_src), (gst_queue_bufferalloc),
17092         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17093         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17094         (gst_queue_loop), (gst_queue_handle_src_event),
17095         (gst_queue_handle_src_query), (gst_queue_src_activate),
17096         (gst_queue_change_state):
17097         * gst/gstqueue.h:
17098         * gst/gstscheduler.c: (gst_scheduler_init),
17099         (gst_scheduler_dispose), (gst_scheduler_create_task),
17100         (gst_scheduler_factory_create):
17101         * gst/gstscheduler.h:
17102         * gst/gststructure.c: (gst_structure_get_type),
17103         (gst_structure_copy_conditional):
17104         * gst/gststructure.h:
17105         * gst/gsttaginterface.h:
17106         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17107         (gst_task_init), (gst_task_dispose), (gst_task_create),
17108         (gst_task_get_state), (gst_task_start), (gst_task_stop),
17109         (gst_task_pause):
17110         * gst/gsttask.h:
17111         * gst/gstthread.c:
17112         * gst/gstthread.h:
17113         * gst/gsttypes.h:
17114         * gst/schedulers/Makefile.am:
17115         * gst/schedulers/cothreads_compat.h:
17116         * gst/schedulers/entryscheduler.c:
17117         * gst/schedulers/faircothreads.c:
17118         * gst/schedulers/faircothreads.h:
17119         * gst/schedulers/fairscheduler.c:
17120         * gst/schedulers/gstbasicscheduler.c:
17121         * gst/schedulers/gstoptimalscheduler.c:
17122         * gst/schedulers/gthread-cothreads.h:
17123         * gst/schedulers/threadscheduler.c:
17124         (gst_thread_scheduler_task_get_type),
17125         (gst_thread_scheduler_task_class_init),
17126         (gst_thread_scheduler_task_init),
17127         (gst_thread_scheduler_task_start),
17128         (gst_thread_scheduler_task_stop),
17129         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17130         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17131         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17132         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17133         (plugin_init):
17134         * libs/gst/Makefile.am:
17135         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17136         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17137         (gst_file_pad_parent_set):
17138         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17139         (gst_dp_event_from_packet):
17140         * tests/complexity.c: (main):
17141         * tests/mass_elements.c: (main):
17142         * testsuite/states/locked.c: (message_received), (main):
17143         * testsuite/states/parent.c: (main):
17144         * tools/gst-inspect.c: (print_element_flag_info),
17145         (print_implementation_info), (print_pad_info):
17146         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17147         (main):
17148         * tools/gst-md5sum.c: (event_loop), (main):
17149         * tools/gst-typefind.c: (main):
17150         * tools/gst-xmlinspect.c: (print_element_info):
17151         Next big merge.
17152         Added GstBus for mainloop integration.
17153         Added GstMessage for sending notifications on the bus.
17154         Added GstTask as an abstraction for pipeline entry points.
17155         Removed GstThread.
17156         Removed Schedulers.
17157         Simplified GstQueue for multithreaded core.
17158         Made _link threadsafe, removed old capsnego.
17159         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17160         Added pad blocking functions.
17161         Reworked scheduling functions in GstPad to prepare for
17162         scheduling updates soon.
17163         Moved events out of data stream.
17164         Simplified GstEvent types.
17165         Added return values to push/pull.
17166         Removed clocking from GstElement.
17167         Added prototypes for state change function for next merge.
17168         Removed iterate from bins and state change management.
17169         Fixed some elements, disabled others for now.
17170         Fixed -inspect and -launch.
17171         Added check for GstBus.
17172
17173 2005-03-10  Wim Taymans  <wim@fluendo.com>
17174
17175         * docs/design/part-MT-refcounting.txt:
17176         * docs/design/part-clocks.txt:
17177         * docs/design/part-gstelement.txt:
17178         * docs/design/part-gstobject.txt:
17179         * docs/design/part-standards.txt:
17180         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17181         (gst_bin_remove_func), (gst_bin_remove):
17182         * gst/gstbin.h:
17183         * gst/gstbuffer.c:
17184         * gst/gstcaps.h:
17185         * testsuite/clock/clock1.c: (main):
17186         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17187         (main):
17188         * testsuite/dlopen/loadgst.c: (do_test):
17189         * testsuite/refcounting/bin.c: (add_remove_test1),
17190         (add_remove_test2), (main):
17191         * testsuite/refcounting/element.c: (main):
17192         * testsuite/refcounting/element_pad.c: (main):
17193         * testsuite/refcounting/pad.c: (main):
17194         * tools/gst-launch.c: (sigint_handler_sighandler):
17195         * tools/gst-typefind.c: (main):
17196         Doc updates.
17197         Added doc about clock.
17198         removed gst_bin_iterate_recurse_up(), marked methods
17199         for removal.
17200         Fix more testsuites.
17201
17202 2005-03-09  Wim Taymans  <wim@fluendo.com>
17203
17204         * gst/gstpad.c: (gst_pad_get_direction),
17205         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17206         (gst_pad_collect_valist):
17207         * testsuite/bins/interface.c: (main):
17208         * testsuite/caps/audioscale.c: (test_caps):
17209         * testsuite/caps/caps.c: (test1), (test2), (test3):
17210         * testsuite/caps/deserialize.c: (main):
17211         * testsuite/caps/enumcaps.c: (main):
17212         * testsuite/caps/filtercaps.c: (main):
17213         * testsuite/caps/intersect2.c: (main):
17214         * testsuite/caps/random.c: (main):
17215         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17216         * testsuite/caps/sets.c: (check_caps):
17217         * testsuite/caps/simplify.c: (check_caps), (main):
17218         * testsuite/caps/subtract.c: (check_caps):
17219         Fix _pad_get_direction wrt ghostpads.
17220         Fix caps testsuite.
17221
17222 2005-03-09  Wim Taymans  <wim@fluendo.com>
17223
17224         * check/Makefile.am:
17225         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17226         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17227         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17228         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17229         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17230         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17231         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17232         (bin_element_is_sink), (gst_bin_iterate_sinks),
17233         (gst_bin_iterate_all_by_interface):
17234         * gst/gstbin.h:
17235         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17236         (gst_element_change_state), (gst_element_dispose),
17237         (gst_element_finalize), (gst_element_set_loop_function):
17238         * gst/gstelement.h:
17239         * gst/gstiterator.c: (find_custom_fold_func):
17240         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17241         (gst_pad_collectv), (gst_pad_collect_valist),
17242         (gst_pad_template_new):
17243         * gst/gstpipeline.c: (gst_pipeline_class_init),
17244         (gst_pipeline_dispose), (gst_pipeline_set_property),
17245         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17246         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17247         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17248         * gst/gstutils.h:
17249         * gst/schedulers/entryscheduler.c:
17250         * gst/schedulers/gstbasicscheduler.c:
17251         (gst_basic_scheduler_cothreaded_chain),
17252         (gst_basic_scheduler_chain_add_element):
17253         * testsuite/bins/interface.c: (main):
17254         Added GstBin test.
17255         Added GstSystemClock test.
17256         Implemented clock distribution code in GstBin.
17257         Implemented iterate sinks method for future use.
17258         Rearranged gstelement.h
17259         Fix GstIterator comparison bug.
17260         Moved some code to GstPipeline, mostly clocking related.
17261
17262 2005-03-09  Wim Taymans  <wim@fluendo.com>
17263
17264         * configure.ac:
17265         * gst/gst_private.h:
17266         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17267         (gst_bin_remove_func), (gst_bin_remove),
17268         (gst_bin_get_by_name_recurse_up):
17269         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17270         (gst_clock_id_compare_func), (gst_clock_id_wait),
17271         (gst_clock_id_wait_async), (gst_clock_init),
17272         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17273         * gst/gstelement.h:
17274         * gst/gstinfo.c: (_gst_debug_init):
17275         * gst/gstobject.h:
17276         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17277         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17278         * gst/gstpad.h:
17279         Bump version number, we're now 0.9.0
17280         Add future debugging category.
17281         Fix NULL _unref() in _get_by_name_recurse_up
17282         Rearrange gstpad.h.
17283         Update some docs.
17284
17285 2005-03-08  Wim Taymans  <wim@fluendo.com>
17286
17287         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17288         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17289         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17290         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17291         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17292         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17293         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17294         * gst/elements/gstidentity.c: (gst_identity_class_init):
17295         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17296         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17297         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17298         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17299         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17300         (gst_tee_link):
17301         * gst/gstelement.c: (gst_element_class_init),
17302         (gst_element_base_class_init), (gst_element_init),
17303         (gst_element_get_random_pad), (gst_element_wait_state_change),
17304         (gst_element_change_state), (gst_element_dispose),
17305         (gst_element_finalize), (gst_element_set_loop_function):
17306         * gst/gstelement.h:
17307         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17308         * gst/gstthread.c: (gst_thread_class_init),
17309         (gst_thread_release_children_locks), (gst_thread_change_state):
17310         * gst/schedulers/gstbasicscheduler.c:
17311         (gst_basic_scheduler_loopfunc_wrapper),
17312         (gst_basic_scheduler_chain_wrapper),
17313         (gst_basic_scheduler_src_wrapper),
17314         (gst_basic_scheduler_remove_element):
17315         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17316         Remove threadsafe properties. Fix elements because GObject
17317         complains when installing a property before declaring a
17318         set/get_property handler.
17319         Rearrange gstelement.h file, use STATE macros for state locks.
17320         Free mutexes in the finalize method instead of dispose.
17321
17322 2005-03-08  Wim Taymans  <wim@fluendo.com>
17323
17324         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17325         * gst/gstthread.c: (gst_thread_release_children_locks):
17326         Added parentage check.
17327         Fix build og GstThread again.
17328
17329 2005-03-08  Wim Taymans  <wim@fluendo.com>
17330
17331         * docs/design/part-MT-refcounting.txt:
17332         * docs/design/part-conventions.txt:
17333         * docs/design/part-gstobject.txt:
17334         * docs/design/part-relations.txt:
17335         * docs/design/part-standards.txt:
17336         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17337         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17338         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17339         (gst_bin_iterate_all_by_interface):
17340         * gst/gstbuffer.h:
17341         * gst/gstclock.h:
17342         * gst/gstelement.c: (gst_element_class_init),
17343         (gst_element_change_state), (gst_element_set_loop_function):
17344         * gst/gstelement.h:
17345         * gst/gstiterator.c:
17346         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17347         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17348         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17349         (gst_object_set_parent), (gst_object_unparent),
17350         (gst_object_check_uniqueness):
17351         * gst/gstobject.h:
17352         Docs updates, clean up some headers.
17353
17354 2005-03-07  Wim Taymans  <wim@fluendo.com>
17355
17356         * check/.cvsignore:
17357         * check/Makefile.am:
17358         * check/gst-libs/.cvsignore:
17359         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17360         * check/gst/.cvsignore:
17361         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17362         (START_TEST), (gstbus_suite), (main):
17363         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17364         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17365         (gst_data_suite), (main):
17366         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17367         (add_fold_func), (gstiterator_suite), (main):
17368         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17369         (thread_name_object), (thread_name_object_default),
17370         (gst_object_name_compare), (gst_object_suite), (main):
17371         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17372         (gst_pad_suite), (main):
17373         * check/gstcheck.c: (gst_check_log_message_func),
17374         (gst_check_log_critical_func), (gst_check_init):
17375         * check/gstcheck.h:
17376         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17377         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17378         Added checks.
17379
17380 2005-03-07  Wim Taymans  <wim@fluendo.com>
17381
17382         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17383         (gst_list_iterator_next), (gst_list_iterator_resync),
17384         (gst_list_iterator_free), (gst_iterator_new_list),
17385         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17386         (gst_iterator_free), (gst_iterator_push), (filter_next),
17387         (filter_resync), (filter_uninit), (filter_free),
17388         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17389         (gst_iterator_foreach), (find_custom_fold_func),
17390         (gst_iterator_find_custom):
17391         * gst/gstiterator.h:
17392         Added missing files.
17393
17394 2005-03-07  Wim Taymans  <wim@fluendo.com>
17395
17396         * Makefile.am:
17397         * configure.ac:
17398         * docs/design/part-MT-refcounting.txt:
17399         * docs/design/part-conventions.txt:
17400         * docs/design/part-gstobject.txt:
17401         * docs/design/part-relations.txt:
17402         * examples/mixer/mixer.c: (main):
17403         * examples/thread/thread.c: (eos), (main):
17404         * gst/Makefile.am:
17405         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17406         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17407         (gst_spider_plug_from_srcpad):
17408         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17409         (gst_spider_identity_change_state),
17410         (gst_spider_identity_sink_loop_type_finding):
17411         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17412         * gst/elements/gstidentity.c: (gst_identity_init):
17413         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17414         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17415         * gst/elements/gsttypefindelement.c: (free_entry):
17416         * gst/gst.c:
17417         * gst/gst.h:
17418         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17419         (gst_bin_set_clock_func), (gst_bin_auto_clock),
17420         (gst_bin_set_index), (gst_bin_set_element_sched),
17421         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17422         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17423         (gst_bin_iterate_elements), (iterate_child_recurse),
17424         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17425         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17426         (compare_interface), (gst_bin_get_by_interface),
17427         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17428         * gst/gstbin.h:
17429         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17430         (gst_buffer_default_free), (gst_buffer_default_copy),
17431         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17432         (gst_buffer_create_sub):
17433         * gst/gstbuffer.h:
17434         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17435         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17436         (gst_caps_unref), (gst_static_caps_get),
17437         (gst_caps_remove_and_get_structure), (gst_caps_append),
17438         (gst_caps_append_structure), (gst_caps_remove_structure),
17439         (gst_caps_copy_nth), (gst_caps_set_simple),
17440         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17441         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17442         (gst_caps_structure_intersect_field), (gst_caps_intersect),
17443         (gst_caps_structure_subtract_field), (gst_caps_subtract),
17444         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17445         (gst_caps_structure_figure_out_union),
17446         (gst_caps_switch_structures), (gst_caps_do_simplify),
17447         (gst_caps_replace), (gst_caps_from_string),
17448         (gst_caps_copy_conditional):
17449         * gst/gstcaps.h:
17450         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17451         (_gst_clock_id_free), (gst_clock_id_unref),
17452         (gst_clock_id_compare_func), (gst_clock_id_wait),
17453         (gst_clock_id_wait_async), (gst_clock_class_init),
17454         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17455         (gst_clock_get_time), (gst_clock_set_time_adjust),
17456         (gst_clock_set_property), (gst_clock_get_property):
17457         * gst/gstclock.h:
17458         * gst/gstcompat.h:
17459         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17460         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17461         * gst/gstdata.h:
17462         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17463         (gst_element_requires_clock), (gst_element_provides_clock),
17464         (gst_element_set_clock), (gst_element_clock_wait),
17465         (gst_element_wait), (gst_element_set_time_delay),
17466         (gst_element_is_indexable), (gst_element_add_pad),
17467         (gst_element_add_ghost_pad), (gst_element_remove_pad),
17468         (pad_compare_name), (gst_element_get_static_pad),
17469         (gst_element_request_pad), (gst_element_get_request_pad),
17470         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17471         (gst_element_class_get_pad_template_list),
17472         (gst_element_class_get_pad_template), (gst_element_error_func),
17473         (gst_element_get_random_pad), (gst_element_get_event_masks),
17474         (gst_element_send_event), (gst_element_seek),
17475         (gst_element_get_query_types), (gst_element_query),
17476         (gst_element_get_formats), (gst_element_convert),
17477         (gst_element_is_locked_state), (gst_element_set_locked_state),
17478         (gst_element_sync_state_with_parent), (gst_element_change_state),
17479         (gst_element_finalize), (gst_element_yield),
17480         (gst_element_interrupt), (gst_element_set_scheduler),
17481         (gst_element_get_scheduler), (gst_element_set_loop_function):
17482         * gst/gstelement.h:
17483         * gst/gstevent.h:
17484         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17485         (gst_format_get_by_nick), (gst_format_get_details),
17486         (gst_format_iterate_definitions):
17487         * gst/gstformat.h:
17488         * gst/gstindex.c: (gst_index_gtype_resolver):
17489         * gst/gstinfo.c:
17490         * gst/gstinfo.h:
17491         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17492         (gst_mem_chunk_free):
17493         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17494         (gst_object_ref), (gst_object_unref), (gst_object_sink),
17495         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17496         (gst_object_dispatch_properties_changed),
17497         (gst_object_set_name_default), (gst_object_set_name),
17498         (gst_object_get_name), (gst_object_set_name_prefix),
17499         (gst_object_get_name_prefix), (gst_object_set_parent),
17500         (gst_object_get_parent), (gst_object_unparent),
17501         (gst_object_check_uniqueness), (gst_object_save_thyself),
17502         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17503         (gst_object_set_property), (gst_object_get_property),
17504         (gst_object_get_path_string):
17505         * gst/gstobject.h:
17506         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17507         (gst_real_pad_init), (gst_real_pad_get_property),
17508         (gst_pad_custom_new), (gst_pad_get_direction),
17509         (gst_pad_set_active), (gst_pad_is_active),
17510         (gst_pad_set_event_function), (gst_pad_is_linked),
17511         (gst_pad_link_free), (gst_pad_link_intersect),
17512         (gst_pad_link_fixate), (gst_pad_set_caps),
17513         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17514         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17515         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17516         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17517         (gst_pad_get_caps), (gst_pad_peer_get_caps),
17518         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17519         (gst_pad_realize), (gst_pad_get_allowed_caps),
17520         (gst_real_pad_dispose), (gst_real_pad_finalize),
17521         (gst_pad_collectv), (gst_pad_collect_valist),
17522         (gst_pad_template_dispose), (gst_pad_template_new),
17523         (gst_pad_get_internal_links):
17524         * gst/gstpad.h:
17525         * gst/gstpipeline.c: (gst_pipeline_dispose),
17526         (gst_pipeline_change_state):
17527         * gst/gstpipeline.h:
17528         * gst/gstplugin.c:
17529         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17530         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17531         * gst/gstpluginfeature.h:
17532         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17533         * gst/gstquery.c: (_gst_query_type_initialize),
17534         (gst_query_type_register), (gst_query_type_get_by_nick),
17535         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17536         * gst/gstquery.h:
17537         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17538         * gst/gstscheduler.c: (gst_scheduler_add_element),
17539         (gst_scheduler_factory_create):
17540         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17541         (gst_structure_free), (gst_structure_set_name),
17542         (gst_structure_id_set_value), (gst_structure_set_value),
17543         (gst_structure_set_valist), (gst_structure_remove_field),
17544         (gst_structure_remove_fields),
17545         (gst_structure_remove_fields_valist),
17546         (gst_structure_remove_all_fields), (gst_structure_foreach),
17547         (gst_structure_map_in_place),
17548         (gst_caps_structure_fixate_field_nearest_int),
17549         (gst_caps_structure_fixate_field_nearest_double):
17550         * gst/gststructure.h:
17551         * gst/gstsystemclock.c: (gst_system_clock_class_init),
17552         (gst_system_clock_init), (gst_system_clock_dispose),
17553         (gst_system_clock_async_thread),
17554         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17555         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17556         * gst/gstsystemclock.h:
17557         * gst/gsttag.c: (gst_tag_list_add_value_internal),
17558         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17559         * gst/gsttaginterface.c:
17560         * gst/gstthread.c: (gst_thread_dispose),
17561         (gst_thread_release_children_locks), (gst_thread_change_state),
17562         (gst_thread_main_loop):
17563         * gst/gsttrashstack.h:
17564         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17565         * gst/gsttypes.h:
17566         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17567         (gst_element_request_pad), (gst_element_get_pad_from_template),
17568         (gst_element_request_compatible_pad),
17569         (gst_element_get_compatible_pad_filtered),
17570         (gst_element_get_compatible_pad), (gst_element_state_get_name),
17571         (gst_element_link_pads_filtered), (gst_element_link_filtered),
17572         (gst_element_link_many), (gst_element_link),
17573         (gst_element_link_pads), (gst_element_unlink_pads),
17574         (gst_element_unlink_many), (gst_element_unlink),
17575         (gst_pad_can_link_filtered), (gst_pad_can_link),
17576         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17577         (gst_object_default_error), (gst_bin_add_many),
17578         (gst_bin_remove_many), (gst_element_populate_std_props),
17579         (gst_element_class_install_std_props), (gst_buffer_merge),
17580         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17581         (link_fold_func), (gst_pad_proxy_setcaps):
17582         * gst/gstutils.h:
17583         * gst/gstvalue.c: (gst_value_deserialize_string):
17584         * gst/parse/grammar.y:
17585         * gst/schedulers/gstbasicscheduler.c:
17586         (gst_basic_scheduler_cothreaded_chain),
17587         (gst_basic_scheduler_chain_recursive_add),
17588         (gst_basic_scheduler_pad_link):
17589         * gst/schedulers/gstoptimalscheduler.c:
17590         (get_group_schedule_function),
17591         (gst_opt_scheduler_state_transition),
17592         (gst_opt_scheduler_add_element), (element_get_reachables_func):
17593         * libs/gst/bytestream/bytestream.c:
17594         * libs/gst/dataprotocol/dataprotocol.c:
17595         (gst_dp_header_from_buffer):
17596         * po/nb.po:
17597         * po/ru.po:
17598         * tests/threadstate/threadstate2.c: (eos):
17599         * tools/gst-compprep.c: (main):
17600         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17601         (print_pad_info), (print_children_info):
17602         * tools/gst-launch.c: (idle_func), (main):
17603         * tools/gst-md5sum.c: (idle_func), (main):
17604         * tools/gst-xmlinspect.c: (print_element_info):
17605         First THREADED backport attempt, focusing on adding locks and
17606         making sure the API is threadsafe. Needs more work. More docs
17607         follow this week.
17608
17609 2005-02-24  Andy Wingo  <wingo@pobox.com>
17610
17611         * tests/bench-complexity.scm:
17612         * tests/complexity.gnuplot: New files, good for running complexity
17613         benchmarks.
17614
17615         * tests/Makefile.am:
17616         * tests/complexity.c: New test, sets up N elements, at each level
17617         teeing into M streams per element. Eeeenteresting.
17618
17619         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
17620         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17621         running bench-mass_elements.scm.
17622
17623         * tests/bench-mass_elements.scm: New script, runs mass_elements
17624         for various numbers of identities, outputting the results to a
17625         file. Requires guile 1.6. Just for testing.
17626
17627 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17628
17629         * gst/schedulers/fairscheduler.c:
17630           compile with debug disabled
17631
17632 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17633
17634         * configure.ac:
17635           hunting season on 0.9 is now OPEN