autogen.sh: Add default for new --enable-plugin-docs switch.
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * autogen.sh:
4           Add default for new --enable-plugin-docs switch.
5
6         * configure.ac:
7           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
8           Fixes #344039.
9
10         * docs/Makefile.am:
11           Use new ENABLE_PLUGIN_DOCS conditional.
12
13 2006-06-14  Wim Taymans  <wim@fluendo.com>
14
15         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
16         Make it clear with a FIXME and a real define what the #if 0
17         previously disabled.
18
19 2006-06-14  Wim Taymans  <wim@fluendo.com>
20
21         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
22         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
23         * libs/gst/base/gstbasetransform.c:
24         (gst_base_transform_sink_eventfunc):
25         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
26         Don't randomly and silently reset a segment when the format 
27         changes as this is a bug somewhere upstream. Fixes #330379.
28
29 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
30
31         Patch by: Wouter Paesen  <wouter at kangaroot net>
32
33         * libs/gst/controller/gstcontroller.c:
34         (gst_controlled_property_new):
35           Fix controlling of float properties (#344849).
36
37         * tests/check/libs/controller.c:
38         (gst_test_mono_source_get_property),
39         (gst_test_mono_source_set_property),
40         (gst_test_mono_source_class_init), (GST_START_TEST):
41           While we're at it, add some float stuff to unit test.
42
43 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
44
45         * docs/README:
46         * docs/images/gdp-header.svg:
47           add a gdp image
48         * docs/libs/Makefile.am:
49         * docs/libs/gdp-header.png:
50         * libs/gst/dataprotocol/dataprotocol.c:
51           add it to the API docs
52         * docs/manual/intro-motivation.xml:
53           fix typo
54
55 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
56
57         * gst/gst.c: (scan_and_update_registry), (init_post):
58           If the fork()'ed child process can't write the updated registry cache
59           file to disk for some reason, make it exit with a failure exit code,
60           so that the parent can then re-scan the plugins itself and update the
61           registry structures in memory and work with that (rather than failing
62           when creating elements because seemingly no plugins are available).
63           Refactor registry scanning code into separate function for this and
64           also separate fork() and non-fork() code paths. Fixes #344748.
65
66 2006-06-13  Wim Taymans  <wim@fluendo.com>
67
68         * docs/manual/advanced-dataaccess.xml:
69         Fix wrong PluginDesc. Fixes #344755.
70
71 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
72
73         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
74           Fix silly bug that prevented us from creating
75           ~/.gstreamer-0.10 and writing the registry in one
76           go (the first call to g_mkstemp() would overwrite the
77           placeholder in the template string, so the second call
78           to g_mkstemp() after creating the missing directory
79           would then error out with 'invalid argument').
80
81 2006-06-13  Edward Hervey  <edward@fluendo.com>
82
83         * gst/gst.c: (init_post):
84         Free string.
85
86 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
87
88         * gst/glib-compat-private.h:
89         * gst/glib-compat.c:
90         * gst/glib-compat.h:
91         * gst/gstvalue.c: (gst_value_serialize_flags):
92           remove GLib 2.6 compatibility code
93
94 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
95
96         * gst/parse/Makefile.am:
97           Fix build with 'make -j N' even more (#340016).
98
99 2006-06-12  Wim Taymans  <wim@fluendo.com>
100
101         * docs/gst/gstreamer-sections.txt:
102         Fix docs.
103
104 2006-06-12  Wim Taymans  <wim@fluendo.com>
105
106         * gst/gstsegment.c: (gst_segment_set_duration),
107         (gst_segment_set_last_stop), (gst_segment_set_seek),
108         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
109         (gst_segment_to_running_time), (gst_segment_clip):
110         Use G_UNLIKELY to help the compiler a bit.
111
112 2006-06-12  Wim Taymans  <wim@fluendo.com>
113
114         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
115
116         * gst/gstevent.c: (gst_event_get_type):
117         * gst/gstmessage.c:
118         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
119         (gst_pad_push):
120         constify quark registration strings. Fixes #344115
121         Avoid unneeded type checking is _pad_push() by internally
122         calling gst_pad_chain_unchecked().
123
124 2006-06-12  Wim Taymans  <wim@fluendo.com>
125
126         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
127         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
128         (gst_subbuffer_finalize), (gst_buffer_create_sub),
129         (gst_buffer_is_span_fast), (gst_buffer_span):
130         Init _type for consistency.
131         Use _FLAGS macro to avoid type check.
132         Avoid unneeded type checks in subbufer code.
133
134 2006-06-12  Wim Taymans  <wim@fluendo.com>
135
136         * gst/gst.c: (gst_debug_help):
137         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
138         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
139         (gst_plugin_feature_list_free):
140         * gst/gstregistry.c: (gst_registry_add_plugin),
141         (gst_registry_add_feature), (gst_registry_plugin_filter),
142         (gst_registry_feature_filter), (gst_registry_find_plugin),
143         (gst_registry_find_feature), (gst_registry_get_plugin_list),
144         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
145         * gst/gstregistryxml.c: (load_feature),
146         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
147         * gst/gstminiobject.c: (gst_mini_object_unref),
148         (gst_mini_object_replace), (gst_value_mini_object_free),
149         (gst_value_mini_object_copy):
150         Use _CAST macros to avoid unneeded type checking.
151         Added some more G_UNLIKELY.
152
153 2006-06-12  Wim Taymans  <wim@fluendo.com>
154
155         * gst/gstbuffer.h:
156         Avoid unneeded type checking.
157         API: GST_BUFFER_IS_DISCONT
158
159         * gst/gstminiobject.h:
160         Avoid type check in flag accessor.
161
162         * gst/gstelementfactory.h:
163         * gst/gstplugin.h:
164         * gst/gstpluginfeature.h:
165         Add _CAST macros.
166         API: GST_ELEMENT_FACTORY_CAST
167         API: GST_PLUGIN_CAST
168         API: GST_PLUGIN_FEATURE_CAST
169
170 2006-06-12  Wim Taymans  <wim@fluendo.com>
171
172         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
173         (gst_object_unref):
174         Add G_UNLIKELY in type registration.
175         Avoid type check in _ref/_unref since that is also
176         done in glib.
177
178 2006-06-12  Wim Taymans  <wim@fluendo.com>
179
180         * gst/gsterror.c: (gst_g_error_get_type):
181         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
182         (gst_static_pad_template_get_type):
183         * gst/gsttaglist.c: (gst_tag_list_get_type):
184         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
185         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
186         * gst/gsturi.c: (gst_uri_handler_get_type):
187         * gst/gstvalue.c: (gst_date_get_type):
188         * gst/gstxml.c: (gst_xml_get_type):
189         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
190         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
191         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
192         Add G_UNLIKELY in type registration.
193
194 2006-06-12  Wim Taymans  <wim@fluendo.com>
195
196         * tools/gst-inspect.c: (print_signal_info):
197         Properly print enum values.
198
199 2006-06-12  Wim Taymans  <wim@fluendo.com>
200
201         * gst/gstinfo.c: (gst_debug_set_active),
202         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
203         * gst/gstinfo.h:
204         Add some G_[UN]LIKELY.
205         Maintain __gst_debug_min to avoid formatting the arguments of
206         debug messages that will be dropped anyway to avoid a lot of 
207         overhead from the debugging system.
208
209 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
210
211         * po/POTFILES.in:
212         * po/POTFILES.skip:
213           add missing files containing translatable strings, tell intltool about
214           one exception
215
216 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
217
218         * tests/check/libs/.cvsignore:
219         add test-binary to ignore list
220
221 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
222
223         * docs/libs/gstreamer-libs-docs.sgml:
224         reorder (put dp into a chapter) and indent
225
226 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
227
228         * configure.ac:
229           back to HEAD
230
231 === release 0.10.8 ===
232
233 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
234
235         * configure.ac:
236           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
237
238 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
239
240         * gst/gst.c: (init_post):
241           move pid declaration to declaration block
242
243 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
244
245         * gst/gst.c: (init_post):
246           use _exit() instead of exit() in our forked child; this ensures
247           that none of the registered exit handlers from whatever is using
248           GStreamer get executed.  This fixes gnome-mixer-applet failing
249           to load, because ORBit would shut down.
250           Spotted by: Edward Hervey  <edward@fluendo.com>
251           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
252           Fixes #344474
253
254 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
255
256         * configure.ac:
257           back to TRUNK
258
259 === release 0.10.7 ===
260
261 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
262
263         * configure.ac:
264           releasing 0.10.7, "Soepeke, ik zie ou"
265
266 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
267
268         * configure.ac:
269         * po/af.po:
270         * po/az.po:
271         * po/bg.po:
272         * po/ca.po:
273         * po/cs.po:
274         * po/de.po:
275         * po/en_GB.po:
276         * po/fr.po:
277         * po/it.po:
278         * po/nb.po:
279         * po/nl.po:
280         * po/ru.po:
281         * po/sq.po:
282         * po/sr.po:
283         * po/sv.po:
284         * po/tr.po:
285         * po/uk.po:
286         * po/vi.po:
287         * po/zh_CN.po:
288         * po/zh_TW.po:
289         * win32/common/config.h:
290           0.10.6.2 prerelease
291
292 2006-06-07  Wim Taymans  <wim@fluendo.com>
293
294         * gst/gstindex.c: (gst_index_gtype_resolver):
295         * tools/gst-xmlinspect.c: (print_plugin_info):
296         Fix leak spotted by coverity checker. Fixes #343827
297         Fix another other leak found by paolo borelli.
298
299 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
300
301         * libs/gst/dataprotocol/dataprotocol.c:
302         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
303         (gst_dp_version_get_type), (gst_dp_init),
304         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
305         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
306         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
307         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
308         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
309         (gst_dp_packetizer_free):
310         * libs/gst/dataprotocol/dataprotocol.h:
311           API: add a GstDPPacketizer object, and create/free functions
312           API: add GstDPVersion enum
313           Add 1.0 event function that uses the string serialization
314           Serialize more useful buffer flags
315           Fixes #343988
316
317 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
318
319         * tests/check/Makefile.am:
320         * tests/check/gst/gstabi.c:
321         * tests/check/gst/struct_ppc64.h:
322         * tests/check/libs/libsabi.c:
323         * tests/check/libs/struct_ppc64.h:
324           add ppc64 structure sizes
325
326 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
327
328         * tests/check/Makefile.am:
329         * tests/check/gst/gstabi.c:
330         * tests/check/gst/struct_x86_64.h:
331         * tests/check/libs/libsabi.c:
332         * tests/check/libs/struct_x86_64.h:
333           generate and add structure size lists for x86_64
334
335 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
336
337         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
338         * libs/gst/check/gstcheck.h:
339           factor out the method from tests that checks size of structures,
340           and add code to generate the header containing these sizes
341         * tests/check/gst/gstabi.c: (GST_START_TEST):
342         * tests/check/gst/struct_i386.h:
343         * tests/check/libs/libsabi.c: (GST_START_TEST):
344         * tests/check/libs/struct_i386.h:
345           use it
346
347 2006-06-06  Michael Smith  <msmith@fluendo.com>
348
349         * gst/gstsegment.h:
350           Don't use c++-style comments, fixes #343929
351
352 2006-06-05  Edward Hervey  <edward@fluendo.com>
353
354         * gst/gst.c:
355         plugin_paths is not used if we build without registry support.
356
357         * gst/gstsegment.c: (gst_segment_copy): 
358         _copy() was always returning NULL...
359
360 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
361
362         * libs/gst/dataprotocol/dataprotocol.c:
363         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
364         (gst_dp_packet_from_event):
365           factor out CRC code
366
367 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
368
369         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
370           make sure we unset caps
371
372 2006-06-02  Michael Smith  <msmith@fluendo.com>
373
374         * libs/gst/check/gstcheck.c: (gst_check_init),
375         (gst_check_chain_func):
376         * libs/gst/check/gstcheck.h:
377           Add a cond/mutex to the check support lib, signal this whenever we
378           add to the buffers list. This will allow tests to not busy-wait on
379           the buffer-list.
380
381 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
382
383         * libs/gst/dataprotocol/dataprotocol.c:
384         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
385         (gst_dp_packet_from_event):
386           factor out some common header init code
387
388 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
389
390         * docs/libs/gstreamer-libs-sections.txt:
391         * docs/libs/tmpl/gstdataprotocol.sgml:
392         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
393         * libs/gst/dataprotocol/dataprotocol.h:
394           API: make gst_dp_crc() public
395
396 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
397
398         * plugins/indexers/gstindexers.c: (plugin_init):
399         conditionally register fileindexer (fixes #343598)
400
401 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
402
403         * gst/gsttagsetter.h:
404         Can't cast ifaces to a class
405
406         * libs/gst/net/gstnetclientclock.h:
407         * libs/gst/net/gstnettimeprovider.h:
408         * plugins/elements/gstfakesink.h:
409         * plugins/elements/gstfakesrc.h:
410         * plugins/elements/gstfdsink.h:
411         * plugins/elements/gstfdsrc.h:
412         * plugins/elements/gstfilesink.h:
413         * plugins/elements/gstfilesrc.h:
414         * plugins/elements/gstidentity.h:
415         * plugins/elements/gstqueue.h:
416         * plugins/elements/gsttee.h:
417         * plugins/indexers/gstfileindex.c:
418         * plugins/indexers/gstmemindex.c:
419         * tests/old/examples/plugins/example.h:
420         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
421
422 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
423
424         * libs/gst/dataprotocol/dataprotocol.c:
425         (gst_dp_header_from_buffer):
426           make sure we zero the whole ABI-compatible area
427
428 2006-06-01  Wim Taymans  <wim@fluendo.com>
429
430         Patch by: Alessandro Decina <alessandro at nnva dot org>
431
432         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
433         Make sure the EOS flag is cleared from pads after a flush
434         or stop. Fixes #343538.
435
436         * tests/check/libs/collectpads.c: (GST_START_TEST),
437         (gst_collect_pads_suite):
438         Added test for collectpads reusage after EOS.
439
440 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
441
442         * gst/gst.c:
443          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
444         * win32/common/libgstbase.def:
445          export gst_collect_pads_set_flushing
446         * win32/common/libgstreamer.def:
447          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
448          gst_value_fraction_multiply
449         * win32/vs6/gst_inspect.dsp:
450          add a link to intl.lib
451
452 2006-05-30  Wim Taymans  <wim@fluendo.com>
453
454         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
455         (gst_collect_pads_chain):
456         Handle the case where a pad is removed from the collection
457         that could cause the other pads to become collectable.
458
459 2006-05-30  Wim Taymans  <wim@fluendo.com>
460
461         * gst/gstelement.c:
462         Clarify the use of _release_request_pad() and
463         _get_request_pad() a bit better.
464
465         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
466         (gst_adapter_take_buffer):
467         Fix some doc and comment typos.
468
469 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
470
471         * docs/gst/gstreamer-sections.txt:
472         * docs/libs/gstreamer-libs-sections.txt:
473           add declared symbols
474
475 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
476
477         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
478         Add debug that can be enabled using a #define at the top of the file,
479         for dumping stats about how late/early we were when waking up from
480         waiting on the clock.
481
482 2006-05-30  Wim Taymans  <wim@fluendo.com>
483
484         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
485         When rebuilding the pad list, don't leak the previous list.
486
487 2006-05-30  Wim Taymans  <wim@fluendo.com>
488
489         Patch by: Lutz Mueller <lutz at topfrose dot de>
490
491         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
492         (gst_base_src_get_query_types), (gst_base_src_update_length):
493         Publish supported query types.
494         Update last_stop field in get_range mode so the position
495         query works. Fixes #342321.
496
497 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
498
499         * docs/gst/gstreamer-sections.txt:
500         * gst/gsttaglist.c: (_gst_tag_initialize):
501         * gst/gsttaglist.h:
502           API: add GST_TAG_PREVIEW_IMAGE (#343341).
503
504 2006-05-30  Wim Taymans  <wim@fluendo.com>
505
506         Patch by: Alessandro Decina <alessandro at nnva dot org>
507
508         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
509         Unlock mutex when removing an unknown pad.
510         Fixes #343334.
511
512         * tests/check/Makefile.am:
513         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
514         (push_event), (setup), (teardown), (GST_START_TEST),
515         (gst_collect_pads_suite), (main):
516         Added collecpads check, disabled for now as check crashes for
517         some reason.
518
519 2006-05-29  Wim Taymans  <wim@fluendo.com>
520
521         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
522         Don't leak pads lists.
523
524 2006-05-29  Wim Taymans  <wim@fluendo.com>
525
526         * docs/libs/gstreamer-libs-sections.txt:
527         * libs/gst/base/gstcollectpads.c:
528         (gst_collect_pads_set_flushing_unlocked),
529         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
530         (gst_collect_pads_stop):
531         * libs/gst/base/gstcollectpads.h:
532         API: gst_collect_pads_set_flushing()
533         Added api to set the pads to flushing, useful for seeking
534         code in elements using collectpads.
535         Clear segment when receiving a flush.
536
537 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
538
539         * gst/gst.c: (add_path_func), (init_post):
540           Don't scan registry paths passed via --gst-plugin-path immediately
541           (will crash, because absolutely nothing is set up and no types are
542           registered etc.); do this later in init_post(). Fixes #343057.
543
544 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
545
546         * gst/gst.c: (init_post):
547           if we have fork, fork while reading/rebuilding the registry
548           so the parent doesn't take the hit of having all plugins loaded
549           in memory.  Fixes #342777.
550         * configure.ac:
551           Check if we have fork()
552         * win32/common/config.h.in:
553           no fork() on win32
554
555 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
556
557         * plugins/elements/gstelements.c:
558         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
559         (gst_file_src_init), (gst_file_src_set_property),
560         (gst_file_src_get_property), (gst_file_src_start):
561         * plugins/elements/gstfilesrc.h:
562           API: GstFileSrc::use-mmap
563
564         Add a use-mmap property to enable easier testing of all code paths.
565         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
566         in the absence of gnomevfssrc. (Closes #340501)
567
568 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
569
570         * tools/gst-inspect.c:
571         Add missing include, removes warning of ngettext not being defined on
572         some arches.
573
574 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
575
576         * gst/gstvalue.c: (gst_value_deserialize_fraction):
577         Handle NULL input and output pointers silently as a failed conversion,
578         rather than g_warnings.
579
580 2006-05-25  Wim Taymans  <wim@fluendo.com>
581
582         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
583         Initialize variable before using. Fixes #342820.
584
585 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
586
587         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
588           Fix off-by-one bug that would only allow peeks of N-1 bytes
589           from the start even if the buffer to typefind on contains
590           in fact N bytes of data (makes vorbis typefinding from a
591           vorbis identification header buffer work).
592
593         * tests/check/Makefile.am:
594         * tests/check/libs/.cvsignore:
595         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
596         (gst_typefindhelper_suite), (main), (foobar_typefind),
597         (plugin_init):
598           Add very basic unit test for gst_type_find_helper_for_buffer()
599           that checks for the problem fixed above.
600
601 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
602
603         * tools/gst-inspect.c: (print_interfaces),
604         (print_element_properties_info), (print_element_list), (main):
605           add more translatable strings
606
607 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
608
609         Patch by: Julien Moutte  <julien at moutte net>
610
611         * docs/gst/gstreamer-sections.txt:
612           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
613           
614         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
615         (gst_fake_sink_preroll):
616         * plugins/elements/gstfakesink.h:
617           API: Add new GstFakeSink::preroll-handoff signal (#337100).
618
619 2006-05-23  Wim Taymans  <wim@fluendo.com>
620
621         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
622         * gst/gstpad.h:
623         Added _CUSTOM error and success GstFlowReturn that can be
624         used be elements internally. 
625         Added macro to check for SUCCESS flowreturns.
626         API: GST_FLOW_CUSTOM_SUCCESS
627         API: GST_FLOW_CUSTOM_ERROR
628         API: GST_FLOW_IS_SUCCESS
629
630         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
631         Added check for GstFlowReturn sanity.
632
633 2006-05-23  Wim Taymans  <wim@fluendo.com>
634
635         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
636
637         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
638         (gst_collect_pads_event):
639         clear/reset segment info in FLUSH_STOP.
640         Fixes #336929.
641
642 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
643
644         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
645         (gst_collect_pads_check_collected):
646         Flush queued buffer on _stop(), fixes playing again (#342454)
647
648 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
649
650         * tests/check/gst/gststructure.c: (GST_START_TEST),
651         (gst_structure_suite):
652           add a test for a complete structure
653
654 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
655
656         * docs/faq/developing.xml:
657         * docs/faq/faq.xml:
658         * docs/faq/troubleshooting.xml:
659         * docs/faq/using.xml:
660           Some minor FAQ updates that won't change the fact that
661           our FAQ is badly structured, full of information hardly
662           anyone new to GStreamer needs to know and lacking lots
663           of information people constantly ask for.
664           
665 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
666
667         * gst/gstpad.c: (gst_pad_set_caps):
668           Short-circuit gst_pad_set_caps if setting the existing
669           caps pointer again, and avoid printing debug and 
670           reffing/unreffing the caps.
671
672         * plugins/elements/gstqueue.c: (gst_queue_push_one):
673           There's actually no need to set the caps before pushing -
674           the acceptcaps method will handle it anyway.
675
676 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
677
678         * docs/gst/gstreamer-sections.txt:
679         * win32/common/libgstreamer.def:
680         * gst/gstutils.c: (gst_element_seek_simple):
681         * gst/gstutils.h:
682           API: add gst_element_seek_simple() (#342238).
683
684 2006-05-18  Edward Hervey  <edward@fluendo.com>
685
686         * gst/gsttypefind.c: (gst_type_find_get_type):
687         * gst/gsttypefind.h:
688         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
689         registered for GstTypeFind pointers. This allows wrapping the structure
690         in bindings (i.e. gst-python).
691
692 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
693
694         * gst/gsttagsetter.c:
695           Docs additions and fixes (see #339918).
696
697 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
698
699         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
700         The caps intersection algorithm can produce multiple copies of the
701         caps. Until that is fixed, we need to simplify the result to be
702         sure whether the allowed caps are fixed or not.
703
704         * plugins/elements/gstqueue.c: (gst_queue_init),
705         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
706         (gst_queue_push_one):
707         Proxied buffer alloc should not set the caps on the source pad.
708         When pushing buffers, we always accept the caps change that triggers.
709         This prevents negotiation errors caused by caps changing mid-stream 
710         and then being refused on our source pad (because upstream is now
711         refusing those caps).
712
713 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
714
715         * tests/examples/helloworld/helloworld.c: (main):
716           Must plug audioconvert and audioresample between decoder
717           and audio sink.
718
719 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
720
721         * gst/gstregistryxml.c: (read_string), (load_pad_template),
722         (load_feature), (load_plugin):
723         Allow empty strings for some of the plugin fields so we don't 
724         drop valid plugin entries that were written out correctly
725         (Fixes #341479)
726
727 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
728         
729         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
730           Use g_remove and g_rename instead of remove and rename that don't 
731           handle utf8 characters. rename was failing for users who had specific
732           characters in their name then the registry was built at each 
733           gstreamer init.
734         * win32/vs6/gst_inspect.dsp:
735         * win32/vs6/gst_launch.dsp:
736         * win32/vs6/libgstbase.dsp:
737         * win32/vs6/libgstcoreelements.dsp:
738         * win32/vs6/libgstreamer.dsp:
739           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
740           build of libgstreamer and clean unused libraries in projects link 
741           settings.
742
743 2006-05-17  Edward Hervey  <edward@fluendo.com>
744
745         * plugins/elements/gstqueue.c: (gst_queue_push_one):
746         The queue is not responsible for pushing an EOS when receiving a fatal
747         flow error. It's up to the real element driving the pipeline to do that.
748
749 2006-05-16  Edward Hervey  <edward@fluendo.com>
750
751         * plugins/elements/gstqueue.c: (gst_queue_push_one):
752         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
753         buffer returned a fatal error. It should just send an EOS and stop
754         its task.
755         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
756         when pushing buffers on the queue and will be able to handle the event.
757
758 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
759
760         * docs/manual/basics-bins.xml:
761         * docs/manual/basics-init.xml:
762           Fix typos and minor errors in sample code (#341856).
763
764 2006-05-16  Wim Taymans  <wim@fluendo.com>
765
766         * docs/design/part-qos.txt:
767         Fix indexes in formulas to make more sense.
768
769 2006-05-15  Wim Taymans  <wim@fluendo.com>
770
771         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
772         Don't report POSITION based on clock time if sync is
773         disabled in a sink.
774
775 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
776
777         * gst/gstobject.h:
778           Add cast to make compiler happy - refcount variable was a gint
779           in GstObject but is a guint in GObject and g_atomic_int_get()
780           wants a gint *.
781
782 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
783
784         * gst/parse/Makefile.am:
785           chain commands using &&, which also makes parallel make work
786
787 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
788
789         * docs/gst/gstreamer-sections.txt:
790         * gst/gstevent.c:
791         * gst/gstevent.h:
792         * gst/gstmessage.h:
793           Minor docs fixes.
794
795 === release 0.10.6 ===
796
797 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
798
799         * configure.ac:
800           releasing 0.10.6, "Take the cannoli"
801
802 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
803
804         * tools/gst-launch.c: (print_tag):
805           Fix use of uninitialized variable in the hypothetical
806           case that some broken plugin creates a GST_TAG_IMAGE
807           tag containing a NULL buffer (#341667).
808
809 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
810
811         * tools/gst-launch.c: (print_tag):
812           Print something more intelligible for image tags when
813           using the -t switch (#341556).
814
815 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
816
817         * Makefile.am:
818           updates for win32
819         * configure.ac:
820           define GST_MAJORMINOR so we have it available in win32/common/config.h
821           Possibly remove it from our Makefile.am files later
822         * win32/common/config.h:
823         * win32/common/config.h.in:
824           added GST_MAJORMINOR
825         * win32/common/gstenumtypes.c: (register_gst_resource_error):
826         * win32/common/gstversion.h:
827           updated
828
829 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
830
831         * win32/MANIFEST:
832           Update win32 files listing.
833         * win32/common/gstversion.h:
834           Add GST_MAJORMINOR definition.
835         * win32/common/libgstreamer.def:
836           Add new exported functions.
837           
838 2006-05-12  Michael Smith  <msmith@fluendo.com>
839
840         * gst/gstplugin.c: (gst_plugin_load_file):
841           If an so file has no plugin entry point, unload the module.
842
843 2006-05-11  Wim Taymans  <wim@fluendo.com>
844
845         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
846         (gst_queue_set_property):
847         Don't forget to signal the _chain or _loop function 
848         when the queue size or thresholds change since that might
849         cause them to make progres again.
850
851 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
852
853         * gst/gstclock.c: (gst_clock_class_init):
854         * gst/gstindex.c: (gst_index_class_init):
855         * gst/gstobject.c: (gst_object_class_init):
856         * gst/gstpad.c: (gst_pad_class_init):
857         * gst/gstpipeline.c: (gst_pipeline_class_init):
858         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
859         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
860         * libs/gst/base/gstbasetransform.c:
861         (gst_base_transform_class_init):
862         * libs/gst/net/gstnetclientclock.c:
863         (gst_net_client_clock_class_init):
864         * libs/gst/net/gstnettimeprovider.c:
865         (gst_net_time_provider_class_init):
866         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
867         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
868         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
869         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
870         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
871         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
872         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
873         * plugins/elements/gstidentity.c: (gst_identity_class_init):
874         * plugins/elements/gsttee.c: (gst_tee_class_init):
875         * tests/old/examples/plugins/example.c: (gst_example_class_init):
876         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
877           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
878
879 2006-05-11  Wim Taymans  <wim@fluendo.com>
880
881         * gst/gstbuffer.c: (_gst_buffer_initialize):
882         Register subbufer along with the buffer type so that
883         it does not accidentally gets registered from N
884         different streaming threads in a non threadsafe way.
885
886 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
887
888         * gst/gstbuffer.h:
889         * gst/gstevent.h:
890         * gst/gstmessage.h:
891           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
892           gst_event_ref() and gst_message_ref() functions again
893           (ugly hack, please do fix if there's a better way besides
894           overrides.txt, which doesn't seem to work).
895
896 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
897
898         * libs/gst/check/gstcheck.h:
899           add an assert for setting state to avoid lots of repetitive code
900           in the future
901
902 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
903
904         * gst/gstvalue.c: (gst_value_serialize_flags):
905           fix a leak if no flags are set
906         * tests/check/gst/gstvalue.c: (GST_START_TEST):
907           fix leak in tests
908
909 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
910
911         * docs/manual/basics-pads.xml:
912           Expand a bit on caps and filtered links and update
913           examples that were still using the no longer existing
914           gst_pad_link_filtered() (#338206).
915
916 2006-05-10  Wim Taymans  <wim@fluendo.com>
917
918         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
919         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
920         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
921         (gst_collect_pads_stop):
922         * libs/gst/base/gstcollectpads.h:
923         No need to call _stop in _finalize.
924         Iterate the main pad list in _finalize.
925         Added some more debug.
926         Free lists and data in the right order.
927         Also free data whem doing _remove_pad when stopped for
928         backward compatibility protect ::started with PAD_LOCK as
929         well.
930
931 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
932
933         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
934         (gst_structure_parse_value):
935           add some comments
936           rename a method so that it actually says what it does better
937
938 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
939
940         * gst/gstevent.c: (_gst_event_initialize):
941         * gst/gstformat.c: (_gst_format_initialize):
942           make sure some essential types used by events are registered
943           as part of gst_init()
944         * gst/gstvalue.c: (gst_value_serialize_flags):
945           if no flags are set, serialize them to a value that represents NONE
946           so that deserializing them works
947         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
948           add tests for serialization and deserialization of flags
949
950 2006-05-10  Wim Taymans  <wim@fluendo.com>
951
952         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
953         (gst_collect_pads_collect_range), (gst_collect_pads_available),
954         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
955         (gst_collect_pads_event), (gst_collect_pads_chain):
956         Update docs.
957         Better debug info.
958         Catch and return errors from the collect function
959         Refuse data on eos pads.
960
961 2006-05-10  Edward Hervey  <edward@fluendo.com>
962
963         * gst/gstinterface.h:
964         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
965         GInterface type checking.
966         They were previously using non-defined macros.
967
968 2006-05-09  Wim Taymans  <wim@fluendo.com>
969
970         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
971         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
972         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
973         (gst_collect_pads_start), (gst_collect_pads_stop),
974         (gst_collect_pads_peek), (gst_collect_pads_pop),
975         (gst_collect_pads_available), (gst_collect_pads_read),
976         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
977         (gst_collect_pads_is_collected), (gst_collect_pads_event),
978         (gst_collect_pads_chain):
979         * libs/gst/base/gstcollectpads.h:
980         Clean up the mess that is collectpads, add comments and
981         FIXMEs where needed.
982         Maintain a separate pad list so we can add pads while
983         collecting the other ones. For this we need a new separate 
984         lock (see comics).
985         Fix memory leak in finalize.
986         Refactor some weird code to set/unset pad flushing flags, mark
987         with comments.
988         Don't crash in _available, _read, _flush when we're EOS.
989
990         * tests/check/libs/.cvsignore:
991         Ignore adapter check binary.
992
993 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
994
995         * gst/gstindex.c: (gst_index_resolver_get_type):
996         * plugins/elements/gstfakesink.c:
997         (gst_fake_sink_state_error_get_type):
998         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
999         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1000         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1001           Const-ify GEnumValue arrays.
1002
1003 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1004
1005         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1006           Add test case for flags + gst_buffer_make_metadata_writable().
1007
1008 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1009
1010         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1011           gst_buffer_make_metadata_writable() should maintain the
1012           buffer flags (those that make sense at least) (see #340859).
1013
1014 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1015
1016         * tools/gst-inspect.c:
1017         * tools/gst-launch.c:
1018         * tools/gst-typefind.c:
1019         * tools/gst-xmlinspect.c:
1020         * tools/tools.h:
1021           Fix up includes: need to include stdlib.h in tools.h for exit().
1022
1023 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1024
1025         * gst/gsttaglist.c: (_gst_tag_initialize):
1026         * gst/gsttaglist.h:
1027           API: add GST_TAG_IMAGE tag (#340721).
1028
1029 2006-05-08  Wim Taymans  <wim@fluendo.com>
1030
1031         * gst/gstquery.c:
1032         Added some docs for the segment query.
1033
1034 2006-05-08  Wim Taymans  <wim@fluendo.com>
1035
1036         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1037         (gst_base_src_loop), (gst_base_src_change_state):
1038         Always push non-flushing serialized events in the streaming 
1039         thread.
1040
1041 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1042
1043         * gst/gsterror.c: (_gst_stream_errors_init):
1044           Add a missing error string.
1045
1046 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1047
1048         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1049         Add applied_rate to the debug
1050
1051         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1052         Copy applied_rate into the outgoing NEWSEGMENT event
1053
1054 2006-05-08  Wim Taymans  <wim@fluendo.com>
1055
1056         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1057
1058         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1059         (gst_base_sink_change_state):
1060         call ::unlock before taking the PREROLL_LOCK so we can safely
1061         handle elements that lock in ::render.
1062         Fixes #340174.
1063
1064 2006-05-08  Edward Hervey  <edward@fluendo.com>
1065
1066         * autogen.sh: (CONFIGURE_DEF_OPT): 
1067         Darwin's libtoolize is in fact called glibtoolize.
1068         Adding glibtoolize to the list of accepted names for libtoolize.
1069
1070 2006-05-08  Wim Taymans  <wim@fluendo.com>
1071
1072         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1073         Unify error handling, don't post an error message
1074         when a push() returns EOS but perform our normal EOS
1075         handling code. Fixes #340772.
1076
1077 2006-05-08  Wim Taymans  <wim@fluendo.com>
1078
1079         * docs/design/part-overview.txt:
1080         Make upsteam/downstream concepts more clear.
1081         Give an example of serialized/non-serialized events.
1082
1083         * docs/design/part-events.txt:
1084         * docs/design/part-streams.txt:
1085         Mention applied_rate.
1086
1087         * docs/design/part-trickmodes.txt:
1088         Mention applied rate, flesh out some more use cases.
1089
1090         * gst/gstevent.c: (gst_event_new_new_segment),
1091         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1092         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1093         (gst_event_parse_tag), (gst_event_new_buffer_size),
1094         (gst_event_parse_buffer_size), (gst_event_new_qos),
1095         (gst_event_parse_qos), (gst_event_parse_seek),
1096         (gst_event_new_navigation):
1097         * gst/gstevent.h:
1098         Add applied_rate field to NEWSEGMENT event.
1099         API: gst_event_new_new_segment_full()
1100         API: gst_event_parse_new_segment_full()
1101
1102         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1103         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1104         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1105         * gst/gstsegment.h:
1106         Add applied_rate to GstSegment structure.
1107         Make calculation of stream_time and running_time more correct
1108         wrt rate/applied_rate.
1109         Add some more docs.
1110         API: GstSegment::applied_rate field
1111         API: gst_segment_set_newsegment_full();
1112
1113         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1114         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1115         * libs/gst/base/gstbasetransform.c:
1116         (gst_base_transform_sink_eventfunc),
1117         (gst_base_transform_handle_buffer):
1118         Parse and use applied_rate in the GstSegment field.
1119
1120         * tests/check/gst/gstevent.c: (GST_START_TEST):
1121         Add check for applied_rate field.
1122
1123         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1124         (gstsegments_suite):
1125         Add more checks for various GstSegment operations.
1126
1127 2006-05-08  Wim Taymans  <wim@fluendo.com>
1128
1129         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1130         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1131         (gst_base_sink_get_position), (gst_base_sink_change_state):
1132         Store the sync time of the buffer end position separatly in a
1133         new variable eos_rtime so we can properly sync the EOS event.
1134         Fixes #340697.
1135         Fix the docs for gst_base_sink_set_qos_enabled().
1136         Don't set segment start to invalid value when we receive a 
1137         non TIME newsegment.
1138         get closer to handling position reporting for negative rates 
1139         correctly.
1140
1141 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1142
1143         * gst/gstcaps.c:
1144         Docs about how to print caps for debug purposes.
1145
1146         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1147         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1148
1149 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1150
1151         * gst/gstelement.c:
1152           use full enum names and preprend a '%' in docs strings to make recent 
1153           gtk-doc turn that into a link
1154
1155 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1156
1157         * docs/manual/basics-bins.xml:
1158         * docs/manual/basics-bus.xml:
1159         * docs/manual/basics-pads.xml:
1160           Some typo fixes, some additions, some clarifications. 
1161
1162 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1163
1164         * tools/gst-inspect.c: (main):
1165         * tools/gst-launch.c: (main):
1166         * tools/gst-run.c: (main):
1167         * tools/gst-typefind.c: (main):
1168         * tools/gst-xmlinspect.c: (main):
1169           Use the string passed to g_option_context_new() for
1170           what it's intended for - the program name is already
1171           printed elsewhere.
1172
1173 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1174
1175         * tools/Makefile.am:
1176         * tools/gst-inspect.c: (main):
1177         * tools/gst-launch.c: (main):
1178         * tools/gst-xmlinspect.c: (main):
1179         * tools/tools.h:
1180           Add back --version command line option (#340460).
1181
1182         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1183           Add --version option and use GOption for argument parsing; refactor a
1184           bit; accept directories as arguments and recurse into them; lastly,
1185           print a decent error message when things go wrong.
1186
1187 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1188
1189         * docs/manual/basics-bins.xml:
1190         Don't mention GstThread (#340611)
1191         * docs/manual/basics-elements.xml:
1192         Update link to GObject tutorial (#340607)
1193         
1194 2006-05-05  Wim Taymans  <wim@fluendo.com>
1195
1196         * gst/gstbuffer.h:
1197         * gst/gstminiobject.c:
1198         Add note about refcounting and miniobject/buffer writeability
1199         to docs. Fixes #340604
1200
1201         * gst/gstelementfactory.h:
1202         Added some explanation about @klass.
1203
1204 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1205
1206         * docs/manual/intro-motivation.xml:
1207         * docs/manual/manual.xml:
1208         Avoid CORBA & Bonobo references (#340598)
1209
1210 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1211
1212         * docs/manual/basics-bus.xml:
1213         * docs/manual/basics-pads.xml:
1214         Fix up some inaccuracies and omissions (#340609)
1215         
1216 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1217
1218         * gst/gstghostpad.c:
1219           Small typo in docs (#340625)
1220
1221 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1222
1223         * gst/parse/Makefile.am:
1224           Make 'make -j' proof (see #340698).
1225
1226 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1227
1228         * configure.ac:
1229           Require GLib-2.8 here as well.
1230
1231 2006-05-05  Wim Taymans  <wim@fluendo.com>
1232
1233         * gst/glib-compat.c:
1234         * gst/gst.c: (init_pre):
1235         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1236         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1237         (gst_object_dispatch_properties_changed):
1238         * gst/gstobject.h:
1239         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1240         * gst/gststructure.c: (gst_structure_set_valist):
1241         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1242         Remove pre glib2.8 compatibility, fixes #340508
1243
1244 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1245
1246         * gst/gsttaglist.h:
1247           Mention type of tags in doc blurbs.
1248
1249 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1250
1251         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1252         (gst_pad_configure_src), (gst_pad_push):
1253         Restore acceptcaps checking behaviour now that good plugins have
1254         been released.
1255
1256 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1257
1258         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1259
1260         * gst/gst.c:
1261         * gst/gstbus.c:
1262         * gst/gstclock.c:
1263         * gst/gstevent.c:
1264         * gst/gstformat.c:
1265         * gst/gstmessage.c:
1266         * gst/gstparse.c:
1267         * gst/gstquery.c:
1268         * gst/gstutils.c:
1269         * gst/parse/Makefile.am:
1270         * libs/gst/base/gstadapter.c:
1271         * libs/gst/base/gstbasesrc.c:
1272         * libs/gst/base/gstpushsrc.c:
1273         * libs/gst/base/gsttypefindhelper.c:
1274         * plugins/elements/gstfakesrc.c:
1275         * plugins/elements/gstidentity.c:
1276           Make sure gstprivate.h and/or config.h are
1277           always included first, otherwise some of our
1278           defines (like _FILE_OFFSET_BITS) might be
1279           redefined in the system headers. Fixes build
1280           on opensolaris (#340016).
1281
1282 2006-05-04  Wim Taymans  <wim@fluendo.com>
1283
1284         * docs/libs/gstreamer-libs-sections.txt:
1285         API: addition: gst_adapter_take_buffer()
1286         
1287         * libs/gst/base/gstadapter.c: (gst_adapter_push),
1288         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1289         (gst_adapter_available_fast):
1290         * libs/gst/base/gstadapter.h:
1291         Prepare for optimizing the hell out of this hugely inefficient
1292         piece of code. 
1293         Added gst_adapter_take_buffer() so we can at least start thinking
1294         about subbuffering and merging.
1295         Added some comments.
1296
1297         * tests/check/Makefile.am:
1298         * tests/check/libs/adapter.c: (GST_START_TEST),
1299         (gst_adapter_suite), (main):
1300         Added GstAdapter check.
1301
1302 2006-05-04  Wim Taymans  <wim@fluendo.com>
1303
1304         * docs/design/part-overview.txt:
1305         Fix some typos, add blurb about buffer flags.
1306
1307 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1308
1309         * docs/libs/gstreamer-libs-sections.txt:
1310           make sure GstBaseTransformClass shows up in the docs
1311         * libs/gst/base/gstbasetransform.c:
1312         * libs/gst/base/gstbasetransform.h:
1313           move docs so gtk-doc picks it up now
1314
1315 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1316
1317         * docs/libs/gstreamer-libs-sections.txt:
1318           add missing symbols to docs
1319
1320 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1321
1322         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1323           back out the newsegment handling change, see #340060 for ongoing
1324           discussion
1325
1326 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
1327
1328         * tools/gst-run.c: (get_candidates), (main):
1329           Fix wrong g_file_test() usage (see glib docs for why it doesn't
1330           work); fix typo in error message. Fixes #340079.
1331
1332 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1333
1334         * common/Makefile.am:
1335         * docs/Makefile.am:
1336         * docs/faq/Makefile.am:
1337         * docs/gst/Makefile.am:
1338         * docs/libs/Makefile.am:
1339         * docs/manual/Makefile.am:
1340         * docs/plugins/Makefile.am:
1341         * docs/pwg/Makefile.am:
1342         * docs/slides/Makefile.am:
1343         * docs/upload.mak:
1344         * common/upload.mak:
1345           move upload.mak to common
1346
1347 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1348
1349         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1350           add more asserts on refcounts
1351           do more cleanup at end of tests
1352           fix test leaks showing in FC5
1353
1354 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1355
1356         * plugins/elements/gsttypefindelement.c:
1357         (gst_type_find_element_handle_event):
1358         reverted wrong change and reflowed code to avoid others falling into
1359         this trap
1360
1361 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1362
1363         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1364           fix changelog entry about last collectpads change,
1365           add notes about proper fix
1366
1367 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1368
1369         * gst/gst.c:
1370         * gst/gstregistry.c: (gst_registry_scan_path_level),
1371         (gst_registry_scan_path):
1372         * gst/gstregistry.h:
1373           only write out registry if it has changed, fixes #338339
1374
1375 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1376
1377         * gst/gstbin.c:
1378         * gst/gstpipeline.c:
1379         * plugins/elements/gstcapsfilter.c:
1380         * plugins/elements/gstfakesink.c:
1381         * plugins/elements/gstfakesrc.c:
1382         * plugins/elements/gstfdsink.c:
1383         * plugins/elements/gstfdsrc.c:
1384         * plugins/elements/gstfilesink.c:
1385         * plugins/elements/gstfilesrc.c:
1386         * plugins/elements/gstidentity.c:
1387         * plugins/elements/gstqueue.c:
1388         * plugins/elements/gsttee.c:
1389         * plugins/elements/gsttypefindelement.c:
1390         (gst_type_find_element_handle_event):
1391           make GstElementDetails const
1392
1393 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1394
1395         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1396         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1397         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1398           more detailed debug and formatting cleanup,
1399           forward newsegments to src-pad (so that e.g. adder not eats them)
1400
1401 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1402
1403         * gst/gstutils.c: (gst_element_link_pads):
1404           cleanup double code
1405
1406 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1407
1408         * libs/gst/controller/gstcontroller.c:
1409         (gst_controller_sync_values):
1410           some little tuning
1411         * tests/check/libs/controller.c: (GST_START_TEST),
1412         (gst_controller_suite):
1413           a new test for live value handling
1414
1415 2006-04-28  Wim Taymans  <wim@fluendo.com>
1416
1417         * gst/gstutils.c: (push_and_ref):
1418         Added some more docs.
1419         Fix refcount issue whith gst_element_found_tags() helper 
1420         function. Fixes #338335
1421
1422         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1423         Added testsuite for gst_element_found_tags().
1424
1425 2006-04-28  Michael Smith  <msmith@fluendo.com>
1426
1427         * gst/gstvalue.c: (gst_value_serialize_flags):
1428           Avoid NULL dereference when trying to serialize flags containing
1429           invalid values.
1430
1431 2006-04-28  Michael Smith  <msmith@fluendo.com>
1432
1433         * plugins/elements/gsttypefindelement.c:
1434         (gst_type_find_element_handle_event):
1435           If we get EOS before any data is accumulated, don't use
1436           uninitialised local variables.
1437
1438 2006-04-28  Michael Smith  <msmith@fluendo.com>
1439
1440         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1441         (gst_dp_event_from_packet):
1442           Fixes in reading/writing events over GDP (not currently used?) - 
1443           dereferencing NULL events for unknown/invalid event types, memory
1444           leak, and change g_warning to GST_WARNING.
1445
1446 2006-04-28  Wim Taymans  <wim@fluendo.com>
1447
1448         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1449         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1450         (gst_base_sink_get_position), (gst_base_sink_change_state):
1451         When frame dropping is enabled, we should not ignore frames
1452         without a duration.
1453         Update some documentation.
1454
1455 2006-04-28  Wim Taymans  <wim@fluendo.com>
1456
1457         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1458         (gst_base_src_send_event), (gst_base_src_change_state):
1459         Documentation updates.
1460
1461 2006-04-28  Wim Taymans  <wim@fluendo.com>
1462
1463         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1464         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1465         handle EAGAIN, EINTR and short writes correctly. Also clean
1466         up some error cases, avoid a deadlock on bad file descriptors and
1467         use GST_DEBUG_OBJECT.
1468         Fixes #339843
1469
1470 2006-04-28  Wim Taymans  <wim@fluendo.com>
1471
1472         * gst/gstvalue.c: (gst_value_serialize_buffer),
1473         (gst_value_deserialize_buffer):
1474         Don't try to serialize a GValue with a NULL buffer. 
1475         Fixes #339821.
1476
1477         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1478         Added check for serialisation of NULL buffers.
1479
1480 2006-04-28  Wim Taymans  <wim@fluendo.com>
1481
1482         * gst/gstminiobject.c: (gst_value_take_mini_object):
1483         Taking a NULL miniobject is valid, fix the case where
1484         we try to unref the NULL miniobject.
1485
1486 2006-04-28  Wim Taymans  <wim@fluendo.com>
1487
1488         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1489
1490         * gst/gstbin.c: (gst_bin_handle_message_func):
1491         Update docs.
1492         Don't leak bin refcount when a state recalc is
1493         in progress and we delay another one #339808.
1494
1495 2006-04-28  Wim Taymans  <wim@fluendo.com>
1496
1497         * docs/design/part-TODO.txt:
1498         Mention QoS as an ongoing work item.
1499
1500         * docs/design/part-buffering.txt:
1501         New doc about buffering that needs to be fleshed out
1502         at some point.
1503
1504         * docs/design/part-qos.txt:
1505         More QoS policy for decoders/demuxers/transforms
1506
1507         * docs/design/part-trickmodes.txt:
1508         Small update.
1509
1510 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1511
1512         * configure.ac:
1513           back to HEAD
1514
1515 === release 0.10.5 ===
1516
1517 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1518
1519         * configure.ac:
1520           releasing 0.10.5, "Fogo"
1521
1522 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1523
1524         patch by: Wim Taymans
1525
1526         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1527         (gst_pad_configure_src), (gst_pad_push):
1528         * gst/gstpipeline.c: (gst_pipeline_init):
1529           Fix internal data flow errors.  Fixes #338711.
1530
1531 2006-04-12  Wim Taymans  <wim@fluendo.com>
1532
1533         * tests/check/gst/gstelement.c: (GST_START_TEST):
1534         Don't leak the factory.
1535
1536 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1537
1538         * configure.ac:
1539         * win32/common/config.h:
1540           prerelease
1541
1542 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1543
1544         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1545         (gst_controller_unset_all):
1546           Free allocated GstTimedValues when freeing list nodes.
1547           Should fix leaks 'make check-valgrind' complains about.
1548
1549         * win32/common/libgstcontroller.def:
1550           Add gst_controller_unset_all.
1551
1552 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1553
1554         * docs/libs/gstreamer-libs-sections.txt:
1555         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1556         (gst_controller_unset_all):
1557         * libs/gst/controller/gstcontroller.h:
1558         API: Added new method gst_controller_unset_all()
1559         fixed gst_controller_unset()
1560         * tests/check/libs/controller.c: (GST_START_TEST),
1561         (gst_controller_suite):
1562         Added two testcases for new and fixed method
1563
1564 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
1565
1566         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1567           MSG_DONTWAIT is not defined on Cygwin, so work
1568           around that (fixes #317048).
1569           
1570 2006-04-11  Wim Taymans  <wim@fluendo.com>
1571
1572         * gst/gstelementfactory.c: (gst_element_register),
1573         (gst_element_factory_create), (gst_element_factory_make):
1574         Some cleanups.
1575         Fixed a FIXME.
1576         Updated docs (Fixes #131079)
1577
1578         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1579         Small cleanups.
1580
1581         * tests/check/gst/gstelement.c: (GST_START_TEST),
1582         (gst_element_suite):
1583         Added testcase for elementfactory class field.
1584
1585 2006-04-10  Wim Taymans  <wim@fluendo.com>
1586
1587         * gst/gstsegment.c:
1588         Added some more docs.
1589
1590         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1591         (gst_base_sink_reset_qos):
1592         Calculate more accurate rate values.
1593
1594 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
1595
1596         * gst/gst_private.h:
1597           add a new #ifdef to use __declspec(dllimport) only for
1598           other modules and not for gstreamer core
1599         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1600           use gst_guint64_to_gdouble for conversion
1601         * win32/common/libgstreamer.def:
1602           add new exported functions
1603         * win32/vs6/gst_inspect.dsp:
1604         * win32/vs6/gst_launch.dsp:
1605         * win32/vs6/libgstbase.dsp:
1606         * win32/vs6/libgstcontroller.dsp:
1607         * win32/vs6/libgstcoreelements.dsp:
1608         * win32/vs6/libgstdataprotocol.dsp:
1609         * win32/vs6/libgstnet.dsp:
1610           update project files
1611
1612 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1613
1614         * gst/gstbuffer.c: (gst_subbuffer_class_init):
1615         * gst/gstclock.c: (gst_clock_class_init):
1616         * gst/gstelement.c: (gst_element_class_init):
1617         * gst/gstindex.c: (gst_index_class_init):
1618         * gst/gstindexfactory.c: (gst_index_factory_class_init):
1619         * gst/gstobject.c: (gst_object_class_init),
1620         (gst_signal_object_class_init):
1621         * gst/gstpad.c: (gst_pad_class_init):
1622         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1623         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1624         * gst/gstregistry.c: (gst_registry_class_init):
1625         * gst/gstsystemclock.c: (gst_system_clock_class_init):
1626         * gst/gsttask.c: (gst_task_class_init):
1627         * gst/gstxml.c: (gst_xml_class_init):
1628         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1629         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1630         (gst_base_src_loop):
1631         * libs/gst/controller/gstcontroller.c:/
1632         (_gst_controller_class_init):
1633         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1634         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1635         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1636         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1637         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1638         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1639
1640 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
1641
1642         * gst/gstpad.c: (gst_pad_link):
1643           Must set peer pads before calling the link function, otherwise
1644           a task started from a link function might get a flow-not-linked
1645           result when trying to push because the other thread where the
1646           linking happens hasn't had a chance to set the peers yet. This
1647           might happen for example when a queue gets linked to a downstream
1648           element, as queue starts a streaming task when its source pad
1649           gets linked. Happens in real life when playing back flac/musepack
1650           files in playbin (#332390).
1651           
1652 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1653
1654         * gst/gstindex.h:
1655         * gst/gstxml.h:
1656         * libs/gst/base/gstadapter.h:
1657         * libs/gst/base/gstbasesink.h:
1658         * libs/gst/base/gstbasesrc.h:
1659         * libs/gst/base/gstbasetransform.h:
1660         * libs/gst/base/gstcollectpads.h:
1661         * libs/gst/base/gstpushsrc.h:
1662         Fix broken GObject macros
1663
1664 2006-04-07  Wim Taymans  <wim@fluendo.com>
1665
1666         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1667         Initialize start and stop times, thanks valgrind.
1668
1669 2006-04-07  Wim Taymans  <wim@fluendo.com>
1670
1671         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1672         Be a bit nicer to badly behaving upstream elements that expect
1673         us to deal with non TIME segments and timestamps (such as fakesrc
1674         in the testsuite).
1675
1676 2006-04-07  Wim Taymans  <wim@fluendo.com>
1677
1678         * gst/gstbus.c:
1679         Small documentation clarification about the signal watch.
1680
1681         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1682         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1683         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1684         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1685         (gst_base_sink_get_position_last),
1686         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1687         Convert and store timestamps in stream time and running time, the
1688         raw timestamps are not usefull, also document this better.
1689         Use different window sizes for good and bad QoS observations so
1690         we react to badness a little quicker.
1691         Keep track of the amount of rendered and dropped buffers.
1692         Send QoS timestamps in running time.
1693
1694         * libs/gst/base/gstbasetransform.c:
1695         (gst_base_transform_sink_eventfunc),
1696         (gst_base_transform_handle_buffer):
1697         Compare QoS timestamps against running time.
1698
1699 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1700
1701         * gst/gstpad.c:
1702           Typo fixes in docs.
1703
1704 2006-04-06  Michael Smith  <msmith@fluendo.com>
1705
1706         * gst/gstpad.c: (gst_pad_set_property):
1707           Use g_value_get_object() instead of g_value_dup_gst_object(),
1708           to avoid double-reffing the pad template (which we then sink,
1709           so this worked previously if (and only if) the pad template
1710           was floating.
1711
1712         * gst/gstpadtemplate.c: (gst_pad_template_init),
1713         (gst_pad_template_pad_created):
1714           Never return floating references to pad templates, create
1715           them as initially-sunken.
1716
1717           Document an extra function (and make this stop sinking our
1718           pad template, since that is now guaranteed to do nothing,
1719           since we created it sunken).
1720
1721         * gst/gstghostpad.c:
1722           Fix docs typo.
1723
1724 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1725
1726         * gst/gstinfo.c: (__gst_in_valgrind):
1727           Add some newlines.
1728
1729         * plugins/elements/gsttypefindelement.c:
1730         (gst_type_find_element_chain):
1731           Don't leak buffer caps.
1732
1733 2006-04-06  Michael Smith  <msmith@fluendo.com>
1734
1735         * gst/parse/grammar.y:
1736           Fix a leak in parse-launch for any source-or-sink named element 
1737           references used.
1738
1739         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1740           Unref the pipeline if it exists after we've failed parsing.
1741
1742 2006-04-05  Michael Smith  <msmith@fluendo.com>
1743
1744         * gst/gstpipeline.c: (gst_pipeline_init):
1745           When we create a pipeline bus, initially create it in flushing mode.
1746           Fixes leaks in at least one test, and makes a new pipeline work the
1747           same as one that has gone to READY and then back to NULL.
1748
1749         * gst/gstelement.c:
1750           Typo fix in docs.
1751
1752 2006-04-05  Michael Smith  <msmith@fluendo.com>
1753
1754         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1755           Unref a pad we reffed.
1756         * tests/check/gst/gstutils.c: (GST_START_TEST):
1757           Unref bins
1758
1759 2006-04-05  Michael Smith  <msmith@fluendo.com>
1760
1761         * gst/gstquery.c: (gst_query_set_formats),
1762         (gst_query_set_formatsv):
1763           Fix leaking GValues in queries, as shown by valgrind/testsuite.
1764
1765 2006-04-05  Michael Smith  <msmith@fluendo.com>
1766
1767         * tests/check/generic/sinks.c: (GST_START_TEST):
1768           Fix a variety of memleaks in sinks check, which are only sometimes 
1769           shown by running the tests under valgrind (weird?).
1770
1771 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
1772
1773         * docs/version.entities.in:
1774           Fix the substituted entity name after thomas' changes on the
1775           weekend.
1776
1777 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1778
1779         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1780         VALGRIND_PRINTF
1781         
1782 2006-04-05  Andy Wingo  <wingo@pobox.com>
1783
1784         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1785
1786         * libs/gst/base/gstbasetransform.c
1787         (gst_base_transform_sink_eventfunc): When resetting our segment on
1788         FLUSH_STOP, also update the flag saying we haven't seen a
1789         newsegment.
1790
1791 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1792
1793         Patch by: Paolo Borelli  <pborelli at katamail dot com>
1794
1795         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1796         (gst_plugin_check_license):
1797           minor clean-ups: G_DEFINE_TYPE already takes care of the
1798           parent_class stuff, no need to do it twice. Mark array of
1799           license strings as constant. (#337103)
1800           
1801 2006-04-04  Michael Smith  <msmith@fluendo.com>
1802
1803         * tools/gst-inspect.c: (print_element_list):
1804           Free the right plugin list; fixes a memory leak.
1805
1806 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1807
1808         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
1809
1810         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1811           Don't error out on empty buffers (#336945).
1812           
1813 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
1814
1815         * docs/libs/gstreamer-libs-sections.txt:
1816         * gst/gsttaglist.c:
1817         * libs/gst/base/gstbasesink.c:
1818         * libs/gst/base/gstbasesink.h:
1819         * libs/gst/base/gstbasesrc.c:
1820         * libs/gst/base/gstbasesrc.h:
1821           Documentation updates. Make BaseSink and BaseSrc docs contain the
1822           class structure so that people can actually see the prototypes for
1823           virtual functions they're supposed to be overriding.
1824
1825 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1826
1827         * plugins/elements/gsttypefindelement.c:
1828         (gst_type_find_element_chain):
1829           More debug info; when skipping typefinding, send cached
1830           events in all cases.
1831
1832 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1833
1834         * configure.ac:
1835           use new AS_VERSION and AS_NANO macros
1836         * gst/gst-i18n-lib.h:
1837         * gst/gst.c:
1838         * gst/gsterror.c:
1839         * gst/gstversion.h.in:
1840         * win32/common/config.h:
1841         * win32/common/config.h.in:
1842           update accordingly
1843
1844 2006-03-31  Michael Smith  <msmith@fluendo.com>
1845
1846         * plugins/elements/gsttypefindelement.c:
1847         (gst_type_find_element_chain):
1848           Do not typefind content if the buffers already have caps.
1849           Neccesary for icydemux (#333657), and the right thing to do anyway.
1850
1851 2006-03-30  Wim Taymans  <wim@fluendo.com>
1852
1853         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1854         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1855         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1856         (gst_base_sink_record_qos_observation),
1857         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1858         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1859         (gst_base_sink_change_state):
1860         More QoS measurements as described in the design doc.
1861         Get rid of ringbuffer with observations, running average is
1862         more simple and equally good.
1863         Calculates valid proportion now.
1864         Added beginning of flood measurement.
1865
1866 2006-03-29  Wim Taymans  <wim@fluendo.com>
1867
1868         * docs/design/part-qos.txt:
1869         * gst/gstclock.c:
1870         Small documentation updates and additions.
1871
1872 2006-03-29  Wim Taymans  <wim@fluendo.com>
1873
1874         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1875         (gst_base_src_send_event), (gst_base_src_loop),
1876         (gst_base_src_change_state):
1877         Perform the EOS logic when we reach the segment stop position.
1878         Fix compilation on gcc4.1
1879
1880 2006-03-29  Wim Taymans  <wim@fluendo.com>
1881
1882         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1883
1884         * plugins/elements/gstqueue.c: (gst_queue_init),
1885         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1886         (gst_queue_set_property):
1887         * plugins/elements/gstqueue.h:
1888         In queue, when EOS is received, if minimum threshold > max_size -
1889         current_level, there is chance that queue blocks forever in conditional
1890         item del wait. This is because the queue is not emptied completely due
1891         to minimum threshold.  Here is another approach. Instead of setting
1892         cur_levels to max in EOS, just zero all minimum threshold levels. This
1893         should make sure that queue gives out all data. When going to READY
1894         (stop) state, just reset the original minimum threshold levels.
1895         Fixes #336336.
1896
1897 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
1898
1899         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1900         (gst_type_find_element_handle_event),
1901         (gst_type_find_element_send_cached_events),
1902         (gst_type_find_element_change_state):
1903         * plugins/elements/gsttypefindelement.h:
1904           When typefinding is done in push mode, we should cache
1905           events we receive during typefinding instead of just
1906           dropping them (e.g. newsegment, custom events from
1907           dvdreadsrc etc.) and then send them out once we've
1908           determined the type of the stream (and decodebin
1909           has had a chance to plug in a decoder/demuxer).
1910           
1911 2006-03-27  Wim Taymans  <wim@fluendo.com>
1912
1913         * docs/design/part-qos.txt:
1914         First QoS ideas.
1915
1916 2006-03-27  Wim Taymans  <wim@fluendo.com>
1917
1918         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1919
1920         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1921         (gst_base_src_send_event), (gst_base_src_change_state):
1922         Handle element seek correctly when we are streaming.
1923         Fixes #326998.
1924
1925 2006-03-24  Michael Smith  <msmith@fluendo.com>
1926
1927         * docs/faq/gst-uninstalled:
1928           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1929           allow you to correctly run intalled applications built against old 
1930           core, using plugins that require updated core (e.g. running
1931           installed totem against a full uninstalled gstreamer stack)
1932
1933 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1934
1935         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1936         more debug details
1937
1938 2006-03-24  Wim Taymans  <wim@fluendo.com>
1939
1940         * docs/gst/gstreamer-sections.txt:
1941         Rearrange the order of the methods so that related methods
1942         are grouped together in sections.
1943
1944 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1945
1946         * gst/gstelement.c:
1947           Little clarification in the docs
1948
1949 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1950
1951         * docs/README:
1952         formatting fix
1953         * plugins/elements/gstidentity.c:
1954         * plugins/elements/gstqueue.c:
1955         * plugins/elements/gsttee.c:
1956         * plugins/elements/gsttypefindelement.c:
1957         GST_ELEMENT_DETAILS formatting
1958
1959 2006-03-24  Wim Taymans  <wim@fluendo.com>
1960
1961         * libs/gst/base/gstbasesink.h:
1962         Only add fields, not insert or we break ABI.
1963
1964 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1965
1966         * win32/common/libgstbase.def:
1967         * win32/common/libgstreamer.def:
1968           Update, add recently added functions.
1969
1970 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1971
1972         * docs/gst/gstreamer-sections.txt:
1973         * gst/gstutils.c: (gst_pad_query_peer_position),
1974         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
1975         * gst/gstutils.h:
1976           API: add some new utility functions:
1977            - gst_pad_query_peer_position()
1978            - gst_pad_query_peer_duration()
1979            - gst_pad_query_peer_convert()
1980           
1981 2006-03-23  Wim Taymans  <wim@fluendo.com>
1982
1983         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1984         (gst_base_sink_init), (gst_base_sink_finalize),
1985         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
1986         (gst_base_sink_set_property), (gst_base_sink_get_property),
1987         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
1988         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1989         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
1990         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1991         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1992         (gst_base_sink_preroll_object), (gst_base_sink_event),
1993         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
1994         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1995         (gst_base_sink_query), (gst_base_sink_change_state):
1996         Decouple max-lateness and the fact that QoS messages are generated
1997         with a new property (qos).
1998         added API: GstBaseSink::async_play()
1999         Add vmethod so subclasses can be notified of ASYNC playing
2000         state changes.
2001         Collect timestamp start and stop to report better current
2002         position in EOS/PLAYING/PAUSED/READY/NULL.
2003         Refactor QoS/frame dropping and other measurements.
2004         API: GstBaseSrc::qos
2005         Fixes #326311
2006
2007         * libs/gst/base/gstbasesink.h:
2008         Added Private struct.
2009         API: gst_base_sink_set_qos_enabled()
2010         API: gst_base_sink_is_qos_enabled()
2011
2012 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2013
2014         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2015           If compiling against GLib-2.8 or newer, try to read the
2016           registry file using GMappedFile first before falling back
2017           to fopen() + fread() (#332151).
2018
2019 2006-03-22  Wim Taymans  <wim@fluendo.com>
2020
2021         * gst/gstinfo.c: (gst_debug_set_active),
2022         (gst_debug_category_set_threshold):
2023         Disable debugging unless explicitly activated.
2024         Fixes #335480.
2025
2026 2006-03-22  Wim Taymans  <wim@fluendo.com>
2027
2028         * gst/gstelement.c: (gst_element_set_locked_state),
2029         (gst_element_dispose):
2030         Cleanup the error case.
2031
2032         * gst/gstobject.c: (gst_object_dispose):
2033         print a critical when some object was disposed with
2034         a parent, also revive the object since it might
2035         crash the parent.
2036
2037 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2038
2039         * tools/gst-launch.1.in:
2040           Fix another typo.
2041
2042 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2043
2044         * configure.ac:
2045         * tests/check/Makefile.am:
2046           disable some tests when we don't have a registry
2047         * tests/check/gst/gstutils.c: (gst_utils_suite):
2048           don't build the part that needs parsing
2049
2050 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2051
2052         * gst/Makefile.am
2053         * tests/examples/Makefile.am:
2054           fix --disable-parse build
2055
2056 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2057
2058         * tools/gst-feedback.1.in:
2059           Fix typo: s/feeback/feedback/ (#133494).
2060
2061 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2062
2063         * tools/Makefile.am:
2064         * tools/gst-launch.1.in:
2065           Add FILES section and correct entry about GST_REGISTRY_PATH
2066           environment variable (#133495; #133494).
2067
2068 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2069
2070         * tools/Makefile.am:
2071         * tools/gst-md5sum.1.in:
2072         * tools/gst-md5sum.c:
2073           Remove gst-md5sum and man page (the md5sink element
2074           required was removed ages ago)
2075
2076 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2077
2078         * gst/gststructure.c: (gst_structure_id_set_value):
2079           Make sure that string fields in structures/taglists
2080           contain valid UTF-8 - we don't want to pass rubbish to
2081           applications because of a buggy plugin (cp. #334167).
2082
2083 2006-03-21  Edward Hervey  <edward@fluendo.com>
2084
2085         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2086         (gst_bin_handle_message_func):
2087         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2088         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2089         (gst_element_set_bus_func):
2090         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2091         * gst/gstminiobject.c: (gst_value_set_mini_object),
2092         (gst_value_take_mini_object):
2093         * gst/gstpad.c: (gst_pad_set_pad_template):
2094         * gst/gstpipeline.c: (gst_pipeline_dispose),
2095         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2096         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2097         (gst_collect_pads_chain):
2098         * libs/gst/net/gstnettimeprovider.c:
2099         (gst_net_time_provider_set_property):
2100         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2101         It's in fact all issues with gst_*object_replace().
2102
2103 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2104
2105         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2106         
2107         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2108         * pkgconfig/gstreamer-check.pc.in:
2109           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2110
2111 2006-03-21  Edward Hervey  <edward@fluendo.com>
2112
2113         * gst/gstbuffer.h:
2114         * gst/gstevent.h:
2115         * gst/gstmessage.h:
2116         gst_[buffer|event|message]_ref() macros are replaced by a static
2117         inline functions because gcc-4.1 will about if the return value
2118         isn't used.
2119         * tests/check/gst/gstevent.c: (event_probe):
2120         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2121
2122 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2123
2124         * gst/gstutils.h:
2125         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2126         the type' case. (Closes: #335195 for now). In the future, when we
2127         depend on GLib 2.10, we could also intern the type name using
2128         g_intern_static_string()
2129
2130 2006-03-20  Wim Taymans  <wim@fluendo.com>
2131
2132         * gst/gstbin.c: (gst_bin_handle_message_func),
2133         (bin_query_max_init), (bin_query_position_fold),
2134         (bin_query_position_done), (gst_bin_query):
2135         Position query should also take max of all streams.
2136
2137 2006-03-20  Wim Taymans  <wim@fluendo.com>
2138
2139         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2140         (gst_fake_src_finalize):
2141         Fix leaks in fakesrc.
2142
2143         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2144         Fix leaks in the testcase.
2145
2146 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2147
2148         * gst/gst_private.h:
2149           add win32 specific import decoration(__declspec(dllimport)) 
2150           for all extern GstDebugCategory * variables
2151         * win32/common/libgstbase.def:
2152         * win32/common/libgstcontroller.def:
2153         * win32/common/libgstreamer.def:
2154           Add some exports, remove empty lines
2155         * win32/common/libgstdataprotocol.def:
2156         * win32/common/libgstdataprotocol.dsp:
2157         * win32/common/libgstnet.def:
2158         * win32/common/libgstnet.dsp:
2159           new project files and exportation files added
2160         
2161 2006-03-19  Wim Taymans  <wim@fluendo.com>
2162
2163         * tests/check/libs/basesrc.c: (eos_event_counter):
2164         Use proper return value for probe.
2165
2166 2006-03-17  Wim Taymans  <wim@fluendo.com>
2167
2168         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2169         (gst_pad_push):
2170         Don't leak buffers, caps and pads on negotiation errors.
2171
2172 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2173
2174         * docs/faq/cvs.xml:
2175         * docs/faq/dependencies.xml:
2176         * docs/faq/developing.xml:
2177         * docs/faq/faq.xml:
2178         * docs/faq/general.xml:
2179         * docs/faq/getting.xml:
2180         * docs/faq/legal.xml:
2181         * docs/faq/troubleshooting.xml:
2182         * docs/faq/using.xml:
2183         Faq review and update.
2184
2185 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2186
2187         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2188         (gst_pad_push):
2189         Don't pound the cpu to pieces by checking get_caps when accept_caps
2190         is called with the same caps as the pad already has.
2191         Use GST_DEBUG_OBJECT when outputting caps change information.
2192
2193 2006-03-15  Wim Taymans  <wim@fluendo.com>
2194
2195         * gst/gstclock.c: (gst_clock_class_init):
2196         Fix docs.
2197
2198 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2199
2200         * gst/gstbuffer.h:
2201         Documentation fix.
2202
2203         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2204         (gst_pad_accept_caps), (gst_pad_configure_sink),
2205         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2206         Make the default acceptcaps behaviour be to check the requested 
2207         caps against the gst_pad_get_caps output. 
2208
2209         Ensure that gst_pad_accept_caps is used to check caps when a pad
2210         doesn't have a setcaps function, so that pads automatically refuse 
2211         caps that they don't allow in their pad template. (Fixes #332986)
2212
2213         When a buffer with attached caps is pushed, ensure that the source 
2214         pad receives those caps even if the element didn't call
2215         gst_pad_set_caps first.
2216
2217 2006-03-15  Wim Taymans  <wim@fluendo.com>
2218
2219         * libs/gst/base/gstadapter.c:
2220         Add some docs.
2221
2222 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2223
2224         * win32/common/libgstbase.def:
2225         * win32/common/libgstcontroller.def:
2226         * win32/common/libgstreamer.def:
2227           Add a whole bunch of missing functions (#334434).
2228
2229 2006-03-14  Wim Taymans  <wim@fluendo.com>
2230
2231         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2232         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2233         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2234         Better debug info when we receive a segment event.
2235         Reorganize a bit so we can pass the get_times() results around.
2236         Use the segment format when calculating the running time.
2237         Don't do QoS is sync is disabled or we have no clock or the
2238         element does not want us to sync to the clock.
2239         Don't drop buffers if QoS is disabled for now.
2240
2241 2006-03-14  Wim Taymans  <wim@fluendo.com>
2242
2243         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2244         Marked the stats property as unimplemented so people don't get
2245         wild ideas.
2246         Add debug message when regression goes wrong.
2247         Added some more docs.
2248
2249 2006-03-14  Wim Taymans  <wim@fluendo.com>
2250
2251         * gst/gstsegment.c: (gst_segment_to_stream_time):
2252         Return correct return type in case of errors.
2253
2254 2006-03-14  Wim Taymans  <wim@fluendo.com>
2255
2256         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2257           Don't segfault on invalid formats.
2258
2259 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2260
2261         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2262           Can't use gst_segment_to_running_time() when the segment
2263           is not in GST_TIME_FORMAT (like with filesink, for example).
2264           Stops flac encoding pipelines from spewing critical warnings
2265           at EOS (#331248).
2266           
2267 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2268
2269         * gst/gstpipeline.c: (gst_pipeline_class_init):
2270           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2271
2272         * plugins/elements/gsttypefindelement.c:
2273         (gst_type_find_element_handle_event):
2274           Don't try to typefind empty streams.
2275
2276 2006-03-14  Wim Taymans  <wim@fluendo.com>
2277
2278         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2279         (gst_base_sink_do_qos):
2280         Separate QoS calculation.
2281         Only drop buffers when lateness is bigger than the 
2282         duration of the buffer.
2283
2284 2006-03-13  Wim Taymans  <wim@fluendo.com>
2285
2286         * gst/gstpipeline.c: (gst_pipeline_set_property),
2287         (gst_pipeline_get_property), (do_pipeline_seek),
2288         (gst_pipeline_change_state), (gst_pipeline_set_delay),
2289         (gst_pipeline_get_delay):
2290         Don't deadlock when reading properties.
2291
2292 2006-03-13  Wim Taymans  <wim@fluendo.com>
2293
2294         * libs/gst/base/gstbasetransform.c:
2295         (gst_base_transform_class_init), (gst_base_transform_init),
2296         (gst_base_transform_sink_event),
2297         (gst_base_transform_sink_eventfunc),
2298         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2299         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2300         (gst_base_transform_set_property),
2301         (gst_base_transform_get_property),
2302         (gst_base_transform_change_state), (gst_base_transform_update_qos),
2303         (gst_base_transform_set_qos_enabled),
2304         (gst_base_transform_is_qos_enabled):
2305         * libs/gst/base/gstbasetransform.h:
2306         Make basetransform virtual method for src events too.
2307         Handle QOS in basetransform.
2308         API: gst_base_transform_update_qos()
2309         API: gst_base_transform_set_qos_enabled()
2310         API: gst_base_transform_is_qos_enabled()
2311
2312 2006-03-13  Wim Taymans  <wim@fluendo.com>
2313
2314         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2315         (gst_base_sink_do_sync):
2316         Small cleanups.
2317         Use QOS debug category.
2318
2319 2006-03-13  Wim Taymans  <wim@fluendo.com>
2320
2321         * plugins/elements/gstqueue.c:
2322         Very small doc update.
2323
2324 2006-03-13  Wim Taymans  <wim@fluendo.com>
2325
2326         * gst/gst_private.h:
2327         * gst/gstinfo.c: (_gst_debug_init):
2328         Added QOS debug category
2329
2330 2006-03-13  Wim Taymans  <wim@fluendo.com>
2331
2332         * docs/gst/gstreamer-sections.txt:
2333         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2334         * gst/gstbin.h:
2335         * gst/gstbus.c: (gst_bus_class_init):
2336         * gst/gstbus.h:
2337         * gst/gstclock.c:
2338         * gst/gstelement.c: (gst_element_set_locked_state):
2339         * gst/gstsegment.c:
2340         Documentation updates.
2341
2342         * gst/gstpipeline.c: (gst_pipeline_get_type),
2343         (gst_pipeline_class_init), (gst_pipeline_init),
2344         (gst_pipeline_dispose), (gst_pipeline_set_property),
2345         (gst_pipeline_get_property), (do_pipeline_seek),
2346         (gst_pipeline_send_event), (gst_pipeline_change_state),
2347         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2348         (gst_pipeline_get_delay):
2349         * gst/gstpipeline.h:
2350         Added methods for setting the delay.
2351         API: gst_pipeline_set_delay()
2352         API: gst_pipeline_get_delay()
2353         Add pipeline debug category
2354         Various cleanups.
2355         Updated docs.
2356         Don't reset stream time when seek failed.
2357
2358 2006-03-13  Wim Taymans  <wim@fluendo.com>
2359
2360         * docs/design/draft-klass.txt:
2361         * docs/design/part-clocks.txt:
2362         * docs/design/part-events.txt:
2363         * docs/design/part-gstbin.txt:
2364         * docs/design/part-gstpipeline.txt:
2365         * docs/design/part-messages.txt:
2366         * docs/design/part-negotiation.txt:
2367         * docs/design/part-overview.txt:
2368         * docs/design/part-preroll.txt:
2369         * docs/design/part-seeking.txt:
2370         * docs/design/part-states.txt:
2371         * docs/design/part-streams.txt:
2372         Documentation updates.
2373
2374 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2375
2376         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2377         us to leak strings...
2378
2379 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2380
2381         * libs/gst/net/gstnettimeprovider.c:
2382           fix docs
2383         * win32/common/config.h:
2384           update
2385
2386 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2387
2388         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2389
2390         * configure.ac:
2391           Don't check for libgnomeui (leftover from old examples
2392           that aren't built or disted any longer) (#334303).
2393           
2394 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2395
2396         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2397         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2398           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2399           there's no space left on the device.
2400
2401 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2402
2403         * gst/gstclock.h:
2404           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2405           to cast the input to GstClockTime before comparing with
2406           another GstClockTime value.
2407
2408 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2409
2410         * configure.ac:
2411           back to trunk
2412
2413 === release 0.10.4 ===
2414
2415 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2416
2417         * configure.ac:
2418           releasing 0.10.4, "Light"
2419
2420 2006-03-10  Michael Smith  <msmith@fluendo.com>
2421
2422         * libs/gst/dataprotocol/dataprotocol.c:
2423           Fix docs for dataprocotol to not get the return types completely
2424           wrong for a few functions.
2425
2426 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2427
2428         * docs/gst/gstreamer-sections.txt:
2429         * gst/gstpipeline.c: (gst_pipeline_class_init),
2430         (gst_pipeline_init), (gst_pipeline_set_property),
2431         (gst_pipeline_get_property), (gst_pipeline_change_state),
2432         (gst_pipeline_set_auto_flush_bus),
2433         (gst_pipeline_get_auto_flush_bus):
2434         * gst/gstpipeline.h:
2435           Add new API: gst_pipeline_set_auto_flush_bus() and
2436           gst_pipeline_get_auto_flush_bus() to disable automatic
2437           flushing of the pipeline's GstBus when going from READY
2438           to NULL state (#332045).
2439
2440 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2441
2442         * docs/gst/gstreamer-sections.txt:
2443         * gst/gsturi.c: (gst_uri_has_protocol):
2444         * gst/gsturi.h:
2445            Add new API: gst_uri_has_protocol() (#333779).
2446
2447 2006-03-09  Wim Taymans  <wim@fluendo.com>
2448
2449         * gst/gstclock.c: (gst_clock_entry_new),
2450         (gst_clock_id_compare_func), (gst_clock_id_wait),
2451         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2452         (gst_clock_init), (gst_clock_get_internal_time),
2453         (gst_clock_set_master), (do_linear_regression),
2454         (gst_clock_add_observation), (gst_clock_set_property):
2455         * gst/gstclock.h:
2456         Review docs.
2457         Small cleanups.
2458         Fix a possible segfault when the window-size is made smaller.
2459         Calculate jitter before performing the clock wait. Ideally
2460         the clock implementation should calculate jitter but we need
2461         API breakage for that.
2462
2463         * gst/gstsystemclock.c: (gst_system_clock_init):
2464         Docs review.
2465         
2466         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2467         Remove leftover else
2468
2469         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2470         (gst_systemclock_suite):
2471         Added check to test GST_CLOCK_DIFF.
2472
2473 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2474
2475         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2476         (gst_type_find_helper_get_range):
2477           If we are provided with the size, we should implement
2478           GstTypeFind::get_length, so that typefind functions who
2479           want to can actually peek at the middle of a file.
2480
2481 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2482
2483         * docs/manual/advanced-dataaccess.xml:
2484           Add some very very basic error checking.
2485
2486         * docs/pwg/appendix-checklist.xml:
2487           Some updates to the list of things to check when writing an element.
2488
2489 2006-03-08  Wim Taymans  <wim@fluendo.com>
2490
2491         * docs/design/part-element-transform.txt:
2492         Added some docs about the design of tranform elements.
2493
2494         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2495         (gst_base_src_loop), (gst_base_src_change_state):
2496         Mark buffers with the DISCONT flag.
2497
2498 2006-03-08  Michael Smith  <msmith@fluendo.com>
2499
2500         * gst/gstregistry.h:
2501         * gst/gstregistryxml.c: (gst_registry_save),
2502         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2503         (gst_registry_xml_save_pad_template),
2504         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2505         (gst_registry_xml_write_cache):
2506           Rewrite registry-saving to avoid race conditions and check for
2507           failed writes.
2508
2509 2006-03-08  Wim Taymans  <wim@fluendo.com>
2510
2511         * libs/gst/base/gstbasetransform.c:
2512         (gst_base_transform_transform_caps),
2513         (gst_base_transform_transform_size),
2514         (gst_base_transform_prepare_output_buffer),
2515         (gst_base_transform_get_unit_size),
2516         (gst_base_transform_buffer_alloc),
2517         (gst_base_transform_handle_buffer),
2518         (gst_base_transform_change_state):
2519         Cleanups, separate normal flow from errors, add sensible
2520         DEBUG lines.
2521         Don't try to renegotiate when allocating an output buffer.
2522         Also copy DISCONT buffer flag when copying a buffer.
2523         Reset the transform after we finish streaming, not during.
2524
2525 2006-03-08  Wim Taymans  <wim@fluendo.com>
2526
2527         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2528         Use last buffer timestamp in qos message.
2529
2530 2006-03-07  Wim Taymans  <wim@fluendo.com>
2531
2532         Patch by: Christophe Fergeau
2533
2534         * docs/pwg/advanced-tagging.xml:
2535         * docs/pwg/building-pads.xml:
2536           fixes #333416
2537
2538 2006-03-07  Wim Taymans  <wim@fluendo.com>
2539
2540         * docs/libs/gstreamer-libs-sections.txt:
2541         Added basesink new methods.
2542
2543         * gst/gstevent.c:
2544         * gst/gstevent.h:
2545         Docs updates. Flesh out the QoS docs.
2546
2547         * libs/gst/base/gstadapter.c:
2548         Small doc clarification about ownership and flushing.
2549
2550         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2551         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2552         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2553         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2554         * libs/gst/base/gstbasesink.h:
2555         API additions: 
2556         Added new methods to allow subclass to control max-lateness 
2557         and sync.
2558         Generate very basic QoS events based on last sync observation.
2559         Updated docs, fix typo, added some QoS blurb.
2560
2561         * libs/gst/base/gstbasesrc.c:
2562         Remove obsolete _get_state() calls from docs.
2563
2564 2006-03-07  Wim Taymans  <wim@fluendo.com>
2565
2566         * docs/libs/gstreamer-libs-sections.txt:
2567         * libs/gst/base/gstbasetransform.h:
2568         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2569         Fix docs for GstBaseSrc.
2570
2571 2006-03-07  Wim Taymans  <wim@fluendo.com>
2572
2573         * docs/gst/gstreamer-sections.txt:
2574         * gst/gstbuffer.h:
2575         * gst/gstvalue.c:
2576         * libs/gst/base/gstbasetransform.h:
2577         Small documentation fixes.
2578
2579 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2580
2581         * gst/gstvalue.c:
2582           Document thread-unsafety of gst_value_register_foo_func()
2583           when used at the same time as gst_value_foo() (#322628).
2584
2585 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2586
2587         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2588         (gst_push_src_check_get_range):
2589           Push sources don't support pull mode by default.
2590
2591 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2592
2593         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2594         (gst_base_src_init), (gst_base_src_pad_check_get_range),
2595         (gst_base_src_default_check_get_range):
2596         * libs/gst/base/gstbasesrc.h:
2597           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2598           provide default implementation, and rename
2599           gst_base_src_check_get_range() to
2600           gst_base_src_pad_check_get_range() for clarity.
2601
2602 2006-03-06  Wim Taymans  <wim@fluendo.com>
2603
2604         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2605         Make property overridable.
2606
2607 2006-03-06  Wim Taymans  <wim@fluendo.com>
2608
2609         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2610         (gst_base_sink_init), (gst_base_sink_set_property),
2611         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2612         * libs/gst/base/gstbasesink.h:
2613         API addition: Make max-lateness a property.
2614
2615 2006-03-06  Wim Taymans  <wim@fluendo.com>
2616
2617         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2618         (gst_base_sink_do_sync), (gst_base_sink_render_object):
2619         Don't ever draw a frame that is >10ms late.
2620
2621 2006-03-06  Michael Smith  <msmith@fluendo.com>
2622
2623         * gst/gstmessage.c: (_gst_message_copy):
2624           When copying a message, set the parent_refcount of the enclosed
2625           structure to point at the copy, not the original message.
2626
2627 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2628
2629         Patch by: Christophe Fergeau
2630
2631         * gst/gstutils.h:
2632           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2633           usable in c++ code (#333417)
2634
2635 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2636
2637         * gst/gstclock.h:
2638           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2639
2640 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
2641
2642         * libs/gst/base/gstbasetransform.c:
2643         (gst_base_transform_transform_caps):
2644           Make sure caps are writable before passing them to
2645           gst_caps_append().
2646
2647 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2648
2649         * gst/gsterror.h:
2650           Fix some minor docs errors.
2651
2652 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2653
2654           Patch by: Ross Burton <ross at burtonini dot com>
2655
2656         * gst/gsterror.c: (_gst_resource_errors_init):
2657         * gst/gsterror.h:
2658           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2659
2660 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2661
2662         * gst/gst.c:
2663         Add a check and output a g_warning when GStreamer is built
2664         against GLib 2.6 but running against 2.8 or higher, and vice 
2665         versa. (Closes: #323542)
2666
2667 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2668
2669         * gst/parse/parse.l:
2670           Commit patch for parse_launch syntax from #331255. Removes 
2671           support for quoted strings and mimetypes when writing filtered 
2672           caps. See the bug report for more details - I'm pretty sure this
2673           obscure feature is not in use by _anyone_ anywhere.
2674
2675           With this simple change, the size of the gstreamer.so here 
2676           drops from 2193KB to 1565KB.
2677
2678 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2679
2680         * plugins/elements/gsttypefindelement.h:
2681         * plugins/elements/gsttypefindelement.c:
2682         (gst_type_find_element_src_event), (start_typefinding),
2683         (stop_typefinding), (gst_type_find_element_handle_event),
2684         (gst_type_find_element_chain),
2685         (gst_type_find_element_chain_do_typefinding):
2686           Use gst_type_find_helper_for_buffer() for chain-based
2687           typefinding.
2688
2689 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2690
2691         * plugins/elements/gsttypefindelement.c:
2692         (gst_type_find_element_class_init),
2693         (gst_type_find_element_set_property),
2694         (gst_type_find_element_get_property):
2695           Deprecate "maximum" property (not only was it only taken into
2696           account for typefinding in push-mode anyway, it also was never
2697           actually possible to set it in the first place because the
2698           property was registered with the numeric property ID for the
2699           "minimum" property). Register "maximum" property correctly,
2700           for the sake of future copy'n'pasters. Remove some cruft
2701           from property get/set functions.
2702
2703 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2704
2705         * plugins/elements/gsttypefindelement.c:
2706         (gst_type_find_element_activate):
2707           Use gst_type_find_helper_get_range() here, so we
2708           can honour the "minimum" property and also emit
2709           the signal with the correct probability of the found caps.
2710
2711 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
2712
2713         * docs/libs/gstreamer-libs-sections.txt:
2714         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2715         (helper_find_suggest), (gst_type_find_helper_get_range),
2716         (gst_type_find_helper):
2717         * libs/gst/base/gsttypefindhelper.h:
2718           New API: gst_type_find_helper_get_range() (#333042).
2719
2720 2006-03-02  Michael Smith  <msmith@fluendo.com>
2721
2722         * gst/gstregistryxml.c: (load_feature):
2723           Asserting on a failure to read part of the registry is Not Cool.
2724           Just log a warning and return NULL (which is already handled)
2725
2726 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
2727
2728         * win32/common/libgstbase.def:
2729           added export of gst_type_find_helper_for_buffer
2730         * win32/common/libgstbase.def:
2731           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2732           gst_ghost_pad_get_target
2733
2734 2006-02-28  Wim Taymans  <wim@fluendo.com>
2735
2736         * docs/design/draft-klass.txt:
2737         We use Filter now.
2738         Added Connector to mark elements that are only used to
2739         allow pipeline connections.
2740         Moved Debug to extra feature since most of them are 
2741         functionally something else.
2742
2743 2006-02-28  Wim Taymans  <wim@fluendo.com>
2744
2745         * docs/design/draft-klass.txt:
2746         Some updates and clarifications.
2747
2748 2006-02-28  Wim Taymans  <wim@fluendo.com>
2749
2750         * docs/design/draft-klass.txt:
2751         Proposal for klass field values.
2752
2753         * docs/design/part-streams.txt:
2754         Start of a doc describing stream anatomy.
2755
2756 2006-02-28  Wim Taymans  <wim@fluendo.com>
2757
2758         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2759         Help the compiler a bit with type registration.
2760         Use existing forward cod path instead of duplicating it when 
2761         handling a message.
2762         
2763         * gst/gstbus.c: (gst_bus_get_type):
2764         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2765         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2766         * gst/gstclock.c: (gst_clock_get_type):
2767         * gst/gstelement.c: (gst_element_get_type),
2768         * gst/gstelementfactory.c: (gst_element_factory_get_type):
2769         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2770         * gst/gstminiobject.c: (gst_mini_object_get_type):
2771         * gst/gstpad.c: (gst_pad_get_type):
2772         * gst/gstsegment.c: (gst_segment_get_type):
2773         * gst/gststructure.c: (gst_structure_get_type):
2774         * gst/gstsystemclock.c: (gst_system_clock_get_type):
2775         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2776         * gst/gstvalue.c:
2777         Help compiler with type registration.
2778
2779         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2780         Small doc update.
2781
2782 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2783
2784         * plugins/elements/gsttypefindelement.c:
2785         (gst_type_find_element_handle_event):
2786           When we get an EOS event and have not found a type yet
2787           (most likely because we had not yet accumulated
2788           TYPE_FIND_MIN_SIZE of data yet), try to determine the
2789           type given the data we have so far. Fixes typefinding
2790           for very short streams again, most notably quicktime
2791           redirections as used on Apple's trailer site (#331701).
2792
2793 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2794
2795         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2796         (gst_type_find_helper):
2797           Try typefinding factories with the highest rank first.
2798
2799 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2800
2801         * docs/libs/gstreamer-libs-docs.sgml:
2802         * docs/libs/gstreamer-libs-sections.txt:
2803         * libs/gst/base/gsttypefindhelper.c:
2804           Add section for typefind helper and add documentation
2805           for the old and the new function.
2806
2807 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2808
2809         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
2810         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
2811         (gst_type_find_helper_for_buffer):
2812         * libs/gst/base/gsttypefindhelper.h:
2813           New API: gst_type_find_helper_for_buffer() (#332723).
2814           
2815 2006-02-27  Michael Smith  <msmith@fluendo.com>
2816
2817         Patch by: Loïc Minier
2818
2819         * configure.ac:
2820         * docs/Makefile.am:
2821         * docs/slides/Makefile.am:
2822           prevent CVS directories getting disted.
2823
2824 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2825
2826         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
2827           Use the REFCOUNTING category for caps refcounting.
2828           
2829 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2830
2831         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2832           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2833
2834 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2835
2836         * plugins/elements/gsttypefindelement.c:
2837         (gst_type_find_element_activate):
2838           Use gst_pad_check_pull_range() before _activate_pull()
2839           to avoid unnecessary open/close (see #331690).
2840
2841 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2842
2843         * gst/gstutils.c:
2844           Docs enhancement: make it crystal clear what the
2845           gst_pad_add_*_probe() callbacks should look like.
2846
2847 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2848
2849         * libs/gst/base/gstbasesrc.c:
2850           Document how applications can stop recording from
2851           live sources (see #330996).
2852
2853 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2854
2855         * tests/check/Makefile.am:
2856         * tests/check/libs/basesrc.c: (eos_event_counter),
2857         (basesrc_eos_events_pull), (basesrc_eos_events_push),
2858         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2859         (gst_basesrc_suite), (main):
2860           ... and add some tests for the base source EOS stuff.
2861
2862 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2863
2864         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2865           Test case originally showed the problem fixed below,
2866           but was then amended. Add checks back at the place
2867           where they used to be.
2868
2869 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2870
2871         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2872         (gst_base_src_init), (gst_base_src_loop),
2873         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2874         (gst_base_src_change_state):
2875         * libs/gst/base/gstbasesrc.h:
2876           Don't unconditionally send EOS when going from PAUSED to
2877           READY state, esp. make sure we don't send two EOS events
2878           in some cases (e.g. one when reaching EOS and one when
2879           going from PAUSED to READY). Also, we don't want to send
2880           EOS events when operating in pull mode. However, we do
2881           want to send an EOS event when shutting down a live
2882           source explicitly, for example (fixes #330996).
2883           
2884 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2885
2886         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2887           Update src->read_position after a seek when not using mmap.
2888           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2889
2890 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
2891
2892         * gst/Makefile.am:
2893         * gst/gstparse.h:
2894         * gst/gstutils.c:
2895         * gst/gstutils.h:
2896         Make things work with --disable-parse as they do with 
2897         --disable-load-save - the symbols involved disappear, but the
2898         header is still installed and GST_DISABLE_PARSE is included via
2899         gstconfig.h
2900
2901 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2902
2903         * libs/gst/base/gstbasetransform.c:
2904         (gst_base_transform_change_state): Fix a stupid bug. I was 
2905         sure I compiled that.
2906
2907 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2908
2909         * gst/gstpad.c: (gst_pad_set_blocked_async):
2910         * gst/gstutils.c: (gst_pad_add_data_probe),
2911         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2912         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2913         (gst_pad_remove_buffer_probe): Make those function act on the
2914         ghostpad target when it's a ghostpad. (Closes #331727)
2915
2916 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2917
2918         * libs/gst/base/gstbasetransform.c:
2919         (gst_base_transform_change_state): Make basetransform reusable.
2920         (Closes #331898)
2921
2922 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
2923
2924         * docs/random/release:
2925         Move the current documentation of how to do a release to the top
2926         of the file.
2927
2928         * gst/gstbin.c: (gst_bin_class_init),
2929         (gst_bin_handle_message_func):
2930         Allow multiple state-recalculation threads. (Closes #328873)
2931
2932 2006-02-19  Julien MOUTTE  <julien@moutte.net>
2933
2934         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2935         * gst/gstpad.c: (gst_pad_set_event_function),
2936         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2937         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2938         2 strings. You can't use the STR_NULL macro on that.
2939
2940 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
2941
2942         * gst/gstpad.c: (gst_pad_set_event_function),
2943         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2944         (gst_pad_set_getcaps_function)
2945         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2946           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2947           So now, we can use --gst-debug-level=5 on Windows
2948         * win32/common/libgstcontroller.def:
2949           Added export of gst_controller_init
2950         * win32/vs6/libgstcontroller.dsp:
2951           Fixed Release post build configuration
2952
2953 2006-02-17  Wim Taymans  <wim@fluendo.com>
2954
2955         * tests/check/gst/gstquery.c: (GST_START_TEST):
2956         Added another check.
2957
2958 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
2959
2960         * plugins/elements/gsttypefindelement.c: (find_peek):
2961           We can do peeks at non-zero offsets, as long as they
2962           fall within the buffer we have.
2963
2964 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
2965
2966         * tests/check/Makefile.am:
2967         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2968         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2969         (parse_suite), (main):
2970           Add testsuite for parse launch syntax
2971
2972 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
2973
2974         * plugins/elements/gsttypefindelement.c:
2975         (gst_type_find_element_chain):
2976           When typefinding is unsuccessful in the chain function, don't
2977           error out immediately. Only error out with NO_CAPS_FOUND if
2978           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
2979           otherwise simply wait for more data so we can try typefinding
2980           again with more data later. Also, don't attempt to typefind
2981           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
2982           this should improve typefinding from network sources where the
2983           size of the first buffer can be somewhat random.
2984
2985 2006-02-14  Wim Taymans  <wim@fluendo.com>
2986
2987         * docs/gst/gstreamer-sections.txt:
2988         * gst/gstpadtemplate.c:
2989         * gst/gstpadtemplate.h:
2990         Fix padtemplate docs, fixes #328805.
2991
2992 2006-02-14  Wim Taymans  <wim@fluendo.com>
2993
2994         * tools/gst-launch.c: (main):
2995         NO_PREROLL is not an ERROR so don't send confusing messages
2996         to the user.
2997
2998 2006-02-14  Wim Taymans  <wim@fluendo.com>
2999
3000         Patch by: Torsten Schoenfeld
3001
3002         * gst/gstregistry.c: (gst_registry_get_default),
3003         (_gst_registry_cleanup):
3004         Protect default registry with lock and ref/sink it.
3005         Fixes #324818
3006
3007 2006-02-14  Wim Taymans  <wim@fluendo.com>
3008
3009         * gst/gstbuffer.c:
3010         * gst/gstquery.c: (gst_query_list_add_format),
3011         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3012         (gst_query_parse_formats_nth):
3013         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3014         Docs fixes.
3015
3016 2006-02-14  Wim Taymans  <wim@fluendo.com>
3017
3018         * docs/gst/gstreamer-sections.txt:
3019         Reworked query docs.
3020
3021         * gst/gstquery.c: (gst_query_new_formats),
3022         (gst_query_list_add_format), (gst_query_set_formats),
3023         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3024         (gst_query_parse_formats_nth):
3025         * gst/gstquery.h:
3026         Flesh out formats query, added some new methods.
3027         Fix part of #324398.
3028
3029         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3030         Added query creation tests.
3031
3032 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3033
3034         * gst/gstpad.c: (fixate_value):
3035         Add a default fixation for fraction lists.
3036
3037 2006-02-13  Wim Taymans  <wim@fluendo.com>
3038
3039         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3040         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3041         (gst_task_join):
3042         * gst/gsttask.h:
3043         Detect and warn for obvious deadlocks. fixes #320340
3044         Fix error case where lock was not released.
3045
3046         * tests/check/Makefile.am:
3047         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3048         (task_func), (gst_element_suite), (main):
3049         Add task check.
3050
3051 2006-02-13  Wim Taymans  <wim@fluendo.com>
3052
3053         * docs/gst/gstreamer-sections.txt:
3054         * gst/gstbus.c:
3055         Add new functions to docs.
3056
3057 2006-02-13  Wim Taymans  <wim@fluendo.com>
3058
3059         * docs/design/part-TODO.txt:
3060         Updated TODO list, basesrc supports seeking to non-bytes
3061         formats.
3062
3063         * docs/design/part-element-sink.txt:
3064         Update docs.
3065
3066         * gst/gstbin.c: (bin_replace_message),
3067         (gst_bin_handle_message_func):
3068         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3069         * gst/gstevent.c: (gst_event_finalize):
3070         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3071         (gst_pad_send_event):
3072         Use shiny new _TYPE_NAME macros.
3073
3074         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3075         Move debug statement up.
3076
3077         * gst/gstelement.c: (gst_element_set_locked_state):
3078         Add some debugging.
3079
3080 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3081
3082         * docs/gst/gstreamer-sections.txt:
3083         * gst/gstmessage.h:
3084         * gst/gstquery.h:
3085           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3086           macros (#330906). Also, document the already existing
3087           GST_QUERY_TYPE macro.
3088
3089 2006-02-13  Wim Taymans  <wim@fluendo.com>
3090
3091         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3092         (event_probe), (GST_START_TEST):
3093         Only events up to the pipeline EOS are counted, there are
3094         some more when going to NULL currently which we don't care
3095         about for now.
3096
3097 2006-02-13  Wim Taymans  <wim@fluendo.com>
3098
3099         * gst/gstpad.c: (gst_pad_send_event):
3100         Correctly check flushing and emit probes. fixes #330125
3101
3102 2006-02-10  Andy Wingo  <wingo@pobox.com>
3103
3104         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3105         structure.
3106         (gst_bus_init): Cache the location of the private data in the
3107         instance structure.
3108         (gst_bus_enable_sync_message_emission) 
3109         (gst_bus_disable_sync_message_emission): Implement new public
3110         functions.
3111         (gst_bus_post): Emit the sync-message signal if the user asked for
3112         it. Fixes #330684.
3113
3114         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3115         location of the bus-private structure.
3116         (gst_bus_enable_sync_message_emission)
3117         (gst_bus_disable_sync_message_emission): API addition
3118
3119 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3120
3121         Patch by: Vincent Torri
3122
3123         * docs/pwg/building-boiler.xml:
3124         PWG patch from #326800
3125
3126 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3127
3128         * configure.ac:
3129         * docs/Makefile.am:
3130         * docs/design/Makefile.am:
3131           Dist design docs.
3132
3133 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3134
3135         * configure.ac:
3136           back to CVS
3137
3138 === release 0.10.3 ===
3139
3140 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3141
3142         * configure.ac:
3143           releasing 0.10.3, "Like a virgin"
3144
3145 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3146
3147         * configure.ac:
3148           2nd prerelease of 0.10.3
3149           Bump libtool versioning.
3150
3151 2006-02-07  Andy Wingo  <wingo@pobox.com>
3152
3153         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3154         update last_stop if we're in TIME format and the timestamp is
3155         valid.
3156
3157         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3158         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3159         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3160         If we get a new newsegment with a different format, adapt
3161         accordingly.
3162
3163         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3164         of 0. Not a problem, really.
3165
3166         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3167         warn if sync=true.
3168
3169 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3170
3171         * configure.ac:
3172           Prelease of 0.10.3
3173
3174 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3175
3176         * win32/vs7:
3177           project files updated to the default vs7 configuration
3178         * win32/common/libgstbase.def:
3179         * win32/common/libgstreamer.def:
3180           added new symbols,
3181           removed empty lines,
3182           sorted all exported symbols alphabetically
3183         * win32/common/dirent.c:
3184         * win32/common/dirent.h:
3185         * win32/common/gchar.h:
3186           use windows line end.
3187           
3188 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3189
3190         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3191           Send EOS event when stopping.
3192
3193 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3194
3195         * docs/README:
3196           Tell folks what to do if the plugin-foobar.xml file
3197           hasn't been generated for a newly-added plugin.
3198
3199 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3200
3201         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3202         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3203         (gst_collect_pads_start), (gst_collect_pads_stop),
3204         (gst_collect_pads_event): Collectpads now holds a reference
3205         to the GstPad that was added. Indeed we don't want to look
3206         at pads that might just go away with no warning...
3207
3208 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3209
3210         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3211         (gst_collect_pads_start), (gst_collect_pads_stop),
3212         (gst_collect_pads_event), (gst_collect_pads_chain):
3213         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3214         Mark Nauwelaerts's patch on bug #328491.
3215
3216 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3217
3218         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3219         (gst_utils_suite):
3220           Add some simple tests for gst_parse_bin_from_description() and
3221           gst_bin_find_unconnected_pad() (#329069).
3222
3223 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3224
3225         * tools/gst-launch.c: (event_loop), (main):
3226           Catch errors during preroll (#320084).
3227
3228 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3229
3230         * plugins/elements/gsttypefindelement.c:
3231         (gst_type_find_element_activate):
3232           Post TYPE_NOT_FOUND error message when typefinding
3233           is unsuccessful in the activate function as well.
3234
3235 2006-02-02  Wim Taymans  <wim@fluendo.com>
3236
3237         * docs/design/part-element-sink.txt:
3238         Updated doc.
3239
3240 2006-02-02  Wim Taymans  <wim@fluendo.com>
3241
3242         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3243         (gst_base_sink_render_object),
3244         (gst_base_sink_queue_object_unlocked):
3245         Only keep track of prerollable items when we are 
3246         prerolling.
3247         Before rendering after preroll, always check if we
3248         have queued items.
3249         Added some more debugging.
3250
3251 2006-02-02  Wim Taymans  <wim@fluendo.com>
3252
3253         * gst/gstelement.c: (gst_element_continue_state),
3254         (gst_element_set_state_func), (gst_element_change_state):
3255         Fixed #326576, been running this for quite some time with
3256         no regressions at all.
3257
3258 2006-02-02  Wim Taymans  <wim@fluendo.com>
3259
3260         * common/gst.supp:
3261         Added more suppressions
3262
3263 2006-02-02  Wim Taymans  <wim@fluendo.com>
3264
3265         * docs/design/part-element-sink.txt:
3266         Updated document.
3267
3268         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3269         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3270         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3271         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3272         (gst_base_sink_do_sync), (gst_base_sink_render_object),
3273         (gst_base_sink_preroll_object),
3274         (gst_base_sink_queue_object_unlocked),
3275         (gst_base_sink_queue_object), (gst_base_sink_event),
3276         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3277         (gst_base_sink_loop), (gst_base_sink_activate_pull),
3278         (gst_base_sink_get_position), (gst_base_sink_change_state):
3279         * libs/gst/base/gstbasesink.h:
3280         Totally refactored matching the design doc.
3281         Use two segments, one to clip incomming buffers and another to
3282         perform sync.
3283         Handle queueing correctly, bypass the queue when playing.
3284         Make EOS cancelable.
3285         Handle errors correctly when operating in pull based mode.
3286
3287         * tests/check/elements/fakesink.c: (GST_START_TEST),
3288         (fakesink_suite):
3289         Added new check for sinks.
3290
3291 2006-02-02  Wim Taymans  <wim@fluendo.com>
3292
3293         * gst/gstsegment.c: (gst_segment_clip):
3294         No reason to refuse to clip when start == -1
3295
3296 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
3297
3298         * docs/README:
3299         * docs/manual/intro-basics.xml:
3300         * docs/manual/intro-preface.xml:
3301         * docs/manual/manual.xml:
3302         * docs/pwg/advanced-dparams.xml:
3303         * docs/pwg/intro-basics.xml:
3304         * docs/pwg/intro-preface.xml:
3305         * docs/pwg/pwg.xml:
3306           describe dparams (controller) for plugins
3307           unify docs a little more
3308
3309 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
3310
3311         * docs/gst/gstreamer-sections.txt:
3312         * gst/gstutils.c: (element_find_unconnected_pad),
3313         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3314         * gst/gstutils.h:
3315           Add new API: gst_parse_bin_from_description() and
3316           gst_bin_find_unconnected_pad() (#329069).
3317
3318 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
3319
3320         * docs/manual/README:
3321           uncover a nasty detail of the docs build
3322
3323 2006-01-31  Wim Taymans  <wim@fluendo.com>
3324
3325         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3326         Don't cache duration messages if we're not going to use or
3327         free them.
3328
3329 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
3330
3331         * docs/manual/advanced-dparams.xml:
3332         * docs/pwg/advanced-dparams.xml:
3333           more dparam docs
3334         * gst/gstindex.c:
3335           fix docs
3336         * libs/gst/controller/lib.c: (gst_controller_init):
3337           init just once
3338
3339 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3340
3341         * gst/gstelement.c: (gst_element_message_full):
3342           also show file/line/func if no additional debug was given
3343
3344 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3345         
3346         * win32/vs7/grammar.vcproj:
3347           activate copy of autogenerated files for Release mode
3348
3349 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3350         
3351         * win32/common/libgstreamer.def:
3352           export gst_value_compare
3353
3354 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3355
3356         * plugins/elements/Makefile.am:
3357         * plugins/elements/gstelements.c:
3358         * plugins/elements/gstfdsink.c: (_do_init),
3359         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3360         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3361         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3362         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3363         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3364         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3365         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3366         * plugins/elements/gstfdsink.h:
3367         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3368
3369 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3370
3371         * docs/manual/advanced-dparams.xml:
3372           describe controller
3373         * docs/manual/advanced-position.xml:
3374         * docs/manual/basics-init.xml:
3375         * docs/manual/manual.xml:
3376         * docs/manual/titlepage.xml:
3377         * docs/pwg/pwg.xml:
3378         * docs/pwg/titlepage.xml:
3379           cleanup xml (more to come)
3380         * libs/gst/controller/gstcontroller.c:
3381           fix typo
3382
3383 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3384         
3385         * win32/vs6/grammar.dsp:
3386           add autogen of gstmarshal.c,h for Release mode
3387                 
3388 2006-01-30  Wim Taymans  <wim@fluendo.com>
3389
3390         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3391         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3392         (gst_base_sink_handle_object), (gst_base_sink_event),
3393         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3394         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3395         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3396         (gst_base_sink_deactivate), (gst_base_sink_activate),
3397         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3398         (gst_base_sink_query), (gst_base_sink_change_state):
3399         Basesink cleanups, remove some old code.
3400         Handle the case where a subclass can preroll in the render
3401         method (mostly audiosinks).
3402         Handle more events.
3403         Remove some locks around variables that are now protected
3404         with the PREROLL_LOCK (clock_id, flushing, ..).
3405         Optimize position query some more, do correct locking.
3406         Remove old code to push queue in state change, this is not
3407         needed anymore since preroll blocks on all prerollable items 
3408         now.
3409         Almost implemented as described in design doc.
3410
3411 2006-01-30  Wim Taymans  <wim@fluendo.com>
3412
3413         * tests/check/gst/gstbin.c: (GST_START_TEST):
3414         Wait for refcount to settle down before checking.
3415
3416 2006-01-30  Wim Taymans  <wim@fluendo.com>
3417
3418         * docs/design/part-element-sink.txt:
3419         Pseudo code overview of desired sink behaviour regarding
3420         preroll.
3421
3422 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3423         * win32/vs6/grammar.dsp:
3424           fix some bugs in Release mode for autogenerated files
3425                 
3426 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3427         * win32/common/libgstbase.def:
3428         * win32/common/libgstreamer.def:
3429           export some new symbols: gst_base_src_set_format,
3430           gst_iterator_next, gst_structure_set_valist
3431
3432 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3433
3434         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3435         Set pad functions unconditionally. Fixes #329105.
3436
3437 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3438         * win32/vs8:
3439           add vs8 project files created by Sergey Scobich
3440
3441 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3442
3443         * gst/gstutils.c: (gst_element_unlink_pads):
3444         Don't leak pad references.
3445
3446         * tests/check/elements/fakesink.c: (GST_START_TEST):
3447         * tests/check/generic/sinks.c: (GST_START_TEST):
3448         * tests/check/generic/states.c: (GST_START_TEST):
3449         * tests/check/gst/gstbin.c: (GST_START_TEST):
3450         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3451         * tests/check/gst/gstelement.c: (GST_START_TEST):
3452         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3453         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3454         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3455         Fix a bunch of leaks. Make generic/sinks.c
3456         use a bit less cpu by slowing the buffer rate
3457         between fakesrc and fakesink.
3458         
3459 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3460         * gst/gstcaps.c:
3461         * gst/gstelement.c: (gst_element_send_event):
3462         * gst/gstevent.c:
3463         * gst/gstinfo.c:
3464         * gst/gstiterator.c:
3465         * gst/gstiterator.h:
3466         * gst/gstpad.c: (gst_pad_send_event):
3467         * gst/gststructure.c:
3468         * gst/gsturi.c:
3469         * gst/gstutils.c:
3470         * gst/gstvalue.c:
3471         * libs/gst/base/gstadapter.c:
3472           doc fixes, to link to function, just write gst_cool_function(), don't
3473           prefix with '#'
3474
3475 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3476
3477         * plugins/elements/gsttee.c: (gst_tee_do_push),
3478         (gst_tee_handle_buffer):
3479         Always prefer an actual return value from a src
3480         pad in place of NOT_LINKED. This means we return
3481         WRONG_STATE when all src pads are WRONG_STATE
3482         instead of NOT_LINKED.
3483
3484         Lock when replacing the last message to prevent
3485         racing with the get_property method.
3486
3487         Add debug output
3488
3489 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3490
3491         * tests/check/Makefile.am:
3492         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3493         (main):
3494         Add a very simple check that should have caught the memleak I fixed
3495         last night (if not for the slice allocator hiding it)
3496
3497 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3498
3499         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3500         (gst_bin_remove_func), (gst_bin_handle_message_func),
3501         (bin_query_duration_fold), (bin_query_generic_fold):
3502         Clean up references to the clock provider when disposed or when
3503         handling a clock-lost message from it.
3504
3505         Unref sinks when performing a query via gst_iterator_fold, as the
3506         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3507
3508         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3509         (gst_clock_set_master):
3510         Drop our reference to the master clock, if any, when we are disposed.
3511
3512         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3513         Chain up in dispose. 
3514
3515 2006-01-26  Wim Taymans  <wim@fluendo.com>
3516
3517         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3518         Add some debugging.
3519
3520 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3521
3522         * plugins/elements/gsttee.c: (gst_tee_do_push),
3523         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3524         handles pad being NOT_LINKED or in WRONG_STATE.
3525
3526 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3527
3528         * win32/MANIFEST:
3529           more updating
3530
3531 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3532
3533         * win32/MANIFEST:
3534           remove obsolete entry
3535
3536 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3537
3538         * docs/gst/gstreamer-sections.txt:
3539         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3540         (gst_bin_iterate_sources), (gst_bin_send_event):
3541         * gst/gstbin.h:
3542         * gst/gstelement.c: (gst_element_send_event):
3543         * gst/gstevent.c:
3544         * gst/gstpad.c: (gst_pad_send_event):
3545           added code for downstream events, reviewed docs in gstevent.c
3546
3547 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3548
3549         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3550         We only query position using the clock in the playing state.
3551         Query peer in the other cases.
3552         * win32/common/config.h: Updates.
3553
3554 2006-01-24  Wim Taymans  <wim@fluendo.com>
3555
3556         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3557         A clock entry that is scheduled for the exact time of the
3558         clock is still in time.
3559
3560         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3561         (gst_base_sink_do_sync):
3562         Add some more debug info.
3563
3564 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3565
3566         * win32/vs7:
3567           Add new vs7 project files and solution.
3568
3569 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3570
3571         * win32/vs7:
3572           all files removed as they were out-dated.
3573
3574 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3575
3576         * docs/random/release:
3577           update notes
3578         * gst/gstbin.c: (gst_bin_init):
3579         * gst/gstbus.c: (gst_bus_new):
3580         * gst/gstbus.h:
3581         * gst/gstpipeline.c: (gst_pipeline_init):
3582           use gst_bus_new(), improve logging, fix docs
3583         * win32/common/config.h:
3584           update for cvs build
3585
3586 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3587
3588         * autogen.sh:
3589           up required version of automake to 1.7
3590
3591 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
3592
3593         * win32/common/libgstreamer.def:
3594           export gst_buffer_is_metadata_writable
3595
3596 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3597
3598         * docs/gst/gstreamer-sections.txt:
3599         * gst/gstevent.h:
3600           Add gst_event_replace() (#327001)
3601
3602 2006-01-20  Wim Taymans  <wim@fluendo.com>
3603
3604         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3605         Make it actually compile too..
3606
3607 2006-01-20  Wim Taymans  <wim@fluendo.com>
3608
3609         * gst/gstcaps.c:
3610         Clarify behaviour of _is_equal() when passing NULL parameters.
3611
3612         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3613         (gst_pad_set_caps):
3614         Cleanups. Don't unref NULL caps.
3615         When setting the same caps, protect caps of the pad with
3616         proper lock.
3617         Use full functionality of _is_equal() when comparing caps.
3618
3619 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3620
3621         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3622         Don't loop infinitely if there are no buffers to present. Partially
3623         fixes #327197, but collectpads is just broken for reusing elements
3624         to do multiple encodes atm.
3625
3626 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3627
3628         * tools/gst-inspect.c: (print_element_features):
3629         * tools/gst-xmlinspect.c: (main):
3630         URL_HANDLER is not a plugin feature we can search for in
3631         the registry.
3632
3633 2006-01-19  Edward Hervey  <edward@fluendo.com>
3634
3635         * gst/gstelement.c: (gst_element_pads_activate): 
3636         When activating, do src pads first, then sink pads.
3637         When de-activating, do sink pads first, then src pads.
3638
3639 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3640
3641         * docs/gst/gstreamer-sections.txt:
3642         Add gst_index_add_associationv to the docs
3643
3644 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3645
3646         * gst/gstevent.c:
3647           Fix docs typo
3648
3649         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3650         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3651           Do some refactoring. Doesn't actually change functionality,
3652           but makes landing the DRAIN event easier later.
3653
3654 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
3655
3656         * docs/pwg/advanced-scheduling.xml:
3657           Update from 0.9.x to 0.10 API and make example a bit
3658           clearer.
3659
3660 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3661
3662         * docs/gst/gstreamer-sections.txt:
3663         Add gst_buffer_(is|make)_metadata_writable methods.
3664
3665 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3666
3667         * docs/design/part-sparsestreams.txt:
3668         Update sparse streams doc, hopefully for greater clarity
3669
3670 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
3671
3672         * docs/design/part-events.txt:
3673         Remove mention of FILLER events.
3674         Add DRAIN event.
3675
3676         * docs/design/part-sparsestreams.txt:
3677         Write some things about using NEWSEGMENT to keep sparse streams
3678         flowing.
3679
3680 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3681
3682         * gst/gstbin.c: (gst_bin_dispose):
3683           Guard gst_object_unref call against a NULL object (dispose
3684           can theoretically be called multiple times).
3685           
3686 2006-01-18  Wim Taymans  <wim@fluendo.com>
3687
3688         * gst/gstbin.c: (gst_bin_element_set_state):
3689         * gst/gstclock.c: (gst_clock_id_wait):
3690         Added some more debug info.
3691
3692         * libs/gst/base/gstadapter.c:
3693         Added more docs.
3694
3695         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3696         (gst_base_sink_do_sync), (gst_base_sink_chain):
3697         Added some comments.
3698
3699 2006-01-18  Wim Taymans  <wim@fluendo.com>
3700
3701         * tests/check/Makefile.am:
3702         * tests/check/elements/fakesink.c: (chain_async_buffer),
3703         (chain_async), (chain_async_return), (GST_START_TEST),
3704         (fakesink_suite), (main):
3705         Added fakesink test that checks prerolling and clipping
3706         behaviour.
3707
3708         * tests/check/gst/gstutils.c: (GST_START_TEST):
3709         Make check run faster so that buildbots don't timeout.
3710
3711 2006-01-18  Wim Taymans  <wim@fluendo.com>
3712
3713         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3714         (gst_base_sink_do_sync):
3715         Some cleanups.
3716         When the sink finishes blocking on the preroll buffer, it can
3717         immediatly render it instead of rendering when the next buffer
3718         arrives.
3719
3720 2006-01-18  Wim Taymans  <wim@fluendo.com>
3721
3722         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3723         (gst_base_sink_get_property), (gst_base_sink_do_sync),
3724         (gst_base_sink_chain):
3725         Small cleanups.
3726         GST_ELEMENT_CLOCK and sync are protected with LOCK.
3727         Don't store _last_stop if the buffer is dropped.
3728
3729 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3730
3731         * plugins/elements/gsttypefindelement.c:
3732         (gst_type_find_element_class_init):
3733           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3734           object method handler that sets the caps on the pad and we want
3735           that to happen before we emit the signal (fixes e.g. feeding a
3736           plain text file to decodebin).
3737
3738 2006-01-18  Christian Schaller  <Christian@fluendo.com>
3739
3740         * gst/gstplugin.c: Add MPL and Proprietary as license options
3741
3742 2006-01-18  Andy Wingo  <wingo@pobox.com>
3743
3744         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3745         symbol was exported before, it appears this was just an oversight.
3746         Fixes #168703.
3747         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3748
3749         * gst/gstindex.c (gst_index_add_associationv): Changed int in
3750         prototype to gint. OK since this prototype was not in the header.
3751
3752 2006-01-17  Andy Wingo  <wingo@pobox.com>
3753
3754         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3755         registry while we remove plugins.
3756
3757         * tools/gst-inspect.c (print_element_info): Don't unref the
3758         factory arg, that should be the responsibility of whatever code
3759         received the ref. Fixes a double-free when called from
3760         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3761         (main): Unref the factory if we have one.
3762         (print_element_list): No change -- relies on the
3763         plugin_feature_list_free to free the list of features.
3764
3765 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
3766
3767         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3768         (gst_buffer_make_metadata_writable):
3769         * gst/gstbuffer.h:
3770         * libs/gst/base/gstbasetransform.c:
3771         (gst_base_transform_prepare_output_buf):
3772         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3773         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3774           Replace gst_buffer_(make|is)_metadata_writable patch now
3775           that the release is out.
3776
3777 2006-01-17  Andy Wingo  <wingo@pobox.com>
3778
3779         * gst/gstregistry.c: Reflow design comment. Update so as to speak
3780         in the present tense without reference to versions.
3781
3782         * gst/gstregistry.c (gst_registry_add_plugin)
3783         (gst_registry_remove_plugin, gst_registry_remove_feature)
3784         (gst_registry_find_feature, gst_registry_get_feature_list)
3785         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3786         (gst_registry_lookup, gst_registry_scan_path)
3787         (_gst_registry_remove_cache_plugins)
3788         (gst_registry_get_feature_list_by_plugin): Add argument
3789         validation.
3790
3791 === release 0.10.2 ===
3792
3793 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
3794
3795         * configure.ac:
3796           releasing 0.10.2, "If man is five"
3797
3798 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3799
3800         * gst/gstbuffer.c:
3801         * gst/gstbuffer.h:
3802         * libs/gst/base/gstbasetransform.c:
3803         (gst_base_transform_prepare_output_buf):
3804         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3805         * tests/check/gst/gstbuffer.c: (gst_test_suite):
3806           Back out patch until after the release.
3807
3808 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3809
3810         * gst/gstminiobject.c:
3811           Spelling fix in docs.
3812         * ChangeLog - remove conflict indicator
3813
3814 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3815
3816         Reviewed By: Andy Wingo
3817
3818         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3819         (gst_buffer_make_metadata_writable):
3820         * gst/gstbuffer.h:
3821           Add gst_buffer_(is|make)_metadata_writable as analogues of
3822           gst_buffer_(is|make)_writable.
3823
3824         * libs/gst/base/gstbasetransform.c:
3825         (gst_base_transform_prepare_output_buf):
3826         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3827           Use name gst_buffer_(is|make)_metadata_writable functions.
3828
3829         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3830           Test gst_buffer_(is|make)_metadata_writable
3831         
3832           (Closes: #324162)
3833
3834 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3835
3836         * docs/manual/Makefile.am:
3837           don't do parallel make
3838         * configure.ac:
3839           AC_SUBST HOST_CPU
3840         * win32/common/config.h.in:
3841           add generations for HOST_CPU and GST_MAJORMINOR
3842         * win32/common/config.h:
3843           commit generated result
3844
3845 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
3846
3847         * docs/manual/appendix-integration.xml:
3848           Update GNOME integration section to use gst_init_get_option_group()
3849           instead of the old popt stuff (#322911). Also, GNOME applications
3850           should  now use gconf*sink and gconf*src instead of the old gconf
3851           helper lib we had.
3852
3853 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
3854
3855
3856         * docs/gst/gstreamer-docs.sgml:
3857         * docs/gst/gstreamer-sections.txt:
3858         * docs/libs/gstreamer-libs-sections.txt:
3859           add new API entries to the docs
3860         * libs/gst/controller/Makefile.am:
3861         * libs/gst/controller/gstcontroller.c:
3862         * libs/gst/controller/gstcontroller.h:
3863         * libs/gst/controller/gstcontrollerprivate.h:
3864         * libs/gst/controller/gsthelper.c:
3865         * libs/gst/controller/gstinterpolation.c:
3866           move private structs to private header
3867         * po/README:
3868           gstreamer-0.7 -> gstreamer-0.10
3869         * tests/check/libs/struct_i386.h:
3870           remove private structs
3871
3872 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3873
3874         * plugins/indexers/Makefile.am:
3875           Fixes as part of #317048
3876
3877 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3878
3879         * plugins/indexers/Makefile.am:
3880           fix #316086 - compilation when mmap is missing
3881
3882 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
3883
3884         * libs/gst/base/gstbasesink.c:
3885           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
3886           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3887         * win32/common/config.h:
3888           added some defines GST_MAJORMINOR and HOST_CPU
3889         * win32/common/libgstbase.def:
3890         * win32/common/libgstreamer.def:
3891           added some exported functions.
3892
3893 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3894
3895         * libs/gst/controller/gstcontroller.c:
3896         (gst_controlled_property_set_interpolation_mode),
3897         (gst_controlled_property_new):
3898         * libs/gst/controller/gstcontroller.h:
3899         * libs/gst/controller/gstinterpolation.c:
3900         (interpolate_none_get_string_value_array):
3901           make G_TYPE_STRING controlable
3902
3903 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3904
3905         * tools/README:
3906         * tools/gst-feedback.1.in:
3907         * tools/gst-inspect.1.in:
3908         * tools/gst-launch.1.in:
3909         * tools/gst-md5sum.1.in:
3910         * tools/gst-typefind.1.in:
3911         * tools/gst-xmlinspect.1.in:
3912         * tools/gst-xmllaunch.1.in:
3913           cleanup man-pages, remove reference to gst-register, document env-vars
3914
3915 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
3916
3917         * gst/gstbuffer.c: (gst_buffer_span):
3918           gst_buffer_span should copy the timestamp of the first buffer
3919           if they were both originally overlapping subbuffers of the 
3920           same parent, using the same logic as the 'slow copy' case.
3921
3922 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
3923
3924         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3925           Need to awaken ALL the pads when we pop a buffer, otherwise
3926           collectpads only works when there is 2 input streams.
3927
3928 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
3929
3930         * docs/random/ensonic/media-device-daemon.txt:
3931           more ideas (dbus)
3932         * gst/gstbuffer.c:
3933           fix doc example, add clarification
3934         * tools/gst-launch.1.in:
3935           add initial info about GST_PLUGIN_PATH, needs more work
3936
3937 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3938
3939         * docs/manual/basics-bins.xml:
3940         * docs/manual/basics-elements.xml:
3941         * docs/manual/intro-basics.xml:
3942           Some more minor docs additions and updates.
3943
3944 2006-01-11  Wim Taymans  <wim@fluendo.com>
3945
3946         * docs/manual/basics-bins.xml:
3947         * docs/manual/basics-elements.xml:
3948         Some small fixes as pointed out by Ser-ver on IRC.
3949
3950 2006-01-10  Edward Hervey  <edward@fluendo.com>
3951
3952         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3953         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3954         the single-segment mode.
3955
3956 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
3957
3958         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3959
3960         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3961         (gst_base_src_perform_seek), (gst_base_src_send_event),
3962         (gst_base_src_set_property), (gst_base_src_get_property),
3963         (gst_base_src_loop), (gst_base_src_start),
3964         (gst_base_src_activate_push):
3965         * libs/gst/base/gstbasesrc.h:
3966           Name (private) union; makes Sun's Forte compiler happy (#324900).
3967
3968 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3969
3970         * README:
3971           gst-register is gone.
3972
3973 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3974
3975         * gst/gstvalue.c: (_gst_value_initialize):
3976           make the G_TYPE_DATE instantiation work if debug is disabled
3977
3978 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
3979
3980         * gst/gstmessage.c: (gst_message_parse_tag),
3981         (gst_message_parse_error), (gst_message_parse_warning):
3982           Don't crash when return location for error/warning debug
3983           string is NULL; add fact that return locations can be
3984           NULL to docs where appropriate.
3985
3986 2006-01-05  Wim Taymans  <wim@fluendo.com>
3987
3988         * gst/gstplugin.c: (gst_plugin_load_file):
3989         Replace strdup by g_strdup.
3990
3991 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3992
3993         * docs/pwg/advanced-types.xml:
3994           fix doc borkage
3995
3996 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3997
3998         submitted by: Abel Cheung
3999
4000         * po/LINGUAS:
4001         * po/zh_TW.po:
4002           Added Chinese (traditional) translation
4003
4004 2006-01-04  Wim Taymans  <wim@fluendo.com>
4005
4006         * docs/manual/basics-pads.xml:
4007         * docs/plugins/Makefile.am:
4008         * docs/plugins/gstreamer-plugins-docs.sgml:
4009         * docs/plugins/gstreamer-plugins-sections.txt:
4010         * docs/pwg/advanced-clock.xml:
4011         * docs/pwg/advanced-scheduling.xml:
4012         * docs/pwg/advanced-types.xml:
4013         * plugins/elements/gstfdsink.c:
4014         * plugins/elements/gstfdsrc.c:
4015         * plugins/elements/gstfdsrc.h:
4016         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4017         * plugins/elements/gstidentity.h:
4018         * plugins/elements/gstqueue.h:
4019         * plugins/elements/gsttee.c:
4020         * plugins/elements/gsttee.h:
4021         * plugins/elements/gsttypefindelement.c:
4022         (gst_type_find_element_class_init):
4023         * plugins/elements/gsttypefindelement.h:
4024         Small updates to various docs.
4025         Added core plugins to docs.
4026
4027 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4028
4029         * common/gst.supp:
4030           add a suppression for liboil's uninitialized variable
4031
4032 2006-01-02  James Livingston  <jrl at ids dot org dot au>
4033
4034         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4035
4036         * gst/gstutils.h:
4037           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4038           macro, so that gcc doesn't complain if the -Wmissing-prototypes
4039           compiler switch is being used (#325429).
4040
4041 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4042
4043         * gst/gstbin.c: (gst_bin_query):
4044           Disable duration query caching in bins until it gets
4045           fixed (see #324807).
4046
4047 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4048
4049         * tools/gst-inspect.c: (print_element_properties_info):
4050           Handle properties of POINTER and BOXED type.
4051
4052 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4053
4054         * gst/gst.c: (init_post):
4055           Init tags stuff and some other things before loading
4056           any static plugins (there may be other static plugins
4057           than just the GStreamer ones, and they may want to
4058           register their own tags or formats or whatever, and
4059           preferably without segfaulting).
4060
4061         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4062           Print at least a warning in the debug logs if we drop a
4063           query just because we don't know how to adjust the value
4064           in the particular format.
4065
4066 2005-12-24  David Schleef  <ds@schleef.org>
4067
4068         * tools/gstreamer-completion:
4069           Replacement for gst-complete written in sh and sed.  Only
4070           completes names of features, but that's 90% of what I want
4071           it for.  Properties are not available in registry.xml.  (Maybe
4072           they should be...)
4073
4074 === release 0.10.1 ===
4075
4076 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4077
4078         * configure.ac:
4079           releasing 0.10.1, "Nollaig chridheil"
4080
4081 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4082
4083         * docs/faq/cvs.xml:
4084           Add missing quote, should be make ERROR_CFLAGS="".
4085
4086 2005-12-20  Wim Taymans  <wim@fluendo.com>
4087
4088         * docs/design/part-trickmodes.txt:
4089         More documentation on trickmodes.
4090
4091 2005-12-20  Edward Hervey  <edward@fluendo.com>
4092
4093         * gst/gstcaps.c: (gst_static_caps_get_type):
4094         * gst/gstcaps.h:
4095           API addition: GST_TYPE_STATIC_CAPS
4096         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4097         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4098         * gst/gstpadtemplate.h:
4099           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4100         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4101         bindings.
4102
4103 2005-12-18  Wim Taymans  <wim@fluendo.com>
4104
4105         * libs/gst/base/gstadapter.c:
4106         * libs/gst/base/gstadapter.h:
4107         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4108         (gst_base_sink_get_position):
4109         * libs/gst/base/gstbasesink.h:
4110         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4111         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4112         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4113         (gst_base_src_send_event), (gst_base_src_update_length),
4114         (gst_base_src_get_range), (gst_base_src_loop),
4115         (gst_base_src_start):
4116         * libs/gst/base/gstbasesrc.h:
4117         * libs/gst/base/gstbasetransform.h:
4118         * libs/gst/base/gstcollectpads.h:
4119         * libs/gst/base/gstpushsrc.c:
4120         * libs/gst/base/gstpushsrc.h:
4121         * libs/gst/dataprotocol/dataprotocol.c:
4122         * libs/gst/dataprotocol/dataprotocol.h:
4123         * libs/gst/net/gstnetclientclock.h:
4124         * libs/gst/net/gstnettimeprovider.h:
4125         Documentation updates.
4126
4127 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4128
4129         * docs/manual/basics-helloworld.xml:
4130           Remove superfluous closing bracket in helloworld example.
4131
4132 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4133
4134         * tools/gst-launch.1.in:
4135           Update gst-launch man page; add a section with useful
4136           environment variables. Fixes #323882.
4137
4138 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4139
4140         * gst/gst.c:
4141         * gst/gst_private.h:
4142           change some char* into char[]
4143
4144 2005-12-16  Wim Taymans  <wim@fluendo.com>
4145
4146         * gst/gstregistryxml.c: (load_feature):
4147         Cleanups.
4148         Don't use g_object_unref on GstObjects so that we avoid
4149         leaks on unsafe glibs.
4150
4151 2005-12-16  Wim Taymans  <wim@fluendo.com>
4152
4153         * gst/gstbin.c: (gst_bin_recalc_state):
4154         Small doc updates.
4155
4156 2005-12-16  Wim Taymans  <wim@fluendo.com>
4157
4158         * common/check.mak:
4159         Added make forever target for check.
4160
4161 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4162
4163         * gst/gst.c: (init_post):
4164           make the registry cache file HOST_CPU-dependent
4165
4166 2005-12-16  Andy Wingo  <wingo@pobox.com>
4167
4168         * plugins/elements/gstbufferstore.c
4169         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4170         return value.
4171
4172         * tests/check/gst/gstobject.c
4173         (test_fake_object_name_threaded_unique): Pay attention to
4174         g_list_sort return value.
4175
4176 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4177
4178         * tools/gst-feedback-m.m:
4179           Update for 0.9/0.10 (fixes #323870).
4180
4181 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
4182
4183         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4184           Fix lcopy for mini objects, the mini object needs to be ref'ed.
4185           
4186         * tests/check/gst/gstminiobject.c: (my_foo_init),
4187         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4188         (test_value_collection), (gst_mini_object_suite):
4189           Add test to ensure refcounts end up as expected when passing
4190           GstMiniObjects through g_object_get() and g_object_set().
4191
4192 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4193
4194         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4195         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4196         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4197         of collectpads. This version removes a lot of races without
4198         touching API/ABI. Yay !
4199
4200 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4201
4202         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4203           Don't allow activation of a srcpad in pull_range if it has no
4204           getrange function.
4205           Change some debug statements to be a little clearer
4206
4207         * plugins/elements/gsttypefindelement.c:
4208         (gst_type_find_handle_src_query):
4209           Check that we have a peer before executing queries thereupon.
4210
4211         * tests/examples/metadata/read-metadata.c: (message_loop):
4212           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4213           immediately return us any available message with 0 timeout.
4214
4215 2005-12-12  Michael Smith  <msmith@fluendo.com>
4216
4217         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4218           Don't unref factories after calling them.
4219         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4220         * plugins/elements/gsttypefindelement.c:
4221         (gst_type_find_element_chain):
4222           Free lists of factories after using them. Fixing typefinding memory
4223           leaks.
4224
4225 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4226
4227         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4228         (gst_plugin_feature_load):
4229           more meaningful debug output
4230         * configure.ac:
4231         * tests/Makefile.am:
4232         * tests/old/examples/Makefile.am:
4233           make make distcheck happy again
4234
4235 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4236
4237         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4238           Catch the special case where we are operating chain-based,
4239           but the downstream peer pad has no chain function. Emit a
4240           custom error message in this case instead of letting the
4241           core generate one implying that this is some sort of core
4242           bug. It's not, it just means that whatever got plugged
4243           into the pipeline downstream when we announced the type
4244           can only operate pull-based, while our source can only
4245           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4246           Error string has not been marked for translation yet, as
4247           it probably needs some more work first.
4248
4249         (gst_type_find_element_get_best_possibility):
4250           Add helper function to find the best of all available
4251           found possibilities that qualify given the min. threshold.
4252
4253         (gst_type_find_element_handle_event):
4254           Fix the case where we get an EOS while still in TYPEFIND
4255           mode (we want to chose the best of all possible types,
4256           not just the first type that happens to be in our unsorted
4257           list of possible types).
4258
4259         (gst_type_find_element_chain):
4260           Make sure we return GST_FLOW_ERROR when we errored out
4261           in stop_typefinding(); also, don't just find the best of
4262           all found type entries and then use the last examined
4263           type entry, but actually use the best entry.
4264
4265 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4266
4267         * tests/examples/typefind/typefind.c: (type_found):
4268         * tests/examples/xml/runxml.c: (xml_loaded):
4269           More gcc4 fixes and a mem leak fix.
4270
4271 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4272
4273         * tests/examples/xml/createxml.c: (object_saved):
4274           gcc 4 fixes
4275
4276 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4277
4278         * tests/Makefile.am:
4279           enable the examples even more
4280
4281 2005-12-12  Andy Wingo  <wingo@pobox.com>
4282
4283         * libs/gst/net/gstnettimeprovider.c
4284         (gst_net_time_provider_class_init, gst_net_time_provider_init)
4285         (gst_net_time_provider_set_property)
4286         (gst_net_time_provider_get_property):
4287         API addition: Export "active" as a GObject property.
4288         (gst_net_time_provider_thread): Only respond to time queries if
4289         the time provider is active.
4290
4291         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4292         NetTimeProvider, preserving binary compat.
4293
4294 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4295
4296         * tests/examples/controller/audio-example.c: (main):
4297         * tests/examples/launch/Makefile.am:
4298           convert comments again
4299
4300 2005-12-12  Wim Taymans  <wim@fluendo.com>
4301
4302         * libs/gst/base/gstpushsrc.c:
4303         Fix typo.
4304
4305 2005-12-12  Wim Taymans  <wim@fluendo.com>
4306
4307         * docs/libs/gstreamer-libs-sections.txt:
4308         Added new symbol to docs.
4309
4310         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4311         (gst_base_src_init), (gst_base_src_set_format),
4312         (gst_base_src_default_query), (gst_base_src_query),
4313         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4314         (gst_base_src_perform_seek), (gst_base_src_send_event),
4315         (gst_base_src_default_event), (gst_base_src_event_handler),
4316         (gst_base_src_set_property), (gst_base_src_get_property),
4317         (gst_base_src_wait), (gst_base_src_do_sync),
4318         (gst_base_src_update_length), (gst_base_src_get_range),
4319         (gst_base_src_check_get_range), (gst_base_src_loop),
4320         (gst_base_src_default_negotiate), (gst_base_src_start),
4321         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4322         (gst_base_src_change_state):
4323         * libs/gst/base/gstbasesrc.h:
4324         Implement seeking to other formats than _BYTES.
4325         Implement more seeking methods correctly.
4326         Doc updates.
4327         Added query vmethod.
4328         Added do_seek vmethod to make life easier for subclasses
4329         when seeking.
4330         API addition: gst_base_src_set_format()
4331
4332 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4333
4334         * tests/examples/Makefile.am:
4335           added that too
4336
4337 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4338
4339         * configure.ac:
4340         * docs/random/ensonic/media-device-daemon.txt:
4341         * tests/examples/controller/.cvsignore:
4342         * tests/examples/controller/Makefile.am:
4343         * tests/examples/controller/audio-example.c: (main):
4344         * tests/examples/helloworld/.cvsignore:
4345         * tests/examples/helloworld/Makefile.am:
4346         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4347         * tests/examples/launch/.cvsignore:
4348         * tests/examples/launch/Makefile.am:
4349         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4350         * tests/examples/metadata/.cvsignore:
4351         * tests/examples/metadata/Makefile.am:
4352         * tests/examples/metadata/read-metadata.c: (message_loop),
4353         (make_pipeline), (print_tag), (main):
4354         * tests/examples/queue/.cvsignore:
4355         * tests/examples/queue/Makefile.am:
4356         * tests/examples/queue/queue.c: (event_loop), (main):
4357         * tests/examples/typefind/.cvsignore:
4358         * tests/examples/typefind/Makefile.am:
4359         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4360         (main):
4361         * tests/examples/xml/.cvsignore:
4362         * tests/examples/xml/Makefile.am:
4363         * tests/examples/xml/createxml.c: (object_saved), (main):
4364         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4365         * tests/old/examples/Makefile.am:
4366         * tests/old/examples/TODO:
4367         * tests/old/examples/controller/.cvsignore:
4368         * tests/old/examples/controller/Makefile.am:
4369         * tests/old/examples/controller/audio-example.c:
4370         * tests/old/examples/helloworld/.cvsignore:
4371         * tests/old/examples/helloworld/Makefile.am:
4372         * tests/old/examples/helloworld/helloworld.c:
4373         * tests/old/examples/launch/.cvsignore:
4374         * tests/old/examples/launch/Makefile.am:
4375         * tests/old/examples/launch/mp3parselaunch.c:
4376         * tests/old/examples/launch/mp3play:
4377         * tests/old/examples/manual/Makefile.am:
4378         * tests/old/examples/metadata/Makefile.am:
4379         * tests/old/examples/metadata/read-metadata.c:
4380         * tests/old/examples/queue/.cvsignore:
4381         * tests/old/examples/queue/Makefile.am:
4382         * tests/old/examples/queue/queue.c:
4383         * tests/old/examples/typefind/.cvsignore:
4384         * tests/old/examples/typefind/Makefile.am:
4385         * tests/old/examples/typefind/typefind.c:
4386         * tests/old/examples/xml/.cvsignore:
4387         * tests/old/examples/xml/Makefile.am:
4388         * tests/old/examples/xml/createxml.c:
4389         * tests/old/examples/xml/runxml.c:
4390           applied some simple fixing to some examples
4391           re-enabled the working examples
4392
4393 2005-12-12  Wim Taymans  <wim@fluendo.com>
4394
4395         * gst/gstsegment.c: (gst_segment_init),
4396         (gst_segment_set_last_stop), (gst_segment_set_seek),
4397         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4398         (gst_segment_to_running_time):
4399         Added more documentation.
4400         Make sure the last_pos value is updated properly.
4401         Make sure to_stream_time and to_running_time don't
4402         operate on wrong values.
4403
4404         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4405         Update check.
4406
4407 2005-12-12  Michael Smith  <msmith@fluendo.com>
4408
4409         * plugins/elements/gsttypefindelement.c: (free_entry),
4410         (gst_type_find_element_chain):
4411           Now that we're not leaking factories, make sure we keep references
4412           to them while we need them.
4413
4414 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4415
4416         * tests/check/gst/struct_i386.h:
4417           ifdef out the XML structs
4418
4419 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4420
4421         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4422           floor is not needed, F is always positive; this obviates the
4423           need for adding -lm when building without libxml
4424
4425 2005-12-12  Wim Taymans  <wim@fluendo.com>
4426
4427         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4428         Take current playback rate into account when reporting
4429         the position.
4430
4431 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4432
4433         * docs/manual/mime-world.fig:
4434           Let's try this again, this time with a file that is
4435           actually in XFig format.
4436
4437 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4438
4439         * docs/manual/mime-world.fig:
4440           Add audioconvert element to diagram so that it
4441           matches the text and the code (fixes #319526).
4442
4443 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4444
4445         * docs/pwg/building-chainfn.xml:
4446         * docs/pwg/building-pads.xml:
4447         * docs/pwg/building-state.xml:
4448         * docs/pwg/other-source.xml:
4449           Update state change stuff for 0.10 (fixes #322969).
4450
4451 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4452
4453         * docs/manual/advanced-dataaccess.xml:
4454         * docs/manual/appendix-checklist.xml:
4455         * docs/manual/appendix-programs.xml:
4456         * docs/manual/basics-pads.xml:
4457         * docs/manual/highlevel-components.xml:
4458         * docs/manual/manual.xml:
4459           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4460           add converters in front of pipelines; remove curly
4461           brackets for threads stuff, they no longer exist; use
4462           GST_TYPE_FRACTION for framerates; update some pieces of
4463           code to 0.10, but there's plenty more to do.
4464
4465         * docs/manual/appendix-porting.xml:
4466           Expand on asynchroneous state changes; s/0.9/0.10/;
4467           mention disappearance of gst_init_get_popt_table()
4468           (fixes #322916).
4469
4470 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4471
4472         * docs/faq/using.xml:
4473           Spider no longer exists, and neither does gst-launch-ext.
4474           Update examples to use decodebin and playbin and put
4475           converters in front of sinks (fixes #323726).
4476
4477 2005-12-09  Michael Smith  <msmith@fluendo.com>
4478
4479         * plugins/elements/gsttypefindelement.c: (find_peek),
4480         (gst_type_find_element_chain):
4481           Fix leaking element factories in typefinding.
4482           Fix problem where we forgot about a probable type on non-seekable
4483           files, and thus later mis-typefound it.
4484
4485 2005-12-09  Michael Smith  <msmith@fluendo.com>
4486
4487         * common/m4/gst-makecontext.m4:
4488         * common/m4/gst-mcsc.m4:
4489         * configure.ac:
4490         * win32/common/config.h:
4491         * win32/common/config.h.in:
4492           Remove makecontext stuff; not used in 0.10 and causes problems on
4493           HPUX according to bug #322441
4494
4495 2005-12-07  Wim Taymans  <wim@fluendo.com>
4496
4497         * tests/check/Makefile.am:
4498         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4499         (main):
4500         * tests/check/libs/struct_i386.h:
4501         Added ABI check for libs
4502
4503 2005-12-07  Wim Taymans  <wim@fluendo.com>
4504
4505         * tests/check/Makefile.am:
4506         And add the struct_i386.h to dist.
4507
4508 2005-12-07  Wim Taymans  <wim@fluendo.com>
4509
4510         * tests/check/Makefile.am:
4511         * tests/check/gst/.cvsignore:
4512         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4513         (main):
4514         * tests/check/gst/struct_i386.h:
4515         Added check for ABI compatibility.
4516
4517 2005-12-07  Wim Taymans  <wim@fluendo.com>
4518
4519         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4520         (gst_fake_src_get_times), (gst_fake_src_create):
4521         Fix broken sync option, fixes #323259
4522
4523 2005-12-07  Wim Taymans  <wim@fluendo.com>
4524
4525         * gst/gstbuffer.c:
4526         Small docs update.
4527
4528         * gst/gstcaps.c: (gst_caps_is_equal):
4529         Don't assert on NULL <--> X. Fixes #323260
4530
4531         * gst/gstminiobject.c: (gst_mini_object_replace):
4532         If we're doing atomic operations, we might just as well use
4533         the proper way to get an atomic pointer.
4534
4535         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4536         Clean up debugging.
4537
4538 2005-12-07  Michael Smith  <msmith@fluendo.com>
4539
4540         * gst/parse/grammar.y:
4541           Remove handling of { } for threads.
4542
4543 2005-12-06  David Schleef  <ds@schleef.org>
4544
4545         * libs/gst/base/gstbasetransform.c: speling fix.
4546
4547 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4548
4549         * docs/libs/tmpl/gstdataprotocol.sgml:
4550         * docs/random/omega/testing/gstobject.c:
4551         * gst/gst.c:
4552         * gst/gstclock.c:
4553         * gst/gstelement.c:
4554         * gst/gstelementfactory.c:
4555         * gst/gsterror.c:
4556         * gst/gstevent.c:
4557         * gst/gstghostpad.c:
4558         * gst/gstinfo.c:
4559         * gst/gstpadtemplate.c:
4560         * gst/gstregistryxml.c:
4561         * gst/gsttaglist.c:
4562         * gst/gsttagsetter.c:
4563         * gst/gsttypefind.c:
4564         * gst/gstvalue.c:
4565         * libs/gst/base/gstbasesrc.c:
4566         * libs/gst/net/gstnetclientclock.c:
4567         * libs/gst/net/gstnettimeprovider.c:
4568         * plugins/elements/gstfakesrc.c:
4569         * plugins/elements/gstfdsrc.c:
4570         * plugins/elements/gstfilesrc.c:
4571         * plugins/elements/gstidentity.c:
4572         * plugins/elements/gstqueue.c:
4573         * plugins/elements/gsttypefindelement.c:
4574         * plugins/indexers/gstfileindex.c:
4575         * plugins/indexers/gstmemindex.c:
4576         * tests/check/gst/gsttag.c:
4577         * tests/old/examples/cutter/cutter.c:
4578         * tests/old/examples/mixer/mixer.c:
4579         * tests/old/examples/xml/runxml.c: (main):
4580         * tests/old/testsuite/caps/normalisation.c:
4581         * tests/old/testsuite/debug/global.c:
4582         * tests/old/testsuite/parse/parse1.c:
4583         * tools/gst-xmlinspect.c:
4584         * win32/common/dirent.c:
4585           expand tabs
4586
4587 === release 0.10.0 ===
4588
4589 2005-12-05   <thomas (at) apestaart (dot) org>
4590
4591         * configure.ac:
4592           releasing 0.10.0, "Maroilles"
4593
4594 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4595
4596         submitted by: Funda Wang <fundawang@linux.net.cn>
4597
4598         * po/LINGUAS:
4599         * po/zh_CN.po:
4600           added Chinese (Traditional) translation
4601
4602 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4603
4604         * docs/gst/gstreamer-sections.txt:
4605         * docs/libs/tmpl/gstdataprotocol.sgml:
4606         * docs/random/thomasvs/TODO:
4607         * gst/gstutils.c:
4608         * gst/gstutils.h:
4609           fix docs
4610
4611 2005-12-05  Andy Wingo  <wingo@pobox.com>
4612
4613         patch by: Wim Taymans <wim@fluendo.com>
4614
4615         * libs/gst/base/gstbasetransform.c
4616         (gst_base_transform_prepare_output_buf)
4617         (gst_base_transform_buffer_alloc):
4618         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4619         alloc_buffer_and_set_caps.
4620
4621         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4622         set_caps on the source pad.
4623         (gst_pad_alloc_buffer_and_set_caps): New function, does what
4624         alloc_buffer used to do. Fixes #322874.
4625
4626         * docs/gst/gstreamer-sections.txt: 
4627         * docs/design/part-negotiation.txt: 
4628         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4629         changes.
4630
4631 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4632
4633         patch by: Sebastien Moutte
4634
4635         * win32/MANIFEST:
4636         * win32/common/config.h.in:
4637         * win32/vs6/libgstcontroller.dsp:
4638           win32 build fixes
4639
4640 2005-12-05  Wim Taymans  <wim@fluendo.com>
4641
4642         * gst/gstcaps.c: (gst_caps_is_equal):
4643         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4644         (gst_fake_src_create):
4645         Back out previous code changes, leave doc updates, file bugs 
4646         instead. 
4647
4648 2005-12-05  Wim Taymans  <wim@fluendo.com>
4649
4650         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4651         (gst_fake_src_get_times), (gst_fake_src_create):
4652         * plugins/elements/gstfakesrc.h:
4653         Fix broken sync code.
4654
4655 2005-12-05  Wim Taymans  <wim@fluendo.com>
4656
4657         * gst/gstcaps.c: (gst_caps_is_equal):
4658         Comparing NULL against !NULL yields different caps, not a
4659         failure.
4660
4661 2005-12-05  Wim Taymans  <wim@fluendo.com>
4662
4663         * gst/gstpipeline.c:
4664         Fix small typo in docs.
4665
4666 2005-12-05  Andy Wingo  <wingo@pobox.com>
4667
4668         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
4669
4670         * gst/gst.c (init_post): remove hard-coded 0.9 location for
4671         registries/plugins with a MAJORMINOR one.
4672         (plugin_desc): Rename library from gstcoreleements to
4673         staticelements. Fixes #323222.
4674
4675 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
4676
4677         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4678           Change debug category to 'collectpads' from 'collect_pads'
4679           (fixes #323250).
4680
4681 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4682
4683         patch by: Sebastien Moutte
4684
4685         * libs/gst/controller/gstinterpolation.c:
4686           use convert function for uint64/double
4687         * win32/vs6/libgstcontroller.dsp:
4688           link to GLib
4689
4690 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4691
4692         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4693         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4694         * gst/gstutils.h:
4695         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4696           add tests that seem to show that the guint64/gdouble conversions
4697           are correct.
4698
4699 2005-12-02  Wim Taymans  <wim@fluendo.com>
4700
4701         * gst/gstregistry.c: (gst_registry_add_path):
4702         * gst/gstregistry.h:
4703         * gst/gstregistryxml.c:
4704         Fix docs again.
4705
4706 2005-12-02  Wim Taymans  <wim@fluendo.com>
4707
4708         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4709         (gst_util_uint64_scale_int):
4710         Small cleanup.
4711
4712         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4713         Add debug log line.
4714
4715         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4716         Add FIXME.
4717
4718 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4719
4720         * win32/MANIFEST:
4721         * win32/common/config.h:
4722         * win32/vs6/gstreamer.dsw:
4723         * win32/vs6/libgstcoreelements.dsp:
4724         * win32/vs6/libgstelements.dsp:
4725           renamed core elements plugin
4726
4727 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4728
4729         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4730         (get_candidates):
4731           do piece-wise major/minor comparison so 0.9 < 0.10
4732           also allow .exe extensions for tools
4733
4734 2005-12-02  Michael Smith  <msmith@fluendo.com>
4735
4736         * gst/gst.c:
4737           Escape a % to make gtkdoc happier; bug 322958.
4738
4739 === release 0.9.7 ===
4740
4741 2005-12-01   <thomas (at) apestaart (dot) org>
4742
4743         * configure.ac:
4744           releasing 0.9.7, "My Dog Has No Nose"
4745
4746 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4747
4748         * common/gst-xmlinspect.py:
4749         * configure.ac:
4750         * docs/libs/tmpl/gstdataprotocol.sgml:
4751         * docs/random/release:
4752         * po/af.po:
4753         * po/az.po:
4754         * po/bg.po:
4755         * po/ca.po:
4756         * po/cs.po:
4757         * po/de.po:
4758         * po/en_GB.po:
4759         * po/fr.po:
4760         * po/it.po:
4761         * po/nb.po:
4762         * po/nl.po:
4763         * po/ru.po:
4764         * po/sq.po:
4765         * po/sr.po:
4766         * po/sv.po:
4767         * po/tr.po:
4768         * po/uk.po:
4769         * po/vi.po:
4770         * win32/common/config.h:
4771         * win32/common/config.h.in:
4772         * win32/vs6/gst_inspect.dsp:
4773         * win32/vs6/gst_launch.dsp:
4774         * win32/vs6/libgstbase.dsp:
4775         * win32/vs6/libgstelements.dsp:
4776         * win32/vs6/libgstreamer.dsp:
4777         * win32/vs7/GStreamer.vcproj:
4778         * win32/vs7/gst-inspect.vcproj:
4779         * win32/vs7/gst-launch.vcproj:
4780         * win32/vs7/libgstbase.vcproj:
4781           bump GST_MAJORMINOR to 0.10
4782           reset libtool version
4783
4784 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4785
4786         * po/LINGUAS:
4787         * po/bg.po:
4788           Added Bulgarian translation by (Alexander Shopov)
4789
4790 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4791
4792         * tests/check/gst/gstplugin.c:
4793           fix test
4794
4795 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4796
4797         * common/gst-xmlinspect.py:
4798         * common/gtk-doc-plugins.mak:
4799         * configure.ac:
4800         * docs/Makefile.am:
4801         * docs/gst/Makefile.am:
4802         * docs/gst/gstreamer-docs.sgml:
4803         * docs/gst/gstreamer-sections.txt:
4804         * docs/gst/gstreamer.types:
4805         * docs/gst/gstreamer.types.in:
4806         * docs/plugins/Makefile.am:
4807         * docs/plugins/gstreamer-plugins-docs.sgml:
4808         * docs/plugins/gstreamer-plugins-sections.txt:
4809         * docs/plugins/gstreamer-plugins.types:
4810         * docs/plugins/inspect.stamp:
4811         * docs/plugins/inspect/plugin-coreelements.xml:
4812         * docs/plugins/inspect/plugin-coreindexers.xml:
4813         * docs/plugins/scanobj-build.stamp:
4814         * gstreamer.spec.in:
4815         * plugins/elements/Makefile.am:
4816         * plugins/elements/gstelements.c:
4817         * plugins/elements/gstfakesink.c:
4818         * plugins/elements/gstfakesrc.c:
4819         * plugins/elements/gstfilesink.c:
4820         * plugins/elements/gstfilesrc.c:
4821         * plugins/elements/gstqueue.c:
4822         * plugins/indexers/Makefile.am:
4823         * plugins/indexers/gstindexers.c:
4824           document core plugins in a separate document just like all the
4825           others
4826           rename these plugins to something starting with core
4827
4828 2005-12-01  Andy Wingo  <wingo@pobox.com>
4829
4830         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4831         padding here before, but it missed the commit.
4832
4833 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4834
4835         * libs/gst/controller/gstinterpolation.c:
4836           whitespace prices have crashed, we should feel free to use some now
4837           use gst_guint64_to_gdouble
4838
4839 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4840
4841         * libs/gst/controller/gstcontroller.c:
4842         * libs/gst/controller/gsthelper.c:
4843         * libs/gst/controller/gstinterpolation.c:
4844         * libs/gst/controller/lib.c:
4845           wrap config.h include
4846
4847 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4848
4849         * docs/gst/gstreamer-sections.txt:
4850           update docs
4851
4852 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4853
4854         * plugins/elements/gstelements.c:
4855         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4856         (gst_fd_sink__class_init), (gst_fd_sink__init),
4857         (gst_fd_sink__chain), (gst_fd_sink__set_property),
4858         (gst_fd_sink__get_property):
4859         * plugins/elements/gstfdsink.h:
4860         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4861         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4862         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4863         (gst_fd_src_unlock), (gst_fd_src_set_property),
4864         (gst_fd_src_get_property), (gst_fd_src_create),
4865         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4866         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4867         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4868         (gst_fd_src_uri_handler_init):
4869         * plugins/elements/gstfdsrc.h:
4870         * plugins/elements/gstqueue.c: (gst_queue_get_type):
4871           more anal cleanup
4872
4873 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4874
4875         * docs/gst/Makefile.am:
4876         * docs/gst/gstreamer.types.in:
4877         * gst/Makefile.am:
4878           fix the docs build
4879
4880 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4881
4882         * configure.ac:
4883         * gst/Makefile.am:
4884         * gst/gst.c:
4885         * gst/gstplugin.h:
4886         * gst/gstregistry.h:
4887         * tests/benchmarks/complexity.c:
4888         * tests/benchmarks/mass-elements.c:
4889         * tests/check/Makefile.am:
4890         * tools/Makefile.am:
4891         * tools/gst-inspect.c:
4892         * tools/gst-xmlinspect.c:
4893           various fixes to make
4894           --disable-nls --disable-registry --disable-loadsave
4895           --disable-parse --disable-gst-debug
4896           work and get the core .so down to 360444 bytes after stripping
4897
4898 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4899
4900         * Makefile.am:
4901         * configure.ac:
4902           descend into tests
4903         * docs/random/thomasvs/TODO:
4904         * tests/Makefile.am:
4905         * tests/README:
4906           add a README
4907
4908 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4909
4910         * win32/GStreamer.vcproj:
4911         * win32/MANIFEST:
4912         * win32/Makefile:
4913         * win32/Makefile.inspect:
4914         * win32/Makefile.launch:
4915         * win32/Makefile.register:
4916         * win32/README.txt:
4917         * win32/gst-inspect.vcproj:
4918         * win32/gst-launch.vcproj:
4919         * win32/gst-register.vcproj:
4920         * win32/gstelements.vcproj:
4921         * win32/gstgetbits.def:
4922         * win32/gstgetbits.vcproj:
4923         * win32/gstreamer-dbg.def:
4924         * win32/gstreamer.def:
4925         * win32/libgstbase.def:
4926         * win32/libgstbase.vcproj:
4927         * win32/link_oldruntime.c:
4928         * win32/mman.c:
4929         * win32/mman.h:
4930         * win32/mman.inl:
4931         * win32/msvc71.sln:
4932           move even more stuff, win32/ is nice and clean now
4933
4934 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4935
4936         * libs/gst/control/.cvsignore:
4937         * win32/MANIFEST:
4938         * win32/config.h:
4939         * win32/dirent.c:
4940         * win32/dirent.h:
4941         * win32/gstbytestream.def:
4942         * win32/gstbytestream.vcproj:
4943         * win32/gstconfig.h:
4944         * win32/gstenumtypes.c:
4945         * win32/gstenumtypes.h:
4946         * win32/gstoptimalscheduler.vcproj:
4947         * win32/gstversion.h:
4948         * win32/gtchar.h:
4949         * win32/testsuite/bins.vcproj:
4950         * win32/testsuite/bytestream.vcproj:
4951         * win32/testsuite/caps.vcproj:
4952         * win32/testsuite/cleanup.vcproj:
4953         * win32/testsuite/clock.vcproj:
4954         * win32/testsuite/debug.vcproj:
4955         * win32/testsuite/dlopen.vcproj:
4956         * win32/testsuite/dynparams.vcproj:
4957         * win32/testsuite/elements.vcproj:
4958         * win32/testsuite/ghostpads.vcproj:
4959         * win32/testsuite/indexers.vcproj:
4960         * win32/testsuite/negotiation.vcproj:
4961         * win32/testsuite/parse.vcproj:
4962         * win32/testsuite/plugin.vcproj:
4963         * win32/testsuite/refcounting.vcproj:
4964         * win32/testsuite/schedulers.vcproj:
4965         * win32/testsuite/states.vcproj:
4966         * win32/testsuite/tags.vcproj:
4967         * win32/testsuite/threads.vcproj:
4968           remove old win32 stuff that isn't maintained and should be
4969           reorganized
4970
4971 2005-11-30  Andy Wingo  <wingo@pobox.com>
4972
4973         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4974         loading the gst.interfaces python module bork.
4975
4976         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
4977         available since GLib 2.2. Fixes #318031.
4978
4979 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4980
4981         * Makefile.am:
4982         * check/.cvsignore:
4983         * check/Makefile.am:
4984         * check/elements/.cvsignore:
4985         * check/elements/fakesrc.c:
4986         * check/elements/fdsrc.c:
4987         * check/elements/identity.c:
4988         * check/generic/.cvsignore:
4989         * check/generic/states.c:
4990         * check/gst-libs/.cvsignore:
4991         * check/gst-libs/controller.c:
4992         * check/gst-libs/gdp.c:
4993         * check/gst/.cvsignore:
4994         * check/gst/capslist.h:
4995         * check/gst/gst.c:
4996         * check/gst/gstbin.c:
4997         * check/gst/gstbuffer.c:
4998         * check/gst/gstbus.c:
4999         * check/gst/gstcaps.c:
5000         * check/gst/gstelement.c:
5001         * check/gst/gstevent.c:
5002         * check/gst/gstghostpad.c:
5003         * check/gst/gstiterator.c:
5004         * check/gst/gstmessage.c:
5005         * check/gst/gstminiobject.c:
5006         * check/gst/gstobject.c:
5007         * check/gst/gstpad.c:
5008         * check/gst/gstpipeline.c:
5009         * check/gst/gstplugin.c:
5010         * check/gst/gstsegment.c:
5011         * check/gst/gststructure.c:
5012         * check/gst/gstsystemclock.c:
5013         * check/gst/gsttag.c:
5014         * check/gst/gstutils.c:
5015         * check/gst/gstvalue.c:
5016         * check/net/.cvsignore:
5017         * check/net/gstnetclientclock.c:
5018         * check/net/gstnettimeprovider.c:
5019         * check/pipelines/.cvsignore:
5020         * check/pipelines/cleanup.c:
5021         * check/pipelines/simple_launch_lines.c:
5022         * check/pipelines/stress.c:
5023         * check/states/.cvsignore:
5024         * check/states/sinks.c:
5025         * configure.ac:
5026         * examples/Makefile.am:
5027         * examples/appreader/.cvsignore:
5028         * examples/appreader/Makefile.am:
5029         * examples/appreader/appreader.c:
5030         * examples/controller/.cvsignore:
5031         * examples/controller/Makefile.am:
5032         * examples/controller/audio-example.c:
5033         * examples/cutter/.cvsignore:
5034         * examples/cutter/Makefile.am:
5035         * examples/cutter/cutter.c:
5036         * examples/cutter/cutter.h:
5037         * examples/events/Makefile.am:
5038         * examples/events/seek.c:
5039         * examples/helloworld/.cvsignore:
5040         * examples/helloworld/Makefile.am:
5041         * examples/helloworld/helloworld.c:
5042         * examples/helloworld2/.cvsignore:
5043         * examples/helloworld2/Makefile.am:
5044         * examples/helloworld2/helloworld2.c:
5045         * examples/launch/.cvsignore:
5046         * examples/launch/Makefile.am:
5047         * examples/launch/mp3parselaunch.c:
5048         * examples/launch/mp3play:
5049         * examples/manual/.cvsignore:
5050         * examples/manual/Makefile.am:
5051         * examples/manual/extract.pl:
5052         * examples/metadata/Makefile.am:
5053         * examples/metadata/read-metadata.c:
5054         * examples/mixer/.cvsignore:
5055         * examples/mixer/Makefile.am:
5056         * examples/mixer/mixer.c:
5057         * examples/mixer/mixer.h:
5058         * examples/pingpong/.cvsignore:
5059         * examples/pingpong/Makefile.am:
5060         * examples/pingpong/pingpong.c:
5061         * examples/plugins/.cvsignore:
5062         * examples/plugins/Makefile.am:
5063         * examples/plugins/example.c:
5064         * examples/plugins/example.h:
5065         * examples/pwg/.cvsignore:
5066         * examples/pwg/Makefile.am:
5067         * examples/pwg/extract.pl:
5068         * examples/queue/.cvsignore:
5069         * examples/queue/Makefile.am:
5070         * examples/queue/queue.c:
5071         * examples/queue2/.cvsignore:
5072         * examples/queue2/Makefile.am:
5073         * examples/queue2/queue2.c:
5074         * examples/queue3/.cvsignore:
5075         * examples/queue3/Makefile.am:
5076         * examples/queue3/queue3.c:
5077         * examples/queue4/.cvsignore:
5078         * examples/queue4/Makefile.am:
5079         * examples/queue4/queue4.c:
5080         * examples/retag/.cvsignore:
5081         * examples/retag/Makefile.am:
5082         * examples/retag/retag.c:
5083         * examples/retag/transcode.c:
5084         * examples/thread/.cvsignore:
5085         * examples/thread/Makefile.am:
5086         * examples/thread/thread.c:
5087         * examples/typefind/.cvsignore:
5088         * examples/typefind/Makefile.am:
5089         * examples/typefind/typefind.c:
5090         * examples/xml/.cvsignore:
5091         * examples/xml/Makefile.am:
5092         * examples/xml/createxml.c:
5093         * examples/xml/runxml.c:
5094         * tests/Makefile.am:
5095         * tests/check/Makefile.am:
5096         * testsuite/.cvsignore:
5097         * testsuite/Makefile.am:
5098         * testsuite/Rules:
5099         * testsuite/caps/.cvsignore:
5100         * testsuite/caps/Makefile.am:
5101         * testsuite/caps/app_fixate.c:
5102         * testsuite/caps/audioscale.c:
5103         * testsuite/caps/caps.c:
5104         * testsuite/caps/caps.h:
5105         * testsuite/caps/caps_strings:
5106         * testsuite/caps/compatibility.c:
5107         * testsuite/caps/deserialize.c:
5108         * testsuite/caps/enumcaps.c:
5109         * testsuite/caps/eratosthenes.c:
5110         * testsuite/caps/filtercaps.c:
5111         * testsuite/caps/fixed.c:
5112         * testsuite/caps/fraction-convert.c:
5113         * testsuite/caps/fraction-multiply-and-zero.c:
5114         * testsuite/caps/intersect2.c:
5115         * testsuite/caps/intersection.c:
5116         * testsuite/caps/normalisation.c:
5117         * testsuite/caps/random.c:
5118         * testsuite/caps/renegotiate.c:
5119         * testsuite/caps/sets.c:
5120         * testsuite/caps/simplify.c:
5121         * testsuite/caps/string-conversions.c:
5122         * testsuite/caps/structure.c:
5123         * testsuite/caps/subtract.c:
5124         * testsuite/caps/union.c:
5125         * testsuite/debug/.cvsignore:
5126         * testsuite/debug/Makefile.am:
5127         * testsuite/debug/category.c:
5128         * testsuite/debug/commandline.c:
5129         * testsuite/debug/global.c:
5130         * testsuite/debug/output.c:
5131         * testsuite/debug/printf_extension.c:
5132         * testsuite/dlopen/.cvsignore:
5133         * testsuite/dlopen/Makefile.am:
5134         * testsuite/dlopen/dlopen_gst.c:
5135         * testsuite/dlopen/loadgst.c:
5136         * testsuite/elements/.cvsignore:
5137         * testsuite/elements/Makefile.am:
5138         * testsuite/elements/gst-inspect-check.in:
5139         * testsuite/elements/struct_i386.h:
5140         * testsuite/elements/struct_size.c:
5141         * testsuite/indexers/.cvsignore:
5142         * testsuite/indexers/Makefile.am:
5143         * testsuite/indexers/cache1.c:
5144         * testsuite/indexers/indexdump.c:
5145         * testsuite/parse/.cvsignore:
5146         * testsuite/parse/Makefile.am:
5147         * testsuite/parse/parse1.c:
5148         * testsuite/parse/parse2.c:
5149         * testsuite/plugin/.cvsignore:
5150         * testsuite/plugin/Makefile.am:
5151         * testsuite/plugin/README:
5152         * testsuite/plugin/dynamic.c:
5153         * testsuite/plugin/linked.c:
5154         * testsuite/plugin/loading.c:
5155         * testsuite/plugin/registry.c:
5156         * testsuite/plugin/static.c:
5157         * testsuite/plugin/static2.c:
5158         * testsuite/plugin/testplugin.c:
5159         * testsuite/plugin/testplugin2.c:
5160         * testsuite/plugin/testplugin2_s.c:
5161         * testsuite/plugin/testplugin_s.c:
5162         * testsuite/refcounting/.cvsignore:
5163         * testsuite/refcounting/Makefile.am:
5164         * testsuite/refcounting/bin.c:
5165         * testsuite/refcounting/element.c:
5166         * testsuite/refcounting/element_pad.c:
5167         * testsuite/refcounting/mainloop.c:
5168         * testsuite/refcounting/mem.c:
5169         * testsuite/refcounting/mem.h:
5170         * testsuite/refcounting/object.c:
5171         * testsuite/refcounting/pad.c:
5172         * testsuite/refcounting/sched.c:
5173         * testsuite/refcounting/thread.c:
5174         * testsuite/states/.cvsignore:
5175         * testsuite/states/Makefile.am:
5176         * testsuite/states/bin.c:
5177         * testsuite/states/locked.c:
5178         * testsuite/states/parent.c:
5179         * testsuite/threads/.cvsignore:
5180         * testsuite/threads/159566.c:
5181         * testsuite/threads/159852.c:
5182         * testsuite/threads/Makefile.am:
5183         * testsuite/threads/queue.c:
5184         * testsuite/threads/signals.c:
5185         * testsuite/threads/staticrec.c:
5186         * testsuite/threads/thread.c:
5187         * testsuite/threads/threadb.c:
5188         * testsuite/threads/threadc.c:
5189         * testsuite/threads/threadd.c:
5190         * testsuite/threads/threade.c:
5191         * testsuite/threads/threadf.c:
5192         * testsuite/threads/threadg.c:
5193         * testsuite/threads/threadh.c:
5194         * testsuite/threads/threadi.c:
5195           move all of these under tests
5196
5197 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5198
5199         * configure.ac:
5200         * tests/Makefile.am:
5201           fix distcheck
5202
5203 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5204
5205         * docs/gst/gstreamer-sections.txt:
5206         * tests/sched/.cvsignore:
5207         * tests/sched/Makefile.am:
5208         * tests/sched/cases/(fs-fs).xml:
5209         * tests/sched/cases/(fs-i-fs).xml:
5210         * tests/sched/cases/(fs-i-i-fs).xml:
5211         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5212         * tests/sched/dynamic-pipeline.c:
5213         * tests/sched/interrupt1.c:
5214         * tests/sched/interrupt2.c:
5215         * tests/sched/interrupt3.c:
5216         * tests/sched/runtestcases:
5217         * tests/sched/runxml.c:
5218         * tests/sched/sched-stress.c:
5219         * tests/sched/sort.c:
5220         * tests/sched/testcases:
5221         * tests/sched/testcases1.tc:
5222         * tests/seeking/.cvsignore:
5223         * tests/seeking/Makefile.am:
5224         * tests/seeking/seeking1.c:
5225         * tests/threadstate/.cvsignore:
5226         * tests/threadstate/Makefile.am:
5227         * tests/threadstate/test1.c:
5228         * tests/threadstate/test2.c:
5229         * tests/threadstate/threadstate1.c:
5230         * tests/threadstate/threadstate2.c:
5231         * tests/threadstate/threadstate3.c:
5232         * tests/threadstate/threadstate4.c:
5233         * tests/threadstate/threadstate5.c:
5234           remove obsolete tests
5235         * configure.ac:
5236         * tests/bench-complexity.scm:
5237         * tests/bench-mass_elements.scm:
5238         * tests/complexity.c:
5239         * tests/complexity.gnuplot:
5240         * tests/instantiate/.cvsignore:
5241         * tests/instantiate/Makefile.am:
5242         * tests/instantiate/caps.c:
5243         * tests/mass_elements.c:
5244         * tests/network-clock-utils.scm:
5245         * tests/network-clock.scm:
5246         * tests/plot-data:
5247         First pass at cleaning up tests/ dir before moving the rest
5248         Combined with CVS surgery
5249
5250 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5251
5252         * po/POTFILES.in:
5253           queue has moved, update
5254
5255 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5256
5257         * docs/gst/gstreamer-sections.txt:
5258           remove double entries from the docs
5259         * gst/gst_private.h:
5260         * gst/gstinfo.c: (_gst_debug_init):
5261           remove the THREAD debug category
5262         * gst/Makefile.am:
5263         * gst/gstqueue.c:
5264         * gst/gstqueue.h:
5265         * docs/gst/gstreamer.types:
5266         * plugins/elements/gstqueue.c: (gst_queue_get_type),
5267         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5268           completely move queue and fix up debugging categories
5269
5270 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5271
5272         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5273           make initialization portable, using LL is not
5274
5275 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5276
5277         * win32/common/gstconfig.h:
5278           add large padding
5279
5280 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5281
5282         * win32/common/libgstreamer.def:
5283           rename symbols; sort base section
5284
5285 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5286
5287         * gst/gstclock.c: (do_linear_regression):
5288           remove crack non-portable handrolled DEBUG macro
5289
5290 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5291
5292         * docs/random/release:
5293           update notes
5294         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5295         (gst_object_flags_get_type), (register_gst_bin_flags),
5296         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5297         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5298         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5299         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5300         (gst_caps_flags_get_type), (register_gst_clock_return),
5301         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5302         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5303         (gst_clock_flags_get_type), (register_gst_state),
5304         (gst_state_get_type), (register_gst_state_change_return),
5305         (gst_state_change_return_get_type), (register_gst_state_change),
5306         (gst_state_change_get_type), (register_gst_element_flags),
5307         (gst_element_flags_get_type), (register_gst_core_error),
5308         (gst_core_error_get_type), (register_gst_library_error),
5309         (gst_library_error_get_type), (register_gst_resource_error),
5310         (gst_resource_error_get_type), (register_gst_stream_error),
5311         (gst_stream_error_get_type), (register_gst_event_type_flags),
5312         (gst_event_type_flags_get_type), (register_gst_event_type),
5313         (gst_event_type_get_type), (register_gst_seek_type),
5314         (gst_seek_type_get_type), (register_gst_seek_flags),
5315         (gst_seek_flags_get_type), (register_gst_format),
5316         (gst_format_get_type), (register_gst_index_certainty),
5317         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5318         (gst_index_entry_type_get_type),
5319         (register_gst_index_lookup_method),
5320         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5321         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5322         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5323         (gst_index_flags_get_type), (register_gst_debug_level),
5324         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5325         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5326         (gst_iterator_result_get_type), (register_gst_iterator_item),
5327         (gst_iterator_item_get_type), (register_gst_message_type),
5328         (gst_message_type_get_type), (register_gst_mini_object_flags),
5329         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5330         (gst_pad_link_return_get_type), (register_gst_flow_return),
5331         (gst_flow_return_get_type), (register_gst_activate_mode),
5332         (gst_activate_mode_get_type), (register_gst_pad_direction),
5333         (gst_pad_direction_get_type), (register_gst_pad_flags),
5334         (gst_pad_flags_get_type), (register_gst_pad_presence),
5335         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5336         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5337         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5338         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5339         (gst_plugin_flags_get_type), (register_gst_rank),
5340         (gst_rank_get_type), (register_gst_query_type),
5341         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5342         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5343         (gst_tag_flag_get_type), (register_gst_task_state),
5344         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5345         (gst_alloc_trace_flags_get_type),
5346         (register_gst_type_find_probability),
5347         (gst_type_find_probability_get_type), (register_gst_uri_type),
5348         (gst_uri_type_get_type), (register_gst_parse_error),
5349         (gst_parse_error_get_type):
5350         * win32/common/gstenumtypes.h:
5351         * win32/common/gstversion.h:
5352           update visual studio generated files
5353
5354 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5355
5356         * win32/vs6/libgstbase.dsp:
5357         * win32/vs6/libgstelements.dsp:
5358           update project files for new locations
5359
5360 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5361
5362         * Makefile.am:
5363           remove some files
5364         * README:
5365           reinstate and update
5366         * DEVEL:
5367         * REQUIREMENTS:
5368           removed
5369         * LICENSE:
5370         * docs/random/LICENSE:
5371           moved to random
5372
5373 2005-11-30  Edward Hervey  <edward@fluendo.com>
5374
5375         * gst/gsttypefind.c: (gst_type_find_register):
5376         * gst/gsttypefind.h:
5377         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5378         (gst_type_find_factory_dispose):
5379         * gst/gsttypefindfactory.h:
5380         Fix memory leak in GstTypeFindFactory.
5381
5382 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5383
5384         * gst/gst.c:
5385         * plugins/elements/Makefile.am:
5386         * plugins/elements/gstelements.c:
5387         * plugins/elements/gstqueue.c:
5388           move queue from core to the elements plugin
5389
5390 2005-11-29  Andy Wingo  <wingo@pobox.com>
5391
5392         * libs/gst/base/gstbasetransform.h: 
5393         * libs/gst/base/gstbasesrc.h: 
5394         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5395
5396         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5397         of pointers by which to pad very extensible base classes (like the
5398         ones in libs/gst/base).
5399
5400 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5401
5402         * docs/gst/gstreamer-docs.sgml:
5403         * docs/gst/gstreamer-sections.txt:
5404         * docs/libs/gstreamer-libs-docs.sgml:
5405         * docs/libs/gstreamer-libs-sections.txt:
5406           moving documentation from core to lib
5407
5408 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5409
5410         * check/Makefile.am:
5411         * configure.ac:
5412         * docs/gst/Makefile.am:
5413         * gst/Makefile.am:
5414         * gst/base/.cvsignore:
5415         * gst/base/Makefile.am:
5416         * gst/base/README:
5417         * gst/base/gstadapter.c:
5418         * gst/base/gstadapter.h:
5419         * gst/base/gstbasesink.c:
5420         * gst/base/gstbasesink.h:
5421         * gst/base/gstbasesrc.c:
5422         * gst/base/gstbasesrc.h:
5423         * gst/base/gstbasetransform.c:
5424         * gst/base/gstbasetransform.h:
5425         * gst/base/gstcollectpads.c:
5426         * gst/base/gstcollectpads.h:
5427         * gst/base/gstpushsrc.c:
5428         * gst/base/gstpushsrc.h:
5429         * gst/base/gsttypefindhelper.c:
5430         * gst/base/gsttypefindhelper.h:
5431         * gst/check/Makefile.am:
5432         * gst/check/gstcheck.c:
5433         * gst/check/gstcheck.h:
5434         * gst/net/Makefile.am:
5435         * gst/net/gstnet.h:
5436         * gst/net/gstnetclientclock.c:
5437         * gst/net/gstnetclientclock.h:
5438         * gst/net/gstnettimepacket.c:
5439         * gst/net/gstnettimepacket.h:
5440         * gst/net/gstnettimeprovider.c:
5441         * gst/net/gstnettimeprovider.h:
5442         * libs/gst/Makefile.am:
5443         * libs/gst/base/Makefile.am:
5444         * libs/gst/base/gstbasetransform.c:
5445         * libs/gst/check/Makefile.am:
5446         * plugins/elements/Makefile.am:
5447         * po/POTFILES.in:
5448           CVS surgery + support to move base, check, and net out of gst
5449           and into libs/gst
5450
5451 2005-11-29  Andy Wingo  <wingo@pobox.com>
5452
5453         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5454
5455         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5456         padding.
5457
5458         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5459
5460         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5461
5462         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5463
5464         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5465         padding; reduces object size by about 30%. We don't expect
5466         anything else to go into gstobject.
5467
5468         * gst/gstminiobject.h (struct _GstMiniObject)
5469         (struct _GstMiniObjectClass): Only one pointer of padding; the
5470         payload is only a pointer and two ints anyway. For the class there
5471         are only two methods as well.
5472         
5473         * gst/gstelement.h (struct _GstElementClass): Removed
5474         the state_changed signal callback, it is not used.
5475
5476 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5477
5478         * docs/gst/gstreamer.types:
5479           fix includes, though they are a little dinky
5480
5481 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5482
5483         * check/Makefile.am:
5484           look in the right place for elements, a lot more chance of
5485           success
5486         * gst/Makefile.am:
5487           remove indexers and elements subdirs
5488         * plugins/Makefile.am:
5489           make indexers conditional
5490
5491 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5492
5493         * Makefile.am:
5494         * configure.ac:
5495         * plugins/elements/Makefile.am:
5496         * plugins/elements/gstcapsfilter.c:
5497         * plugins/elements/gstfilesink.c:
5498         * plugins/elements/gstfilesrc.c:
5499         * plugins/elements/gstidentity.c:
5500         * plugins/indexers/Makefile.am:
5501           do CVS surgery and related build fixery to move elements
5502           and indexers in a new gstreamer/plugins directory, out of the
5503           gst/ directory
5504
5505 2005-11-29  Andy Wingo  <wingo@pobox.com>
5506
5507         * check/Makefile.am:
5508         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5509         * pkgconfig/gstreamer-net.pc.in:
5510         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5511         #322257.
5512
5513 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5514
5515         * tools/Makefile.am:
5516         * tools/gst-complete.1.in:
5517         * tools/gst-complete.c:
5518         * tools/gst-compprep.1.in:
5519         * tools/gst-compprep.c:
5520           removing -compprep and -complete
5521
5522 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5523
5524         * gst/gstevent.c: (gst_event_new_new_segment),
5525         (gst_event_parse_new_segment):
5526         * gst/gstevent.h:
5527           fix #320529 - clean up new_segment API and structure.
5528           Let's hope everyone was using the methods, and not the structure.
5529
5530 2005-11-29  Edward Hervey  <edward@fluendo.com>
5531
5532         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5533         (gst_base_sink_event), (gst_base_sink_do_sync),
5534         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5535         Properly handle non GST_FORMAT_TIME segment
5536         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5537         Properly handle non GST_FORMAT_TIME segment
5538         * gst/gstsegment.c:
5539         This function is valid if the accumulator is 0 and the format
5540         is different from the requested format.
5541         
5542 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5543
5544         * docs/gst/gstreamer-sections.txt:
5545         Add gst_query_new_seeking and gst_query_parse_seeking to the
5546         docs.
5547
5548 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5549
5550         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5551           Treat a pad alloc with new caps the same as if we were not
5552           negotiated, in order to allow a changing upstream output
5553           to produce a new format of data.
5554
5555 2005-11-29  Edward Hervey  <edward@fluendo.com>
5556
5557         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5558         (gst_base_transform_event), (gst_base_transform_eventfunc):
5559         The event virtual method is now properly implemented, with a default
5560         handler
5561         Sub classes should call the parent_class event method. They should
5562         return FALSE if they had a problem handling the given event, or don't
5563         want GstBaseTransform to send that even downstream
5564         * gst/elements/gstidentity.c: (gst_identity_class_init),
5565         (gst_identity_init), (gst_identity_event),
5566         (gst_identity_transform_ip), (gst_identity_set_property),
5567         (gst_identity_get_property):
5568         * gst/elements/gstidentity.h:
5569         Added the single-segment boolean property.
5570         If set to TRUE, it will output a single segment of data, starting from
5571         0, will eat up all incoming newsegment, and modify the timestamp of the
5572         buffers accordingly
5573
5574 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
5575
5576         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5577           Don't ref NULL target pad (#322751). Improve docs.
5578
5579 2005-11-29  Michael Smith  <msmith@fluendo.com>
5580
5581         * gst/gstregistryxml.c: (load_plugin):
5582           Don't crash if we failed to load a feature from a plugin. 
5583
5584 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5585
5586         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5587         (GST_START_TEST):
5588           use more check API and less GLib API
5589
5590 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5591
5592         * Makefile.am:
5593           don't run checks if we don't have check
5594         * common/check.mak:
5595           remove the registry when running make torture
5596         * docs/gst/gstreamer-sections.txt:
5597           remove second multiply
5598         * gst/gstqueue.c: (gst_queue_loop):
5599           fix a compile warning when disabling debug
5600
5601 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5602
5603         * gst/gstinfo.h:
5604         Hey! Let's print the pad name if the pointer != NULL instead
5605         of when it == NULL :-)
5606
5607 2005-11-28  Wim Taymans  <wim@fluendo.com>
5608
5609         * check/gst/gstutils.c: (GST_START_TEST):
5610         Updated check, add some scaling accuracy checking code.
5611
5612         * gst/gstutils.c: (gst_util_div128_64),
5613         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5614         (gst_util_uint64_scale_int):
5615         Fix 6 times faster division code. Optimize for common 
5616         1/1 and less common X/1 cases.
5617
5618 2005-11-28  Wim Taymans  <wim@fluendo.com>
5619
5620         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5621         More checks.
5622
5623         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5624         (do_linear_regression), (gst_clock_add_observation):
5625         Cleanups.
5626         Release lock when the clock cannot be slaved.
5627         Catch the case where the regression returned an invalid denominator.
5628
5629         * gst/gstutils.c: (gst_util_div128_64_iterate),
5630         (gst_util_div128_64), (gst_util_uint64_scale_int64),
5631         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5632         Add protentially more performant non-iterative 128/64 divide function
5633         that unfortunatly does not work yet.
5634         Shortcut the trivial 0/X = 0 case.
5635         Remove the warnings on overflow.
5636
5637 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5638
5639         * gst/gstplugin.c: (gst_plugin_register_func):
5640           everything causing a plugin not to load should be at least a WARNING
5641
5642 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
5643
5644         * docs/random/ensonic/dparams.txt:
5645           some TODOs for the next dev cycle
5646         * libs/gst/controller/gstcontroller.c:
5647         (gst_controlled_property_set_interpolation_mode),
5648         (gst_controlled_property_new):
5649         * libs/gst/controller/gstcontroller.h:
5650           use base type to assign acccessor functions
5651
5652 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5653
5654         * check/Makefile.am:
5655         Oops, that should have been top_srcdir
5656
5657 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5658
5659         * check/Makefile.am:
5660         * check/elements/fdsrc.c: (GST_START_TEST):
5661         Use a cmdline define to specify the location of a file to use for
5662         testing, to avoid breaking distcheck.
5663
5664 2005-11-28  Andy Wingo  <wingo@pobox.com>
5665
5666         * gst/gstpad.c (fixate_value): Use array functions for arrays.
5667
5668 2005-11-28  Edward Hervey  <edward@fluendo.com>
5669
5670         * tools/gst-launch.c: (main):
5671         Clarify the output strings, makes it easier to translate.
5672         Fixes #322626
5673
5674 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5675
5676         * gst/Makefile.am:
5677           don't try and build net if we don't even have <sys/socket.h>
5678
5679 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
5680
5681         * check/Makefile.am:
5682         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5683         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5684           Add tests for fdsrc seekability
5685
5686         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5687         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5688         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5689         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5690         * gst/elements/gstfdsrc.h:
5691           fdsrc should not be a 'live' source.
5692           Implement seeking on seekable fd's.
5693
5694         * gst/gstquery.c: (gst_query_new_seeking),
5695         (gst_query_parse_seeking):
5696         * gst/gstquery.h:
5697           Implement SEEKING query functions: 
5698             *_new_seeking and *_parse_seeking
5699
5700 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
5701
5702         * gst/gstelement.c: (gst_element_dispose):
5703           don't loop forever
5704
5705         * gst/gstiterator.c:
5706         * gst/gststructure.c:
5707           doc fixes
5708
5709         * libs/gst/controller/gstcontroller.c:
5710         (gst_controlled_property_set_interpolation_mode):
5711         * libs/gst/controller/gstcontroller.h:
5712         * libs/gst/controller/gstinterpolation.c:
5713         (interpolate_none_get_enum_value_array):
5714           support controlling enums
5715
5716 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5717
5718         * gst/gstvalue.c:
5719           Improve documentation for gst_value_union().
5720
5721         * gst/gstvalue.h:
5722           Change return value for union, intersect and subtract functions
5723           from gint to gboolean.
5724
5725 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5726
5727         * gst/gstvalue.c: (gst_value_serialize_any_list),
5728         (gst_value_transform_any_list_string),
5729         (gst_value_deserialize_list), (gst_value_deserialize_array),
5730         (gst_value_set_int_range), (gst_value_deserialize_int_range),
5731         (gst_value_set_double_range), (gst_value_deserialize_double_range),
5732         (gst_value_set_fraction_range_full),
5733         (gst_value_deserialize_fraction_range),
5734         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5735         (gst_value_deserialize_boolean),
5736         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5737         (gst_value_serialize_float), (gst_value_deserialize_float),
5738         (gst_string_wrap), (gst_value_deserialize_string),
5739         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5740         (gst_value_union_int_range_int_range),
5741         (gst_value_intersect_int_range_int_range),
5742         (gst_value_intersect_double_range_double_range),
5743         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5744         (gst_value_subtract_int_range_int_range),
5745         (gst_value_subtract_double_double_range),
5746         (gst_value_subtract_double_range_double_range),
5747         (gst_value_deserialize_fraction):
5748         * gst/gstvalue.h:
5749           Use gint, gdouble and gchar in our API instead of int, double and
5750           char (and make usage in gstvalue.c more consistent).
5751
5752 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5753
5754         * check/Makefile.am:
5755         * libs/gst/controller/Makefile.am:
5756         * libs/gst/dataprotocol/Makefile.am:
5757           fix up Makefile.am and remove GST_ENABLE_NEW
5758
5759 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5760
5761         * configure.ac:
5762         * gst/Makefile.am:
5763         * gst/base/Makefile.am:
5764         * gst/check/Makefile.am:
5765         * gst/elements/Makefile.am:
5766         * gst/net/Makefile.am:
5767           update LDFLAGS use some more
5768
5769 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5770
5771         * common/m4/gst-doc.m4:
5772           Fixes #312589
5773
5774 2005-11-26  Edward Hervey  <edward@fluendo.com>
5775
5776         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5777         This shouldn't issue a g_warning since it returns NULL if it
5778         couldn't find the plugin, and all functions using this behave
5779         properly on a NULL return. Switching to a GST_WARNING.
5780
5781 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
5782
5783         * gst/gstbin.c: (gst_bin_handle_message_func):
5784         Don't leak clock messages.
5785
5786 2005-11-25  Wim Taymans  <wim@fluendo.com>
5787
5788         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5789         (gst_util_uint64_scale_int):
5790         Optimisations, remove unneeded vars.
5791
5792 2005-11-25  Wim Taymans  <wim@fluendo.com>
5793
5794         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5795         Added more checks for the high precision uint64 cases.
5796
5797         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5798         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5799         Implement high precision (guint64 * guint64) / guint64.
5800
5801 2005-11-24  Wim Taymans  <wim@fluendo.com>
5802
5803         * gst/base/gstbasesrc.c: (gst_base_src_query):
5804         Fix wrong percentage query.
5805
5806         * gst/gstutils.c: (gst_util_uint64_scale),
5807         (gst_util_uint64_scale_int):
5808         Add some more common cases that can be handled 
5809         efficiently to _scale.
5810
5811 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5812
5813         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5814         (gst_mini_object_suite):
5815           don't use check calls from threads; check probably isn't
5816           threadsafe and using a lock to make it threadsafe would
5817           defeat the purpose of this check
5818         * gst/check/gstcheck.c:
5819         * gst/check/gstcheck.h:
5820           use GST_DEBUG some more
5821
5822 2005-11-24  Wim Taymans  <wim@fluendo.com>
5823
5824         * gst/gstutils.c: (gst_util_uint64_scale),
5825         (gst_util_uint64_scale_int):
5826         Chain trivial case to _scale_int.
5827
5828 2005-11-24  Wim Taymans  <wim@fluendo.com>
5829
5830         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5831         Added test for scaling.
5832
5833         * gst/gstclock.h:
5834         Small doc fix.
5835
5836         * gst/gstutils.c: (gst_util_uint64_scale_int):
5837         Implemented high precision scaling code.
5838
5839 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
5840
5841         * gst/gstinfo.h:
5842           do not crash on pad==NULL
5843
5844 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5845
5846         Patch by: Stefan Kost
5847
5848         * common/gtk-doc.mak:
5849         * docs/gst/Makefile.am:
5850         * docs/libs/Makefile.am:
5851           Fix distcheck issues for the libraries docs build
5852           Closes #319599.
5853
5854 2005-11-24  Michael Smith <msmith@fluendo.com>
5855
5856         * docs/manual/basics-helloworld.xml:
5857           Fix bug #315027: memory leak in example code in docs.
5858
5859 2005-11-24  Michael Smith <msmith@fluendo.com>
5860
5861         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5862           Unlock the PREROLL_LOCK in a failure case.
5863
5864 2005-11-24  Wim Taymans  <wim@fluendo.com>
5865
5866         * docs/gst/gstreamer-sections.txt:
5867         * gst/base/gstadapter.h:
5868         * gst/base/gstbasesink.h:
5869         * gst/base/gstbasesrc.h:
5870         * gst/base/gstbasetransform.h:
5871         * gst/base/gstpushsrc.h:
5872         * gst/elements/gstfakesink.h:
5873         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5874         * gst/elements/gstfakesrc.h:
5875         * gst/elements/gstfilesink.h:
5876         * gst/elements/gstfilesrc.h:
5877         * gst/gst.c:
5878         * gst/gstbin.c:
5879         * gst/gstbuffer.c: (_gst_buffer_copy):
5880         * gst/gstbus.h:
5881         * gst/gstcaps.c:
5882         * gst/gstchildproxy.c:
5883         * gst/gstclock.c:
5884         * gst/gstelement.c:
5885         * gst/gstelementfactory.c:
5886         * gst/gstelementfactory.h:
5887         * gst/gstevent.c:
5888         * gst/gstghostpad.h:
5889         * gst/gstindex.h:
5890         * gst/gstinterface.h:
5891         * gst/gstminiobject.c:
5892         * gst/gstminiobject.h:
5893         * gst/gstpad.c:
5894         * gst/gstpad.h:
5895         * gst/gstpadtemplate.h:
5896         * gst/gstpipeline.h:
5897         * gst/gstpluginfeature.h:
5898         * gst/gstquery.h:
5899         * gst/gstqueue.h:
5900         * gst/gsttaglist.c:
5901         * gst/gsttaglist.h:
5902         * gst/gsttagsetter.c:
5903         * gst/gsttagsetter.h:
5904         * gst/gsttrace.c:
5905         * gst/gsttrace.h:
5906         * gst/gsttypefind.h:
5907         * gst/gsturi.h:
5908         * gst/gstvalue.c:
5909         * gst/net/gstnetclientclock.c:
5910         * gst/net/gstnetclientclock.h:
5911         * gst/net/gstnettimepacket.c:
5912         * gst/net/gstnettimeprovider.c:
5913         * gst/net/gstnettimeprovider.h:
5914         Doc fixes.
5915
5916 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5917
5918         * configure.ac: back to HEAD
5919
5920 === release 0.9.6 ===
5921
5922 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
5923
5924         * configure.ac:
5925           releasing 0.9.6, "Always On Time"
5926
5927 2005-11-23  Wim Taymans  <wim@fluendo.com>
5928
5929         * docs/gst/gstreamer-sections.txt:
5930         * gst/glib-compat.c:
5931         * gst/gsttagsetter.c:
5932         * gst/gstvalue.c:
5933         * gst/net/gstnetclientclock.c:
5934         * gst/net/gstnettimepacket.h:
5935         Doc updates.
5936
5937 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5938
5939         * docs/faq/using.xml:
5940         * docs/libs/tmpl/gstcontrol.sgml:
5941         * docs/manual/advanced-dparams.xml:
5942         * docs/manual/appendix-checklist.xml:
5943         * docs/manual/basics-elements.xml:
5944         * docs/pwg/other-source.xml:
5945         * docs/random/moving-plugins:
5946         * gst/gstpad.c:
5947         * tools/gst-launch.1.in:
5948           remove mentions of sinesrc
5949
5950 2005-11-23  Michael Smith <msmith@fluendo.com>
5951
5952         * docs/gst/gstreamer-sections.txt:
5953           Update for new API and API changes.
5954         * gst/gstobject.h:
5955           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5956         * gst/gstvalue.c:
5957           Documentation typo fix.
5958         * gst/net/gstnettimepacket.c:
5959           Documentation fixes for arguments.
5960
5961 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
5962
5963         * gst/gststructure.c: (gst_structure_get_fraction),
5964         (gst_structure_parse_value),
5965         (gst_structure_fixate_field_nearest_fraction):
5966         * gst/gststructure.h:
5967         * gst/gstutils.c: (gst_util_uint64_scale_int):
5968         * gst/gstutils.h:
5969         * scripts/update-funcnames:
5970         API Changes. 
5971         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
5972         Make gst_structure_fixate_field_nearest_fraction take a numerator
5973         and denominator argument instead of a GValue
5974         add gst_structure_get_fraction helper function.
5975
5976 2005-11-23  Wim Taymans  <wim@fluendo.com>
5977
5978         * docs/design/part-TODO.txt:
5979         Update TODO.
5980
5981         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5982         * gst/net/gstnetclientclock.h:
5983         Use parent fields for timeout and window_size.
5984
5985 2005-11-23  Andy Wingo  <wingo@pobox.com>
5986
5987         * check/net/gstnetclientclock.c (test_functioning): Adjust to
5988         rate_num/rate_denom change.
5989
5990         * gst/net/gstnetclientclock.c
5991         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
5992         OBJECT_LOCK. Don't call add_observation with the lock.
5993
5994         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
5995         fraction.
5996         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
5997         rate fraction.
5998         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
5999         deal with rate as a fraction whose numerator and denominator are
6000         GstClockTime values.
6001         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
6002         master; the other fields are protected by the SLAVE_LOCK.
6003         (do_linear_regression): Note that this must be called with the
6004         SLAVE_LOCK.
6005         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
6006         OBJECT_LOCK. Call set_calibration instead of touching the
6007         variables directly.
6008         (gst_clock_set_property, gst_clock_get_property): Protect
6009         master/slave parameters with the SLAVE_LOCK.
6010
6011         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6012         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6013         note that all of the instance variables that add_observation and
6014         the set_master functions use are protected by that lock and not
6015         the OBJECT_LOCK.
6016         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6017
6018         * gst/gstclock.c (gst_clock_add_observation): No longer requires
6019         the caller to take the object lock.
6020
6021 2005-11-23  Wim Taymans  <wim@fluendo.com>
6022
6023         * gst/gsterror.c: (_gst_core_errors_init):
6024         * gst/gsterror.h:
6025         Add error for clock stuff.
6026
6027         * gst/gstpipeline.c: (gst_pipeline_change_state),
6028         (gst_pipeline_set_clock):
6029         Post clock error when clock cannot be used in a pipeline.
6030
6031 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
6032
6033         * docs/gst/gstreamer-sections.txt:
6034           make two symbols from gstinfo private for the docs
6035         * gst/base/gstcollectpads.h:
6036         * gst/gstutils.c:
6037           fix doc typos, update docs
6038
6039 2005-11-22  Wim Taymans  <wim@fluendo.com>
6040
6041         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6042         (gst_base_sink_wait), (gst_base_sink_do_sync),
6043         (gst_base_sink_handle_event):
6044         * gst/base/gstbasesink.h:
6045         No need to store the clock, the parent element class already
6046         has it.
6047
6048         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6049         Updates for clock_set returning a gboolean
6050
6051         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6052         (gst_clock_id_wait_async), (gst_clock_class_init),
6053         (gst_clock_init), (gst_clock_finalize),
6054         (gst_clock_get_internal_time), (gst_clock_get_time),
6055         (gst_clock_slave_callback), (gst_clock_set_master),
6056         (gst_clock_get_master), (do_linear_regression),
6057         (gst_clock_add_observation), (gst_clock_set_property),
6058         (gst_clock_get_property):
6059         * gst/gstclock.h:
6060         Implement master/slave. When setting a clock as a slave, a
6061         periodic timeout is scheduled to sample master and slave times.
6062         Then the slave clock is recalibrated to match offset and rate
6063         of the master clock.
6064         Update logging a bit.
6065         Add flag so that a clock can state that is cannot be slaved to
6066         another clock.
6067
6068         * gst/gstelement.c: (gst_element_set_clock):
6069         * gst/gstelement.h:
6070         The set clock returns a gboolean for when an element cannot
6071         deal with the selected clock in the pipeline. 
6072
6073         * gst/gstpipeline.c: (gst_pipeline_change_state),
6074         (gst_pipeline_set_clock):
6075         * gst/gstpipeline.h:
6076         Handle the case where the selected clock cannot be set on
6077         the pipeline.
6078
6079         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6080         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6081         (gst_net_client_clock_set_property),
6082         (gst_net_client_clock_get_property),
6083         (gst_net_client_clock_observe_times):
6084         * gst/net/gstnetclientclock.h:
6085         Use regression code in GstClock parent, remove duplicated
6086         functionality.
6087
6088 2005-11-22  Michael Smith <msmith@fluendo.com>
6089
6090         * gst/gstutils.c: (gst_util_clock_time_scale):
6091         * gst/gstutils.h:
6092         * docs/gst/gstreamer-sections.txt:
6093           Rename method to have extra underscore.
6094
6095 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6096
6097         * gst/elements/Makefile.am:
6098         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6099         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6100         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6101         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6102         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6103         * gst/elements/gstfakesrc.h:
6104         * gst/gstqueue.c: (queue_leaky_get_type):
6105           correctly fix GEnumValues so that nick is the short lowercase
6106           dashed tag
6107         * tools/gst-inspect.c: (print_element_properties_info):
6108           also show the nick, since it's useful to use from parse_launch
6109           syntax
6110           Fixes #322139
6111
6112 2005-11-22  Michael Smith <msmith@fluendo.com>
6113
6114         * gst/gstutils.c: (gst_util_clocktime_scale):
6115         * gst/gstutils.h:
6116         * docs/gst/gstreamer-sections.txt:
6117           Add util method for scaling a clocktime by a fraction. Useful 
6118           implementation is left as an exercise for the reader.
6119
6120 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6121
6122         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6123         If needed, allocate storage in the destination value during
6124         collection.
6125
6126 2005-11-22  Edward Hervey  <edward@fluendo.com>
6127
6128         * docs/gst/gstreamer-sections.txt:
6129         * gst/Makefile.am:
6130         * gst/gst.h:
6131         * gst/gsturitype.c:
6132         * gst/gsturitype.h:
6133         * gst/gstutils.c: (gst_util_set_object_arg):
6134         * tools/gst-compprep.c: (main):
6135         * tools/gst-inspect.c: (print_element_properties_info):
6136         Removed GstURI, closes bug #321061
6137
6138 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6139
6140         * check/gst/gststructure.c: (GST_START_TEST):
6141         * gst/gststructure.c: (gst_structure_parse_value):
6142           Oops, broke automatic string type parsing.
6143           Add a test to catch it in future.
6144
6145 2005-11-22  Andy Wingo  <wingo@pobox.com>
6146
6147         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6148         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6149         Actually rename the function implementations. Grr.
6150
6151 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6152
6153         * check/gst/capslist.h:
6154           Comment test cases
6155         * check/gst/gststructure.c: (GST_START_TEST),
6156         (gst_structure_suite):
6157           Test automatic value type detection in gst_structure_from_string.
6158         * gst/gststructure.c: (gst_structure_parse_value):
6159           Add fraction as a type we try and guess automatically in
6160           caps/structure strings.
6161
6162 2005-11-22  Andy Wingo  <wingo@pobox.com>
6163
6164         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6165
6166         * gst/gsttagsetter.h:
6167         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6168         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6169         (gst_tag_setter_add_tag_valist)
6170         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6171         _add_values, _add_valist, and _add_valist_values. Since this is an
6172         interface the function suffixes should be more explicit so
6173         language binding don't end up with element.add_valist ->
6174         gst_tag_setter_add_valist, for example. Fixes #322069.
6175
6176 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6177
6178         * check/gst/gstcaps.c: (GST_START_TEST):
6179           Extend caps string tests to check that a caps to string
6180           conversion is reversible and produces the same caps.
6181
6182         * gst/gststructure.c: (gst_structure_value_get_generic_type):
6183           Output "fraction" as the generic type fraction range, so caps
6184           serialisation and deserialisation works.
6185         * check/gst/capslist.h:
6186         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6187           Support 'MIN' and 'MAX' for deserialising fractions.
6188
6189 2005-11-22  Andy Wingo  <wingo@pobox.com>
6190
6191         * gst/gstevent.h (gst_event_new_new_segment)
6192         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6193         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6194         Renamed from *_newsegment, *_buffersize, *_notarget.
6195
6196         * scripts/update-funcnames: New script, performs the changes
6197         listed above.
6198
6199 2005-11-22  Wim Taymans  <wim@fluendo.com>
6200
6201         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6202         Make sure the GstFlowReturn is returned.
6203
6204         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6205         (gst_bus_add_signal_watch):
6206         * gst/gstbus.h:
6207         add gst_bus_add_signal_watch_full.
6208
6209         * gst/gstplugin.c: (gst_plugin_load_file):
6210         Small style cleanup.
6211
6212 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6213
6214         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6215           Block the fakesrc srcpad when we send an event, to avoid
6216           contention on the stream_lock causing random test failures.
6217
6218 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6219
6220         * check/gst/gstvalue.c: (GST_START_TEST):
6221         * gst/gstvalue.c: (gst_value_fraction_subtract):
6222           Fix subtraction.
6223
6224 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
6225
6226         * gst/gst.h:
6227           include "gstchildproxy.h"
6228         * gst/gstchildproxy.h:
6229         * libs/gst/controller/gstcontroller.h:
6230           use G_GNUC_NULL_TERMINATED
6231
6232 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6233
6234         * check/gst/capslist.h:
6235         * check/gst/gstcaps.c: (GST_START_TEST):
6236         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6237         * gst/gststructure.c: (gst_structure_parse_range),
6238         (gst_structure_fixate_field_nearest_fraction):
6239         * gst/gststructure.h:
6240         * gst/gstvalue.c: (gst_value_init_fraction_range),
6241         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6242         (gst_value_collect_fraction_range),
6243         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6244         (gst_value_set_fraction_range_full),
6245         (gst_value_get_fraction_range_min),
6246         (gst_value_get_fraction_range_max),
6247         (gst_value_serialize_fraction_range),
6248         (gst_value_transform_fraction_range_string),
6249         (gst_value_compare_fraction_range),
6250         (gst_value_deserialize_fraction_range),
6251         (gst_value_intersect_fraction_fraction_range),
6252         (gst_value_intersect_fraction_range_fraction_range),
6253         (gst_value_subtract_fraction_fraction_range),
6254         (gst_value_subtract_fraction_range_fraction),
6255         (gst_value_subtract_fraction_range_fraction_range),
6256         (gst_value_collect_fraction), (gst_value_fraction_multiply),
6257         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6258         (gst_value_transform_string_fraction), (_gst_value_initialize):
6259         * gst/gstvalue.h:
6260           Implement fraction ranges and extend GstFraction to support
6261           arithmetic subtraction, as well as deserialization from integer
6262           strings such as "100"
6263           Add a testsuite as for int and double range set operations
6264
6265 2005-11-21  Andy Wingo  <wingo@pobox.com>
6266
6267         * gst/gsttaglist.h: 
6268         * gst/gstcaps.h: 
6269         * gst/gststructure.h: Add glib-compat.h.
6270
6271 2005-11-21  Wim Taymans  <wim@fluendo.com>
6272
6273         * gst/gstbin.c: (gst_bin_change_state_func):
6274         Fix for #321595
6275
6276 2005-11-21  Wim Taymans  <wim@fluendo.com>
6277
6278         * gst/gstsegment.h:
6279         And add a nice define too.
6280
6281 2005-11-21  Wim Taymans  <wim@fluendo.com>
6282
6283         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6284         (gst_segment_new), (gst_segment_free), (gst_segment_init),
6285         (gst_segment_set_duration), (gst_segment_set_last_stop),
6286         (gst_segment_set_seek), (gst_segment_set_newsegment),
6287         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6288         (gst_segment_clip):
6289         * gst/gstsegment.h:
6290         Make binding friendly.
6291
6292 2005-11-21  Andy Wingo  <wingo@pobox.com>
6293
6294         * gst/gsttagsetter.h: 
6295         * gst/gsttaglist.h: 
6296         * gst/gststructure.h: 
6297         * gst/gstcaps.h: 
6298         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6299         #319940.
6300
6301         * gst/gsterror.c (_gst_core_errors_init):
6302         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6303         category.
6304
6305         * gst/Makefile.am (gst_headers): Add glib-compat.h.
6306         (noinst_HEADERS): noinst the -private.
6307
6308 2005-11-21  Michael Smith <msmith@fluendo.com>
6309
6310         * gst/gstplugin.h:
6311         * gst/gstregistry.h:
6312           Remove unimplemented declarations for which we can see no sensible
6313           use.
6314
6315 2005-11-21  Andy Wingo  <wingo@pobox.com>
6316
6317         * gst/gst.h: Include glib-compat.h.
6318
6319         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6320
6321         * gst/glib-compat.c: Include the public and the private header.
6322
6323         * gst/glib-compat-private.h: Copied here from glib-compat.h.
6324
6325         * gst/gstvalue.c: 
6326         * gst/gstpad.c: 
6327         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6328
6329         * check/gst/gstevent.c (create_custom_events): Check that
6330         FLUSH_STOP is serialized.
6331
6332         * check/elements/identity.c (event_func): 
6333         * check/elements/fakesrc.c (event_func): No stream lock, the core
6334         takes it.
6335
6336         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6337         stream lock taking, yay.
6338
6339         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6340         ensure that core takes the stream lock.
6341
6342         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6343         lock name change.
6344
6345         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6346         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6347         it already. For the flush start we do take it though so we get the
6348         right preroll state change messages.
6349
6350         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6351         the stream lock here, the core does it for us.
6352
6353         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6354         GST_STREAM_GET_LOCK.
6355         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6356         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6357         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6358         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6359         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6360         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6361
6362         * gst/gstpad.c: Update for stream lock name change.
6363
6364         * gst/base/gstbasesink.c: Update for preroll lock name change.
6365
6366 2005-11-21  Wim Taymans  <wim@fluendo.com>
6367
6368         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6369         (gst_clock_get_master):
6370         * gst/gstclock.h:
6371         * gst/gstsystemclock.c: (gst_system_clock_init):
6372         Convert Clock flags to object flags.
6373         Added methods to manage master/slave clocks.
6374
6375 2005-11-21  Wim Taymans  <wim@fluendo.com>
6376
6377         * check/gst/gstsegment.c: (GST_START_TEST):
6378         * docs/design/part-TODO.txt:
6379         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6380         (gst_base_sink_event), (gst_base_sink_do_sync),
6381         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6382         (gst_base_sink_query), (gst_base_sink_change_state):
6383         * gst/base/gstbasesink.h:
6384         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6385         (gst_base_src_default_newsegment),
6386         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6387         (gst_base_src_get_range), (gst_base_src_loop),
6388         (gst_base_src_change_state):
6389         * gst/base/gstbasesrc.h:
6390         * gst/base/gstbasetransform.c:
6391         (gst_base_transform_prepare_output_buf),
6392         (gst_base_transform_event), (gst_base_transform_change_state):
6393         * gst/base/gstbasetransform.h:
6394         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6395         (gst_collect_pads_event):
6396         * gst/base/gstcollectpads.h:
6397         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6398         (gst_fake_src_create):
6399         * gst/elements/gstfakesrc.h:
6400         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6401         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6402         (gst_segment_set_last_stop), (gst_segment_set_seek),
6403         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6404         (gst_segment_to_running_time), (gst_segment_clip):
6405         * gst/gstsegment.h:
6406         More segment updates, replace code in plugins with segment
6407         helper functions.
6408
6409 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6410
6411         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6412         Don't ignore sscanf results
6413
6414 2005-11-21  Andy Wingo  <wingo@pobox.com>
6415
6416         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6417
6418         * *.h:
6419         * *.c: Ran scripts/update-macros. Oh yes.
6420
6421         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6422         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6423         GST_GET_LOCK, etc.
6424
6425         * scripts/update-macros: New script. Run it on your files to
6426         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6427         well.
6428
6429 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6430
6431         * docs/gst/Makefile.am:
6432         * docs/gst/gstreamer-docs.sgml:
6433         * docs/gst/gstreamer-sections.txt:
6434         * docs/gst/gstreamer.types:
6435         * gst/gstinfo.h:
6436           more docs fixes, add new api to the docs
6437
6438 2005-11-21  Andy Wingo  <wingo@pobox.com>
6439
6440         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6441         state_broadcast call.
6442
6443         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6444
6445 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6446
6447         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6448         function calls for arrays.
6449
6450 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6451
6452         * docs/random/ensonic/media-device-daemon.txt:
6453           wild idea, can this be done?
6454         * docs/gst/gstreamer-sections.txt:
6455         * gst/gsterror.h:
6456         * gst/gstfilter.c:
6457         * gst/gstfilter.h:
6458         * gst/gstplugin.h:
6459         * gst/gstpluginfeature.c:
6460         * gst/gsttrace.c:
6461         * gst/gstvalue.c:
6462         * gst/gstvalue.h:
6463           doc fixes and additions
6464
6465 2005-11-21  Andy Wingo  <wingo@pobox.com>
6466
6467         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6468         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6469         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6470         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6471         private to the basesrc implementation.
6472
6473         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6474         behalf of event function if necessary. It should no longer be
6475         necessary to take the stream lock in pad's event functions. Fixes
6476         #320299.
6477
6478 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6479         * docs/gst/gstreamer-sections.txt:
6480         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6481         (gst_structure_fixate_field_nearest_double),
6482         (gst_structure_fixate_field_boolean):
6483         * gst/gststructure.h:
6484         * win32/common/libgstreamer.def:
6485         * win32/gstreamer.def:
6486
6487         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6488         (#322027)
6489
6490 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6491
6492         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6493         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6494         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6495         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6496         (gst_fdsrc_uri_handler_init):
6497         * gst/elements/gstfdsrc.h:
6498           Port fd:// URI handler from 0.8 to fdsrc
6499
6500 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6501
6502         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6503         (gst_value_serialize_fourcc):
6504         * gst/gstvalue.h:
6505           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6506           consistent with our other format defines (#320324).
6507
6508 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6509
6510         * gst/gstvalue.c: (gst_value_is_fixed):
6511           Revert previous commit. Value lists are by definition
6512           not fixed, as they are a list of possible values.
6513
6514 2005-11-21  Andy Wingo  <wingo@pobox.com>
6515
6516         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6517         during the stable series if we need it. Fixes #319178.
6518
6519         * gst/gstevent.c (gst_event_new_filler): Removed.
6520
6521         * check/gst/gstevent.c: Update comment about filler events.
6522
6523 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6524
6525         * gst/gstvalue.c: (gst_value_is_fixed):
6526           Should handle both value arrays and value lists.
6527
6528 2005-11-21  Andy Wingo  <wingo@pobox.com>
6529
6530         patch by: Alessandro Dessina <alessandro nnva org>
6531
6532         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6533         functions to access arrays. Fixes #321962.
6534
6535 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6536
6537         * docs/gst/gstreamer.types:
6538           gst_collectpads_get_type => gst_collect_pads_get_type.
6539           
6540         * gst/base/gstbasetransform.c:
6541           Remove unused SIGNAL_HANDOFF enum.
6542
6543 2005-11-21  Andy Wingo  <wingo@pobox.com>
6544
6545         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6546         the event type (upstream, downstream, serialized). Renamed
6547         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6548         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6549         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6550
6551         * gst/gstevent.c: Update for new CUSTOM event names.
6552
6553         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6554
6555         * gst/gstevent.h:
6556         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6557         bug #319392.
6558
6559 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6560
6561         * docs/gst/gstreamer-sections.txt:
6562         * win32/common/libgstbase.def:
6563         * win32/libgstbase.def:
6564         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6565         (gst_collect_pads_class_init), (gst_collect_pads_init),
6566         (gst_collect_pads_finalize), (gst_collect_pads_new),
6567         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6568         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6569         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6570         (gst_collect_pads_start), (gst_collect_pads_stop),
6571         (gst_collect_pads_peek), (gst_collect_pads_pop),
6572         (gst_collect_pads_available), (gst_collect_pads_read),
6573         (gst_collect_pads_flush), (gst_collect_pads_event),
6574         (gst_collect_pads_chain):
6575         * gst/base/gstcollectpads.h:
6576           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6577           unimplemented functions as unimplemented. Add padding to
6578           GstCollectData. (#320766, #320423)
6579
6580 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6581
6582         * gst/gstmessage.c:
6583           Improve docs for DURATION message (usage of duration parameter)
6584           (#320113)
6585
6586 2005-11-20  Wim Taymans  <wim@fluendo.com>
6587
6588         * check/Makefile.am:
6589         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6590         (main):
6591         * gst/Makefile.am:
6592         * gst/gst.h:
6593         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6594         (gst_segment_set_seek), (gst_segment_set_newsegment),
6595         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6596         (gst_segment_clip):
6597         * gst/gstsegment.h:
6598         Added segment helper structure and methods. Not fully implemented
6599         yet.
6600         Added segment check.
6601
6602 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
6603
6604         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6605           Add a deserialisation test for fractions
6606         * examples/metadata/read-metadata.c: (message_loop),
6607         (make_pipeline), (main):
6608           Fix up metadata reading sample.
6609         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6610           Debug format fix
6611         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6612           Don't try and fixate empty caps
6613         * gst/gst_private.h:
6614           Wrap in G_BEGIN_DECLS/G_END_DECLS
6615         * gst/gstvalue.c: (gst_value_collect_fraction),
6616         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6617         (gst_value_transform_string_fraction),
6618         (gst_value_compare_fraction):
6619           Add some extra guards to ensure that we don't end up 
6620           with an invalid denominator of 0 in a gstfraction and
6621           that fractions always get reduced.
6622
6623 2005-11-20  Wim Taymans  <wim@fluendo.com>
6624
6625         * docs/gst/gstreamer-sections.txt:
6626         * gst/gstbuffer.h:
6627         * gst/gstelement.c:
6628         * gst/gstformat.c:
6629         * gst/gstformat.h:
6630         * gst/gstindex.h:
6631         * gst/gstquery.c:
6632         * gst/gstquery.h:
6633         * gst/gstvalue.c:
6634         Doc fixes.
6635
6636 2005-11-20  Wim Taymans  <wim@fluendo.com>
6637
6638         * docs/design/part-TODO.txt:
6639         * gst/gstcaps.h:
6640         Make a proper enum of the flag.
6641
6642 2005-11-19  Wim Taymans  <wim@fluendo.com>
6643
6644         * docs/design/part-TODO.txt:
6645         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6646         (gst_format_to_quark), (gst_format_register):
6647         * gst/gstformat.h:
6648         * gst/gstquery.c: (_gst_query_initialize),
6649         (gst_query_type_get_name), (gst_query_type_to_quark),
6650         (gst_query_type_register):
6651         * gst/gstquery.h:
6652         Add type to quark and type to string conversions.
6653
6654 2005-11-19  Andy Wingo  <wingo@pobox.com>
6655
6656         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6657         #320097.
6658
6659 2005-11-19  Wim Taymans  <wim@fluendo.com>
6660
6661         * docs/design/part-TODO.txt:
6662         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6663         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6664         (gst_bin_handle_message_func):
6665         * gst/gstbin.h:
6666         Make message handling overridable.
6667
6668 2005-11-19  Andy Wingo  <wingo@pobox.com>
6669
6670         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6671
6672         * gst/gstclock.h:
6673         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6674         be a GstClockTime.
6675         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6676         is a GstClockTime. Fixes #321710.
6677
6678         * gst/gstclock.h (GstClock): Remove offset property. Add
6679         internal_calibration and external_calibration. Fix padding. Pad
6680         also by GstClockTime so we don't run into problems.
6681
6682         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6683         (gst_clock_get_rate_offset): Remove.
6684         (gst_clock_set_time_adjust): Remove. Fixes #321712.
6685
6686         * gst/gstutils.h:
6687         * gst/gstutils.c (g_static_rec_cond_wait)
6688         (g_static_rec_cond_timed_wait): Removed, no longer needed.
6689
6690         * gst/gstbin.c: Remove terrible continue_state prototype.
6691
6692         * gst/gstelement.h (gst_element_continue_state): Make public.
6693
6694         * gst/gstelement.h:
6695         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6696         by continue_state. Fixes #319389.
6697
6698         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6699         Really fixes #168438. However I don't see anywhere where the
6700         filter function is called... stupid GStreamer...
6701         
6702         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6703         don't have a dispose function, so it won't get called when the
6704         object is unreffed, but oh well!
6705
6706         * gst/gstindex.c (gst_index_set_filter_full): New API function,
6707         allows a destroy function to be set so user_data can be freed.
6708         Fixes #168438.
6709         (gst_index_set_filter): Call gst_index_set_filter_full.
6710
6711         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6712
6713         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6714         string should produce an error, given the lack of a way to
6715         represent NULL strings. Fixes #165650.
6716         
6717         * gst/gstvalue.h: 
6718         * gst/gstvalue.c (gst_value_array_append_value) 
6719         (gst_value_array_prepend_value, gst_value_array_get_size) 
6720         (gst_value_array_get_value): New API, copied from
6721         gst_value_list_*, only operates on arrays.
6722         (gst_value_list_append_value, gst_value_list_prepend_value) 
6723         (gst_value_list_concat, gst_value_list_get_size) 
6724         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6725
6726         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6727         init_list, because it works on both.
6728         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6729         (gst_value_copy_list_or_array): Renamed from copy_list.
6730         (gst_value_free_list_or_array): Renamed from free_list.
6731         (gst_value_collect_list_or_array): Renamed from collect_list.
6732         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6733         (gst_value_list_or_array_peek_pointer): Renamed from
6734         list_peek_pointer.
6735         (_gst_value_array_value_table, _gst_value_list_value_table):
6736         Update value table functions.
6737         (gst_value_compare_list_or_array): Renamed from compare_list.
6738
6739         * gsttaglist.h: Whoops, foreach function returns void. Also fix
6740         some constness.
6741
6742         * gst/gsttaglist.c:
6743         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6744         GstTagList*. Fixes #143472.
6745
6746         * gst/gststructure.h: Clarify what the foreach/map functions can
6747         or can't do to their arguments.
6748
6749 2005-11-18  Wim Taymans  <wim@fluendo.com>
6750
6751         * gst/gstclock.c: (gst_clock_set_calibration),
6752         (gst_clock_get_calibration):
6753         Doc and API fixes.
6754         Calibration can be set with internal time equal to current
6755         internal time too.
6756
6757 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6758
6759         * gst/gsterror.c:
6760         * gst/gsterror.h:
6761           document
6762
6763 2005-11-18  Andy Wingo  <wingo@pobox.com>
6764
6765         * configure.ac: 
6766         * pkgconfig/gstreamer-net.pc.in:
6767         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6768         * pkgconfig/Makefile.am: Add net pkgconfig files.
6769
6770 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
6771
6772         * gst/gstcaps.c:
6773         * gst/gstghostpad.c:
6774         * gst/gsttrace.c:
6775         * gst/gstvalue.c:
6776         * gst/gstvalue.h:
6777           docs fixes
6778
6779 2005-11-18  Andy Wingo  <wingo@pobox.com>
6780
6781         * gst/net/gstnetclientclock.c: Turn off debugging.
6782
6783         * check/net/gstnetclientclock.c (test_functioning): Assert that the
6784         times connverge somewhat. Can't make a real test.
6785
6786         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6787         integer arithmetic. Return the minimum of the domain, which can be
6788         set as "internal" for gst_clock_set_calibration.
6789         (gst_net_client_clock_observe_times): Call _set_calibration.
6790         (gst_net_client_clock_new): Call _set_calibration instead of
6791         rate_offset.
6792
6793         * check/net/gstnetclientclock.c (test_functioning): Use the right
6794         adjustment api.
6795
6796         * gst/gstclock.h:
6797         * gst/gstclock.c (gst_clock_get_calibration) 
6798         (gst_clock_set_calibration): New functions, obsolete the ones I
6799         added yesterday. Doh. Precision issues mean we have to extrapolate
6800         from a point in the more recent past than 1970.
6801         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
6802         obsolete.
6803         (gst_clock_adjust_unlocked): Use the right calibration data.
6804
6805 2005-11-18  Edward Hervey  <edward@fluendo.com>
6806
6807         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
6808         Also reset the ->current_* values in READY->PAUSED
6809
6810 2005-11-18  Andy Wingo  <wingo@pobox.com>
6811
6812         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
6813         Whoops, check the right fd. Also add some debugging.
6814         (gst_net_client_clock_observe_times): Adjust for int64 offset.
6815         (do_linear_regression): Add a crapload of debugging. Subtract off
6816         the minimum values from the input series to discard unneeded bits.
6817         Use only int arithmetic. There is still double arithmetic when
6818         calculating the intercept that needs fixing. Return boolean to
6819         indicate success; FALSE would mean the domain or range is too
6820         great. Still needs fixes.
6821
6822 2005-11-18  Wim Taymans  <wim@fluendo.com>
6823
6824         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6825         For the current position in stream time, we need to subtract
6826         accumulated time.
6827         
6828         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6829         Release lock before calling the callback function of async
6830         entries.
6831
6832 2005-11-18  Andy Wingo  <wingo@pobox.com>
6833
6834         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
6835         Port goes all the way to MAXUINT16.
6836
6837         * gst/net/gstnettimeprovider.c: Make the port range the same as
6838         for the kernel: 0 assigns, otherwise ports are less than
6839         MAXUINT16.
6840
6841         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6842         port change.
6843
6844         * check/net/gstnetclientclock.c (test_functioning): Add the start
6845         of another test. 
6846
6847 2005-11-18  Wim Taymans  <wim@fluendo.com>
6848
6849         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6850         (gst_bin_remove_func), (bin_bus_handler):
6851         * gst/gstbin.h:
6852         Removing a clock provider from a bin, triggers a clock lost message
6853         so that a new clock will be selected.
6854         Adding a clock to a bin triggers a clock provider message.
6855         Make sure we reselect a clock when we received a clock lost message.
6856         Keep a reference to the element that provided the clock.
6857
6858 2005-11-18  Andy Wingo  <wingo@pobox.com>
6859
6860         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6861         the clock initially so it produces values around the base time.
6862         (gst_net_client_clock_class_init): Typo fix.
6863         (gst_net_client_clock_thread): Add note on when the socket gets
6864         closed.
6865
6866 2005-11-17  Wim Taymans  <wim@fluendo.com>
6867
6868         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6869         Free remote and local time arrays.
6870
6871 2005-11-17  Wim Taymans  <wim@fluendo.com>
6872
6873         * gst/net/gstnetclientclock.c: (do_linear_regression),
6874         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6875         Fix compilation, uninitialized vars and a forgotten continue.
6876
6877 2005-11-17  Andy Wingo  <wingo@pobox.com>
6878
6879         * check/Makefile.am (check_PROGRAMS): 
6880         * check/net/gstnetclientclock.c: Add a most minimal test for the
6881         net client clock. More to come later.
6882
6883         * gst/net/gstnet.h: 
6884         * gst/net/Makefile.am: Add netclientclock.
6885
6886         * gst/net/gstnetclientclock.h:
6887         * gst/net/gstnetclientclock.c: New files, implement an untested
6888         GstClock that takes its time from a network time provider.
6889         Implements the algorithm in network-clock.scm.
6890
6891         * tests/network-clock.scm (*window-size*): Rename from
6892         *queue-length*.
6893         * tests/network-clock.scm (network-time): 
6894         * tests/network-clock-utils.scm (q-push): Update callers.
6895
6896 2005-11-17  Wim Taymans  <wim@fluendo.com>
6897
6898         * gst/gstbin.c: (gst_bin_provide_clock_func),
6899         (gst_bin_sort_iterator_new):
6900         And unref the child too..
6901
6902 2005-11-17  Wim Taymans  <wim@fluendo.com>
6903
6904         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6905         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6906         Refactor the sort iterator so it can be used while holding the
6907         LOCK too.
6908         Make clock selection select a clock closest to the source.
6909
6910 2005-11-17  Michael Smith <msmith@fluendo.com>
6911
6912         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6913         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6914         * gst/gstclock.h:
6915           Anonymous structs are a gcc (and some other compilers) extension, so
6916           don't use them. Since this is only for ABI-compatibility, and our
6917           API/ABI freeze is over in a few days, this whole thing will only
6918           last a few days, so don't bother trying to think up a meaningful
6919           name for the struct.
6920
6921 2005-11-17  Andy Wingo  <wingo@pobox.com>
6922
6923         * gst/gstclock.h (GstClock): Add rate and offset properties,
6924         preserving ABI stability. Add rate/offset accessors. Will file bug
6925         for the freeze break.
6926
6927         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6928         and offset, trying to keep precision and avoiding
6929         underflow/overflow.
6930         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6931         functions. Make gst_clock_set_time_adjust obsolete.
6932         (gst_clock_set_time_adjust): Note that this function is obsolete.
6933         Will file bug soon.
6934
6935         * gst/base/gstbasetransform.h: Make the ABI-stability hack
6936         greppable by using GST_PADDING-1+1.
6937
6938 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
6939
6940         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6941
6942         * gst/gstmessage.c: (gst_message_parse_clock_lost):
6943           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6944
6945         * gst/gstpadtemplate.h:
6946         * gst/gstpluginfeature.h:
6947           Don't use c++ style comments in headers (#321638).
6948
6949 2005-11-16  Andy Wingo  <wingo@pobox.com>
6950
6951         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6952         buffer.
6953
6954         * check/net/gstnettimeprovider.c: Check to see that the time
6955         provider actually provides times. Works, yo!
6956
6957 2005-11-16  Wim Taymans  <wim@fluendo.com>
6958
6959         * check/Makefile.am:
6960         Enable more tests.
6961
6962         * check/elements/fakesrc.c: (GST_START_TEST):
6963         Set element to NULL before disposing it.
6964
6965 2005-11-16  Andy Wingo  <wingo@pobox.com>
6966
6967         * gst/net/Makefile.am:
6968         * gst/net/gstnet.h:
6969         * gst/net/gstnettimeprovider.c: 
6970         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
6971         provider, include it from gstnet.h, and add it to the build.
6972
6973         * gst/net/gstnettimepacket.h: 
6974         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
6975         sending and receiving.
6976
6977 2005-11-16  Wim Taymans  <wim@fluendo.com>
6978
6979         * check/Makefile.am:
6980         Enable valgrind check.
6981
6982         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
6983         (gst_fake_src_alloc_buffer):
6984         Fix memleak.
6985
6986 2005-11-16  Wim Taymans  <wim@fluendo.com>
6987
6988         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
6989         Call parent finalize too.
6990
6991 2005-11-16  Wim Taymans  <wim@fluendo.com>
6992
6993         * check/Makefile.am:
6994         Enable valgrind check that should work fine now.
6995
6996         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6997         * gst/gstqueue.c: (gst_queue_init):
6998         Fix memleaks in pad allocation.
6999
7000 2005-11-16  Andy Wingo  <wingo@pobox.com>
7001
7002         * gst/net/Makefile.am:
7003         * gst/net/gstnet.h: New part of core to hold network elements and
7004         objects. Put in core because it exposes API that applications want
7005         to use. The library is named libgstnet-tempname right now because
7006         of the existing libgstnet in gst-plugins-base. Solution is
7007         probably to rename the one in plugins-base; will file a bug for
7008         the freeze break.
7009
7010         * gst/net/gstnettimeprovider.c: 
7011         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7012         get_time call over the network.
7013
7014         * configure.ac: 
7015         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7016
7017         * check/Makefile.am:
7018         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7019         get additions shortly.
7020
7021 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7022
7023         * gst/gstpad.c: (gst_pad_new_from_static_template):
7024         * gst/gstpad.h:
7025           add gst_pad_new_from_static_template functions
7026         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7027         (gst_check_setup_sink_pad):
7028         * gst/elements/gsttee.c: (gst_tee_init):
7029           and use them
7030
7031 2005-11-16  Wim Taymans  <wim@fluendo.com>
7032
7033         * gst/gstpad.c: (gst_pad_pause_task):
7034         Removed warning, it's not really an error either.
7035
7036 2005-11-16  Wim Taymans  <wim@fluendo.com>
7037
7038         * gst/base/gstbasetransform.c:
7039         (gst_base_transform_prepare_output_buf),
7040         (gst_base_transform_event):
7041         Check if the caps are NULL, this can happen if the element
7042         is shutting down and the pad caps are set to NULL.
7043
7044 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7045
7046         * gst/elements/gsttee.c: (gst_tee_init):
7047           fix pad template leak in tee
7048
7049 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7050
7051         * gst/glib-compat.c: (g_value_dup_gst_object):
7052         * gst/glib-compat.h:
7053         * gst/gstpad.c: (gst_pad_set_property):
7054           use gst_object_ref when setting the pad template; this will
7055           trigger the pad template leaks on GLib 2.6 and the slaves
7056
7057 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7058
7059         * gst/glib-compat.c: (gst_flags_get_first_value):
7060         * gst/glib-compat.h:
7061         * gst/gstregistryxml.c:
7062           remove functions copied from GLib 2.6
7063
7064 2005-11-16  Michael Smith <msmith@fluendo.com>
7065
7066         * gst/Makefile.am:
7067           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7068           do, but only breaks with newer valgrind versions. We're not a
7069           valgrind tool, we have no link-time dependencies on libcoregrind.
7070
7071 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7072
7073         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7074           some debug changes
7075         * gst/gstmessage.h:
7076           typo fixes
7077
7078 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7079
7080         * gst/base/gstbasesrc.c: (gst_base_src_init):
7081         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7082         * gst/gstqueue.c: (gst_queue_init):
7083         * gst/gstregistryxml.c: (load_feature):
7084           Revert all these unrefs, they don't even pass make check !
7085
7086 2005-11-15  Johan Dahlin  <johan@gnome.org>
7087
7088         * gst/base/gstbasesrc.c: (gst_base_src_init):
7089         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7090         * gst/gstqueue.c: (gst_queue_init): 
7091         Free pad templates, fixes a couple of leaks.
7092
7093 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7094
7095         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7096
7097         * gst/gstpad.c: (gst_pad_get_property):
7098           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7099           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7100           (#321452)
7101
7102 2005-11-15  Wim Taymans  <wim@fluendo.com>
7103
7104         * gst/gstevent.c:
7105         Small doc update.
7106
7107 2005-11-15  Andy Wingo  <wingo@pobox.com>
7108
7109         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7110
7111         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7112         using GST_CLOCK_TIME_NONE to disable base time management.
7113         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7114         time if it was NONE before.
7115         (gst_pipeline_change_state): Only munge the base time if
7116         stream_time != GST_CLOCK_TIME_NONE.
7117
7118         * check/gst/gstpipeline.c (test_base_time): Punt around the
7119         problem of the probe not being called, because that's not the
7120         issue I'm looking at. Add a check that setting stream_time to NONE
7121         disables base time management.
7122         
7123 2005-11-15  Wim Taymans  <wim@fluendo.com>
7124
7125         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7126         segment_stop == -1 at startup.
7127
7128         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7129         (gst_base_transform_change_state):
7130         Init segment values at start.
7131
7132 2005-11-15  Wim Taymans  <wim@fluendo.com>
7133
7134         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7135         0 segment values are 0 in any format.
7136
7137         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7138         * gst/base/gstbasetransform.h:
7139         Parse newsegment correctly in basetransform
7140
7141         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7142         Sync to clock using updated segment values.
7143
7144 2005-11-15  Andy Wingo  <wingo@pobox.com>
7145
7146         * check/gst/gstpipeline.c (test_base_time): Add check that the
7147         base time and stream time are reset correctly.
7148
7149 2005-11-15  Wim Taymans  <wim@fluendo.com>
7150
7151         * docs/design/part-TODO.txt:
7152         Some more TODO items.
7153
7154 2005-11-15  Andy Wingo  <wingo@pobox.com>
7155
7156         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7157         error if the user selected "no clock" as the clocking method.
7158
7159         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7160         timestamps with live capture.
7161
7162         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7163         is 0 but we are a live source, timestamp the buffers using the
7164         element's clock.
7165
7166 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7167
7168         * docs/gst/gstreamer-sections.txt:
7169         * gst/gsterror.c:
7170         * gst/gstghostpad.c:
7171         * gst/gstobject.h:
7172         * gst/gstxml.c:
7173           more section docs
7174
7175 2005-11-14  Wim Taymans  <wim@fluendo.com>
7176
7177         * common/gst.supp:
7178           add suppressions from Wim's Debian machine
7179
7180 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7181
7182         * common/gst.supp:
7183           add suppressions from Andy's AMD64 Ubuntu machine
7184
7185 2005-11-14  Andy Wingo  <wingo@pobox.com>
7186
7187         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7188         STATE_LOCK not necessary. Fixes #311489.
7189
7190         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7191         #305291.
7192
7193         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7194         this function is not implemented.
7195
7196 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7197
7198         * gst/base/gstbasetransform.c:
7199         (gst_base_transform_prepare_output_buf):
7200         Ref the source pad caps while we need them.
7201         Fixes (#321386)
7202
7203 2005-11-11  Wim Taymans  <wim@fluendo.com>
7204
7205         * docs/gst/gstreamer-sections.txt:
7206         Added some docs for GstCollectData.
7207
7208         * gst/base/gstadapter.c:
7209         Some small code example fix.
7210
7211         * gst/base/gstcollectpads.c:
7212         * gst/base/gstcollectpads.h:
7213         Document some more.
7214
7215 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7216
7217         * configure.ac: back to HEAD
7218
7219 === release 0.9.5 ===
7220
7221 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
7222
7223         * configure.ac:
7224           releasing 0.9.5, "Bike Lunch Day"
7225
7226 2005-11-11  Wim Taymans  <wim@fluendo.com>
7227
7228         * gst/gstbuffer.c: (_gst_buffer_copy):
7229         Copy more flags.
7230
7231         * gst/gstcaps.c: (gst_caps_is_equal):
7232         Fix some docs.
7233         Make _is_equal fast in the trivial cases.
7234
7235         * gst/gstminiobject.c:
7236         * gst/gstminiobject.h:
7237         More docs. Spifify .h file.
7238
7239         * gst/gstutils.c:
7240         Small doc update.
7241
7242 2005-11-11  Wim Taymans  <wim@fluendo.com>
7243
7244         * gst/base/gstbasetransform.c:
7245         (gst_base_transform_prepare_output_buf),
7246         (gst_base_transform_handle_buffer):
7247         Small cleanups.
7248         If we're processing a buffer and need to allocate an output
7249         buffer, we cannot accept a format change. If we did get a 
7250         format change, we have to alloc a buffer ourselves of the 
7251         right size.
7252
7253 2005-11-11  Wim Taymans  <wim@fluendo.com>
7254
7255         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7256         While checking the flag for reentrancy in the gstcaps function
7257         is nice to detect recursive invocations, it also makes it 
7258         impossible to call getcaps from multiple threads, which must be
7259         possible. So, checking for recursive calls has to go.
7260
7261 2005-11-11  Michael Smith <msmith@fluendo.com>
7262
7263         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7264           Don't sync on buffers that fall partially outside our current
7265           segment. Prevents an assertion failure/abort playing some files.
7266
7267 2005-11-10  Andy Wingo  <wingo@pobox.com>
7268
7269         * check/gst/gstbin.c (test_message_state_changed_children): Style
7270         fix..
7271
7272         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7273         gst_bus_poll with the signal watch. Ensures that poll and a signal
7274         watch see the same messages.
7275
7276         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7277         a poll and a watch at the same time get the same messages.
7278
7279 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7280
7281         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7282         * gst/gstcaps.c: (gst_caps_intersect):
7283           Don't call gst_caps_do_simplify - it doesn't respect order of caps
7284           and it's not needed.
7285
7286 2005-11-10  Wim Taymans  <wim@fluendo.com>
7287
7288         * docs/design/part-TODO.txt:
7289         Updated todo.
7290
7291 2005-11-10  Wim Taymans  <wim@fluendo.com>
7292
7293         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7294         * gst/base/gstbasesrc.c: (gst_base_src_wait),
7295         (gst_base_src_do_sync), (gst_base_src_get_range):
7296         Implement clock sync in base class.
7297
7298 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7299
7300         patch by: Tim-Philipp Müller <tim at centricular dot net>
7301
7302         * gst/gststructure.c: (gst_structure_parse_field),
7303         (gst_structure_from_string):
7304           Forward-port a 0.8 patch to handle escaped spaces in structure string,
7305           so that gst_parse_launch() can deal with spaces in filtered link
7306           caps (fixes #164479)
7307         * check/gst/capslist.h:
7308         * check/gst/gststructure.c: (GST_START_TEST):
7309           add unit tests for this change
7310
7311 2005-11-10  Wim Taymans  <wim@fluendo.com>
7312
7313         * docs/gst/gstreamer-sections.txt:
7314         * gst/gstelement.c:
7315         * gst/gstelement.h:
7316         Fix docs, move some STATE macros to private.
7317
7318 2005-11-10  Wim Taymans  <wim@fluendo.com>
7319
7320         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7321         Added check for bug #317341
7322
7323         * gst/gstbuffer.c:
7324         * gst/gstbuffer.h:
7325         Some more spiffifying.
7326
7327         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7328         Call peer linkfunction if we are a source pad. Totally fixes
7329         #317341
7330
7331         * gst/gstpad.c:
7332         Update docs, source pads should call the peer linkfunction
7333         so they can atomically perform the pad link.
7334
7335 2005-11-09  Wim Taymans  <wim@fluendo.com>
7336
7337         * gst/gstbuffer.c:
7338         * gst/gstbuffer.h:
7339         Uber-spiffy-spiffify some more.
7340
7341 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
7342
7343         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7344         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7345         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7346         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7347         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7348         * gst/gstpad.c: (gst_pad_init):
7349           Use GST_DEBUG_FUNCPTR() more extensively.
7350
7351 2005-11-09  Wim Taymans  <wim@fluendo.com>
7352
7353         * gst/gstobject.c: (gst_object_class_init):
7354         * gst/gstobject.h:
7355         Documentation fixes.
7356
7357 2005-11-09  Edward Hervey  <edward@fluendo.com>
7358
7359         * gst/gsttypefindfactory.c:
7360         Fix docs.
7361         
7362 2005-11-09  Edward Hervey  <edward@fluendo.com>
7363
7364         * gst/base/gsttypefindhelper.c:
7365         * gst/gsttypefind.c:
7366         * gst/gsttypefind.h:
7367         Fix docs.
7368
7369 2005-11-09  Wim Taymans  <wim@fluendo.com>
7370
7371         * gst/gstiterator.c:
7372         Fix revision data.
7373
7374         * gst/gsttask.c:
7375         * gst/gsttask.h:
7376         Fix docs.
7377
7378 2005-11-09  Wim Taymans  <wim@fluendo.com>
7379
7380         * gst/gstevent.h:
7381         * gst/gsturi.h:
7382         Fix docs.
7383
7384 2005-11-09  Wim Taymans  <wim@fluendo.com>
7385
7386         * docs/gst/gstreamer-sections.txt:
7387         Moved the message async delivery private lock and cond
7388         to the private section.
7389
7390         * gst/gstmessage.c:
7391         * gst/gstmessage.h:
7392         Fixed docs.
7393
7394 2005-11-09  Edward Hervey  <edward@fluendo.com>
7395
7396         * docs/gst/gstreamer-sections.txt:
7397         * gst/gsturi.c:
7398         * gst/gsturi.h:
7399         Document GstURIHandler
7400
7401 2005-11-09  Wim Taymans  <wim@fluendo.com>
7402
7403         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7404         (gst_iterator_find_custom):
7405         * gst/gstiterator.h:
7406         Fix iterator docs.
7407
7408 2005-11-09  Wim Taymans  <wim@fluendo.com>
7409
7410         * gst/gstbin.h:
7411         Document another field.
7412
7413         * gst/gststructure.c:
7414         * gst/gststructure.h:
7415         Document.
7416
7417 2005-11-09  Wim Taymans  <wim@fluendo.com>
7418
7419         * gst/gstbin.h:
7420         Documented structs.
7421
7422 2005-11-09  Wim Taymans  <wim@fluendo.com>
7423
7424         * docs/gst/gstreamer-sections.txt:
7425         Added some new macros.
7426
7427         * gst/gstclock.c:
7428         * gst/gstclock.h:
7429         * gst/gstobject.h:
7430         Docs updates.
7431
7432 2005-11-09  Wim Taymans  <wim@fluendo.com>
7433
7434         * docs/design/part-TODO.txt:
7435         Some more items for the TODO
7436
7437         * gst/gstcaps.c:
7438         * gst/gstcaps.h:
7439         Document GstCaps.
7440
7441 2005-11-09  Andy Wingo  <wingo@pobox.com>
7442
7443         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7444         to work on something else now tho...
7445
7446         * gst/base/gstadapter.c: More adapter docs.
7447
7448         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7449         (gst_file_sink_stop): New functions, replace the state change
7450         handler.
7451         (gst_file_sink_class_init): Hook up the start and stop functions.
7452         (gst_file_sink_base_init): Don't set the state change handler any
7453         more. It was a bit ugly too, being set from here...
7454         (gst_file_sink_get_property, gst_file_sink_set_property):
7455         Cleanups...
7456         (gst_file_sink_set_location): More robust check that doesn't call
7457         GST_STATE. Ugggggg.
7458
7459 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7460
7461         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7462           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7463
7464 2005-11-08  Wim Taymans  <wim@fluendo.com>
7465
7466         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7467         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7468         (gst_base_sink_chain), (gst_base_sink_change_state):
7469         * gst/base/gstbasesink.h:
7470         * gst/base/gstbasesrc.h:
7471         * gst/gstelement.h:
7472         * gst/gstevent.h:
7473         Avoid excessive typechecking in macros.
7474
7475         * gst/gstminiobject.c: (gst_mini_object_get_type),
7476         (gst_mini_object_init), (gst_mini_object_new),
7477         (gst_mini_object_free):
7478         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7479         (gst_object_finalize):
7480         Remove cruft code, optimize alloc_trace.
7481
7482 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7483
7484         * docs/faq/gst-uninstalled:
7485           fix up PS1 for systems that try to reset it
7486
7487 2005-11-07  Wim Taymans  <wim@fluendo.com>
7488
7489         * gst/base/gstbasesrc.c: (gst_base_src_init),
7490         (gst_base_src_get_range):
7491         Set the segment_end to -1 initially. Fixed typefind.
7492
7493 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7494
7495         * gst/base/gstadapter.c:
7496           Debug category should be 'adapter', not 'GstAdapter'.
7497           
7498         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7499         (gst_collectpads_class_init), (gst_collectpads_init),
7500         (gst_collectpads_peek), (gst_collectpads_pop),
7501         (gst_collectpads_event), (gst_collectpads_chain):
7502           Add debug category and some debugging output. Use boilerplate
7503           macros. Remove some extraneous words from docs.
7504
7505 2005-11-05  Andy Wingo  <wingo@pobox.com>
7506
7507         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7508         macro.
7509
7510 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7511
7512         * docs/gst/gstreamer-sections.txt:
7513         * gst/gstcaps.h:
7514         * gst/gstinfo.c:
7515         * gst/gstminiobject.h:
7516         * gst/gstobject.h:
7517         * gst/gstutils.h:
7518           more docs added
7519
7520 2005-11-04  Wim Taymans  <wim@fluendo.com>
7521
7522         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7523         Small update to stop at the configured segment_end
7524         position.
7525
7526 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7527
7528         * gst/gstregistry.c:
7529         * gst/gstregistry.h:
7530           added missing docs
7531
7532 2005-11-04  Edward Hervey  <edward@fluendo.com>
7533
7534         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7535         Check if we are doing a segment seek and have arrived at the
7536         end of that segment.
7537
7538 2005-11-04  Wim Taymans  <wim@fluendo.com>
7539
7540         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7541         Don't leak a mutex unlock in case of an error.
7542
7543         * gst/gstbus.h:
7544         Doc fixes.
7545
7546 2005-11-04  Wim Taymans  <wim@fluendo.com>
7547
7548         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7549         (gst_bus_post):
7550         Get the context to wake up only once.
7551
7552 2005-11-03  Wim Taymans  <wim@fluendo.com>
7553
7554         * check/states/sinks.c: (GST_START_TEST):
7555         Uncomment fixed check.
7556
7557         * docs/design/part-TODO.txt:
7558         Updated TODO.
7559
7560         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7561         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7562         (gst_base_sink_get_position):
7563         If we are going to PLAYING, post the right pending state
7564         when we post the intermediate paused message.
7565
7566         * gst/gstelement.c: (gst_element_continue_state),
7567         (gst_element_set_state_func), (gst_element_change_state):
7568         Don't post state changes that were between the same state
7569         and were not ASYNC.
7570
7571 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7572
7573         * docs/gst/gstreamer-sections.txt:
7574         * gst/gstcaps.h:
7575         * gst/gstinfo.c:
7576         * gst/gstminiobject.h:
7577         * gst/gstobject.h:
7578         * gst/gstutils.h:
7579           more docs and doc style fixes
7580
7581 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7582
7583         * docs/gst/gstreamer-sections.txt:
7584         * gst/gstelement.c:
7585         * gst/gstminiobject.c:
7586         doc fixes
7587
7588 2005-11-03  Andy Wingo  <wingo@pobox.com>
7589
7590         * check/states/sinks.c (test_livesrc_sink): Add checks that the
7591         state-changed messages actually have the right order and the right
7592         values.
7593
7594 2005-11-03  Wim Taymans  <wim@fluendo.com>
7595
7596         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7597         Added some more checks. Specifically the case where NO_PREROLL
7598         elements are in the pipeline.
7599
7600         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7601         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7602         (gst_base_sink_get_position):
7603         Post READY->PAUSED state change messages too.
7604         Fix bug where VOID was posted as pending state...
7605
7606         * gst/gstbin.c: (gst_bin_recalc_state):
7607         use _element_continue_state() to continue the state change.
7608
7609         * gst/gstelement.c: (gst_element_continue_state),
7610         (gst_element_commit_state), (gst_element_set_state_func),
7611         (gst_element_change_state), (gst_element_change_state_func):
7612         Lots of state change cleanups, assign the STATE_RETURN in
7613         a new continue_state() function that also propagates the
7614         last return value from a state change to the app.
7615         Update some debug statements with proper category.
7616
7617 2005-11-03  Wim Taymans  <wim@fluendo.com>
7618
7619         * docs/design/part-events.txt:
7620         * docs/design/part-gstpipeline.txt:
7621         * docs/design/part-messages.txt:
7622         * docs/design/part-overview.txt:
7623         * docs/design/part-seeking.txt:
7624         * docs/design/part-states.txt:
7625         * docs/design/part-trickmodes.txt:
7626         * docs/manual/advanced-position.xml:
7627         Small docs updates.
7628
7629         * gst/gstobject.h:
7630         People think !! is ugly, this looks better.
7631
7632         * gst/gstpad.c: (gst_pad_set_blocked_async):
7633         Remove !! since it's fixed elsewhere now.
7634
7635 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7636
7637         * gst/gstminiobject.h:
7638         * gst/gstobject.h:
7639           Add !! to _FLAG_IS_SET macros to make the result boolean.
7640
7641 2005-11-03  Edward Hervey  <edward@fluendo.com>
7642
7643         * gst/gstpad.c: (gst_pad_set_blocked_async):
7644         comparing a flag and a gboolean rarely returns coherent results...
7645         Added two characters (!!) to make that work correctly.
7646         
7647 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7648
7649         * gst/gstbus.c: (gst_bus_class_init):
7650           Fix some typos.
7651           
7652         * gst/gstqueue.c: (gst_queue_loop):
7653           Don't assume a miniobject that isn't a buffer is an
7654           event (it could be that there is a refcounting
7655           problem somewhere and the pointer is stale and
7656           refers to an already destroyed miniobject).
7657
7658 2005-11-03  Julien MOUTTE  <julien@moutte.net>
7659
7660         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7661
7662 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7663
7664         * docs/manual/advanced-position.xml:
7665           Update seek example and explanations to current 0.9 API.
7666
7667         * gst/elements/gsttypefindelement.c:
7668         (gst_type_find_element_activate):
7669           Remove FIXME comment now that the found caps
7670           are unreffed.
7671
7672 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7673
7674         * gst/gstregistryxml.c: (load_feature):
7675           Add another GST_STR_NULL instance
7676
7677 2005-11-02  Edward Hervey  <edward@fluendo.com>
7678
7679         * gst/gstpad.c: (handle_pad_block):
7680         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7681         
7682 2005-11-02  Wim Taymans  <wim@fluendo.com>
7683
7684         * gst/gstbin.c:
7685         Fix typo in docs.
7686
7687         * gst/gstelement.c: (gst_element_commit_state):
7688         Remove unused value.
7689
7690         * gst/gstiterator.c:
7691         Mention that the returned element is reffed in the docs.
7692
7693 2005-11-02  Wim Taymans  <wim@fluendo.com>
7694
7695         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7696         (gst_pad_push), (gst_pad_push_event):
7697         Unlock blocked pads when they are flushed.
7698
7699 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7700
7701         * docs/README:
7702         * docs/gst/gstreamer-sections.txt:
7703         * gst/gstbin.c:
7704           doc updates
7705         * gst/gstregistry.c: (gst_registry_scan_path_level):
7706           fix for a nasty little missed situation where an installed plug-in
7707           which was in the cache did not get overridden by an uninstalled one
7708           which was earlier in the plugin path because the newly created plugin
7709           for the uninstalled one (not in the registry) didn't get its
7710           ->registered set to TRUE
7711
7712 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7713
7714         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7715         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7716         (gst_collectpads_is_active), (gst_collectpads_collect),
7717         (gst_collectpads_collect_range), (gst_collectpads_start),
7718         (gst_collectpads_stop), (gst_collectpads_peek),
7719         (gst_collectpads_pop), (gst_collectpads_available),
7720         (gst_collectpads_read), (gst_collectpads_flush):
7721           Guard public API with assertions.
7722         
7723         * gst/gstpad.c:
7724           Fix docs for gst_pad_set_link_function().
7725
7726 2005-11-02  Johan Dahlin  <johan@gnome.org>
7727
7728         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
7729         Unref found_caps after we used it.
7730
7731 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7732
7733         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7734           Don't try to ref NULL.
7735
7736 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7737
7738         * win32/common/config.h.in:
7739           provide a GST_FUNCTION that just gives a string for now
7740
7741 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7742
7743         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7744         (gst_object_flags_get_type), (register_gst_bin_flags),
7745         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7746         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7747         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7748         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7749         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7750         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7751         (gst_clock_flags_get_type), (register_gst_state),
7752         (gst_state_get_type), (register_gst_state_change_return),
7753         (gst_state_change_return_get_type), (register_gst_state_change),
7754         (gst_state_change_get_type), (register_gst_element_flags),
7755         (gst_element_flags_get_type), (register_gst_core_error),
7756         (gst_core_error_get_type), (register_gst_library_error),
7757         (gst_library_error_get_type), (register_gst_resource_error),
7758         (gst_resource_error_get_type), (register_gst_stream_error),
7759         (gst_stream_error_get_type), (register_gst_event_type),
7760         (gst_event_type_get_type), (register_gst_seek_type),
7761         (gst_seek_type_get_type), (register_gst_seek_flags),
7762         (gst_seek_flags_get_type), (register_gst_format),
7763         (gst_format_get_type), (register_gst_index_certainty),
7764         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7765         (gst_index_entry_type_get_type),
7766         (register_gst_index_lookup_method),
7767         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7768         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7769         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7770         (gst_index_flags_get_type), (register_gst_debug_level),
7771         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7772         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7773         (gst_iterator_result_get_type), (register_gst_iterator_item),
7774         (gst_iterator_item_get_type), (register_gst_message_type),
7775         (gst_message_type_get_type), (register_gst_mini_object_flags),
7776         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7777         (gst_pad_link_return_get_type), (register_gst_flow_return),
7778         (gst_flow_return_get_type), (register_gst_activate_mode),
7779         (gst_activate_mode_get_type), (register_gst_pad_direction),
7780         (gst_pad_direction_get_type), (register_gst_pad_flags),
7781         (gst_pad_flags_get_type), (register_gst_pad_presence),
7782         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7783         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7784         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7785         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7786         (gst_plugin_flags_get_type), (register_gst_rank),
7787         (gst_rank_get_type), (register_gst_query_type),
7788         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7789         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7790         (gst_tag_flag_get_type), (register_gst_task_state),
7791         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7792         (gst_alloc_trace_flags_get_type),
7793         (register_gst_type_find_probability),
7794         (gst_type_find_probability_get_type), (register_gst_uri_type),
7795         (gst_uri_type_get_type), (register_gst_parse_error),
7796         (gst_parse_error_get_type):
7797         * win32/common/gstversion.h:
7798           update win32 copies
7799
7800 2005-11-01  Luca Ognibene  <luogni@tin.it>
7801
7802         * gst/gst.c:
7803           fix docs. popt is dead, long live GOption.
7804
7805 2005-10-31  Wim Taymans  <wim@fluendo.com>
7806
7807         * gst/gstbuffer.h:
7808         Small doc fix.
7809
7810 2005-10-31  Andy Wingo  <wingo@pobox.com>
7811
7812         * Boo!
7813
7814         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7815
7816         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
7817         need to serialize property notifications on GLib 2.8. GLib 2.6 has
7818         the possibility of deadlocks here if code calling notify() or
7819         set() has a lock that can be taken in another notify handler (ABBA
7820         with class lock and e.g. python GIL state lock).
7821
7822 2005-10-28  Julien MOUTTE  <julien@moutte.net>
7823
7824         * gst/gstbus.c: Doc updates.
7825
7826 2005-10-28  Wim Taymans  <wim@fluendo.com>
7827
7828         * docs/design/part-TODO.txt:
7829         * gst/gstiterator.c:
7830         * gst/gstsystemclock.c:
7831         * gst/gstsystemclock.h:
7832         Doc updates.
7833
7834 2005-10-28  Edward Hervey  <edward@fluendo.com>
7835
7836         * docs/gst/gstreamer-docs.sgml:
7837         * docs/gst/gstreamer-sections.txt:
7838         the GstURIType documentation page is private, it only defines GstURIType
7839         which should be defined in the GstURIHandler page
7840         
7841 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7842
7843         * gst/gstbin.c: (gst_bin_class_init):
7844         * gst/gstbin.h:
7845         * gst/gstutils.c:
7846         Documentation updates.
7847
7848 2005-10-28  Wim Taymans  <wim@fluendo.com>
7849
7850         * docs/gst/gstreamer-sections.txt:
7851         * gst/gstclock.c:
7852         * gst/gstclock.h:
7853         Documented the clocks.
7854
7855 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
7856
7857         * docs/gst/gstreamer-sections.txt:
7858           move some macros to private sections
7859         * gst/gstminiobject.c:
7860         * gst/gstminiobject.h:
7861           add descriptions provided by ds and some more
7862         * gst/gstpad.h:
7863           mark macro as to be removed
7864
7865 2005-10-28  Wim Taymans  <wim@fluendo.com>
7866
7867         * docs/design/part-TODO.txt:
7868         Add an item to TODO.
7869
7870         * gst/gstiterator.c: (gst_iterator_fold),
7871         (gst_iterator_find_custom):
7872         * gst/gstiterator.h:
7873         Add iterator docs.
7874
7875 2005-10-28  Wim Taymans  <wim@fluendo.com>
7876
7877         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7878         (gst_base_transform_init):
7879         Don't leak class.
7880
7881         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7882         An EOS event marks the queue as completely filled.
7883
7884 2005-10-27  Wim Taymans  <wim@fluendo.com>
7885
7886         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7887         (gst_base_sink_do_sync), (gst_base_sink_get_position):
7888         Some more debugging.
7889
7890         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7891         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7892         (gst_base_transform_event), (gst_base_transform_getrange),
7893         (gst_base_transform_chain):
7894         * gst/base/gstbasetransform.h:
7895         Fix debugging,
7896         Protect transform and concurrent buffer alloc with a new lock.
7897         Try not to break ABI/API.
7898
7899 2005-10-27  Wim Taymans  <wim@fluendo.com>
7900
7901         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7902         (gst_base_src_init), (gst_base_src_query),
7903         (gst_base_src_default_newsegment),
7904         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7905         (gst_base_src_send_event), (gst_base_src_event_handler),
7906         (gst_base_src_pad_get_range), (gst_base_src_loop),
7907         (gst_base_src_unlock), (gst_base_src_default_negotiate),
7908         (gst_base_src_start), (gst_base_src_deactivate),
7909         (gst_base_src_activate_push), (gst_base_src_change_state):
7910         Move some stuff around and cleanup things.
7911
7912 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
7913
7914         * gst/base/gstbasesrc.c: (gst_base_src_query):
7915           Add missing break statements.
7916
7917 2005-10-27  Wim Taymans  <wim@fluendo.com>
7918
7919         * check/gst/gstbin.c: (GST_START_TEST):
7920         An extra refcount is taken in basesrc.
7921
7922         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7923         (gst_base_src_get_range), (gst_base_src_pad_get_range),
7924         (gst_base_src_loop):
7925         Small cleanups, check for flushing after being unlocked from the 
7926         LIVE_LOCK. take refcounts correctly (not yet everywhere).
7927         Don't send out EOS when going to READY.
7928
7929 2005-10-27  Wim Taymans  <wim@fluendo.com>
7930
7931         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7932         (gst_base_sink_get_position):
7933         Some more debug.
7934
7935         * gst/gstbin.c: (message_check), (bin_replace_message),
7936         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7937         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7938         (bin_query_duration_init), (bin_query_duration_fold),
7939         (bin_query_duration_done), (bin_query_generic_fold),
7940         (gst_bin_query):
7941         * tools/gst-launch.c: (main):
7942         Remove old option.
7943
7944 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
7945
7946         * examples/controller/audio-example.c: (main):
7947         * examples/queue/queue.c: (event_loop):
7948         * gst/base/gstbasetransform.h:
7949         * gst/gstelement.c: (gst_element_send_event):
7950         * gst/gstevent.h:
7951         * gst/gstpad.c: (gst_pad_send_event):
7952           fixing examples
7953           fixing docs typos
7954           changing log priority in error situations
7955
7956 2005-10-25  Wim Taymans  <wim@fluendo.com>
7957
7958         * gst/gstbin.c: (message_check), (bin_replace_message),
7959         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7960         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7961         (bin_query_duration_init), (bin_query_duration_fold),
7962         (bin_query_duration_done), (bin_query_generic_fold),
7963         (gst_bin_query):
7964         Some doc and debug updates.
7965         Cache previously requested query DURATION for speed. invalidate
7966         cached duration if element posts a DURATION message.
7967
7968 2005-10-25  Wim Taymans  <wim@fluendo.com>
7969
7970         * docs/design/part-TODO.txt:
7971         Update TODO.
7972
7973         * gst/gstbin.c: (message_check), (bin_replace_message),
7974         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7975         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7976         (bin_query_duration_init), (bin_query_duration_fold),
7977         (bin_query_duration_done), (bin_query_generic_fold),
7978         (gst_bin_query):
7979         Handle SEGMENT_START/DONE messages correctly.
7980         More evolved query algorithm that handles duration queries
7981         correctly.
7982
7983         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
7984         (gst_element_get_state_func), (gst_element_abort_state),
7985         (gst_element_commit_state), (gst_element_lost_state):
7986         Some more debugging.
7987
7988         * gst/gstmessage.h:
7989         Added doc.
7990
7991 2005-10-25  Wim Taymans  <wim@fluendo.com>
7992
7993         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7994         Don't use invalid stream_time.
7995
7996         * gst/gstevent.c: (gst_event_new_newsegment):
7997         stream_time in newsegment cannot be undefined.
7998
7999 2005-10-24  Wim Taymans  <wim@fluendo.com>
8000
8001         * gst/gstbus.c:
8002         Doc fix.
8003
8004         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8005         (gst_queue_loop):
8006         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
8007
8008 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
8009
8010         * docs/libs/tmpl/gstdparam.sgml:
8011         * docs/libs/tmpl/gstdplinint.sgml:
8012         * docs/libs/tmpl/gstdpman.sgml:
8013         * docs/libs/tmpl/gstdpsmooth.sgml:
8014         * docs/libs/tmpl/gstunitconvert.sgml:
8015           these are obsolete
8016
8017 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8018
8019         * configure.ac:
8020           back to HEAD
8021
8022 === release 0.9.4 ===
8023
8024 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8025
8026         * configure.ac:
8027           releasing 0.9.4, "Tyrannosaurus Rex"
8028
8029 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
8030
8031         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8032         (gst_file_sink_get_current_offset):
8033           Use fseeko() and ftello() if available. When falling back on
8034           lseek() to get the current offset, fflush() first to make sure
8035           everything is up-to-date and we get the right offset.
8036
8037 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8038
8039         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8040         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8041         * gst/gsterror.c: (_gst_stream_errors_init):
8042         * gst/gsterror.h:
8043         * gst/gstqueue.c: (gst_queue_loop):
8044         * po/POTFILES.in:
8045           remove prematurely added error category and clean up the instances
8046
8047 2005-10-21  Wim Taymans  <wim@fluendo.com>
8048
8049         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8050         (gst_base_sink_get_position), (gst_base_sink_query),
8051         (gst_base_sink_change_state):
8052         Simply set the right flag when going to playing, that's all
8053         we need to do instead of calling a function inside the object
8054         lock (that could take the lock as well and deadlock)
8055
8056 2005-10-21  Wim Taymans  <wim@fluendo.com>
8057
8058         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8059         (gst_base_src_loop):
8060         Don't warn, the peer element knows what to do best when
8061         the seek failed, it might try something else.
8062
8063 2005-10-21  Wim Taymans  <wim@fluendo.com>
8064
8065         * gst/base/gstbasesrc.c: (gst_base_src_init),
8066         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8067         Fix seeking.
8068
8069 2005-10-21  Wim Taymans  <wim@fluendo.com>
8070
8071         * docs/design/part-segments.txt:
8072         More docs.
8073
8074         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8075         Correctly set caps, even on the subbufer.
8076
8077 2005-10-21  Wim Taymans  <wim@fluendo.com>
8078
8079         * docs/gst/gstreamer-docs.sgml:
8080         * docs/gst/gstreamer-sections.txt:
8081         * gst/gstelement.h:
8082         * gst/gstevent.c:
8083         * gst/gstevent.h:
8084         * gst/gstmessage.h:
8085         * gst/gstpad.h:
8086         * gst/gstparse.h:
8087         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8088         * gst/gsttask.h:
8089         * gst/gstutils.c:
8090         * gst/gstutils.h:
8091         And 2% more doc coverage.
8092
8093 2005-10-21  Andy Wingo  <wingo@pobox.com>
8094
8095         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8096         position reporting.
8097
8098 2005-10-20  Wim Taymans  <wim@fluendo.com>
8099
8100         * gst/gsterror.c: (gst_error_get_message):
8101         * gst/gstparse.h:
8102         * gst/gstquery.h:
8103         * gst/gststructure.c:
8104         * gst/gsttrace.c:
8105         * gst/gstutils.c:
8106         More docs.
8107
8108 2005-10-20  Wim Taymans  <wim@fluendo.com>
8109
8110         * gst/gstbuffer.h:
8111         * gst/gstpad.c:
8112         * gst/gstparse.c:
8113         Another 1% more coverage.
8114
8115 2005-10-20  Wim Taymans  <wim@fluendo.com>
8116
8117         * docs/gst/gstreamer-sections.txt:
8118         * gst/gstelement.c: (gst_element_get_state_func),
8119         (gst_element_abort_state), (gst_element_commit_state),
8120         (gst_element_lost_state):
8121         * gst/gstevent.h:
8122         * gst/gstquery.c: (gst_query_set_position),
8123         (gst_query_parse_position), (gst_query_set_duration),
8124         (gst_query_parse_duration), (gst_query_new_convert):
8125         * gst/gstutils.c:
8126         Yay! 1% more docs coverage.
8127
8128 2005-10-20  Wim Taymans  <wim@fluendo.com>
8129
8130         * gst/gstpad.h:
8131         * gst/gstquery.c: (gst_query_set_position),
8132         (gst_query_parse_position), (gst_query_set_duration),
8133         (gst_query_parse_duration), (gst_query_new_convert):
8134         * gst/gstquery.h:
8135         * gst/gstutils.c: (gst_element_query_convert):
8136         * gst/gstutils.h:
8137         Docs and consistency fixes.
8138
8139 2005-10-20  Wim Taymans  <wim@fluendo.com>
8140
8141         * gst/gsttask.c:
8142         * gst/gsttask.h:
8143         More docs.
8144
8145 2005-10-20  Wim Taymans  <wim@fluendo.com>
8146
8147         * gst/gstbin.c: (message_check), (bin_replace_message),
8148         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8149         (update_degree), (gst_bin_sort_iterator_next),
8150         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8151         Reworked the message handling a bit, cache the messages instead of
8152         only the senders. alows us to do more in the future.
8153
8154 2005-10-20  Wim Taymans  <wim@fluendo.com>
8155
8156         * docs/design/part-TODO.txt:
8157         Update TODO
8158
8159         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8160         (gst_base_sink_query):
8161         Don't use clock time to report position when in EOS.
8162
8163 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8164
8165         * tools/gst-inspect.c: (print_interfaces),
8166         (print_element_properties_info), (print_element_info):
8167           Fix interface output with gst-inspect -a; don't print
8168           newlines after double/float properties.
8169
8170 2005-10-20  Wim Taymans  <wim@fluendo.com>
8171
8172         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8173         (gst_base_sink_query):
8174         Speed up current position calculation.
8175
8176         * gst/base/gstbasesrc.c: (gst_base_src_query),
8177         (gst_base_src_default_newsegment):
8178         Correctly set stream position in newsegment.
8179
8180         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8181         (update_degree), (gst_bin_sort_iterator_next),
8182         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8183         * gst/gstmessage.c: (gst_message_new_custom):
8184         Clean up debugging info
8185
8186         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8187         (gst_queue_loop), (gst_queue_handle_src_query):
8188         Pause task faster.
8189
8190 2005-10-19  Wim Taymans  <wim@fluendo.com>
8191
8192         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8193         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8194         Fix query handling again.
8195
8196 2005-10-19  Wim Taymans  <wim@fluendo.com>
8197
8198         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8199         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8200         * gst/base/gstbasesrc.c: (gst_base_src_query):
8201         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8202         * gst/elements/gsttypefindelement.c:
8203         (gst_type_find_handle_src_query), (find_element_get_length),
8204         (gst_type_find_element_activate):
8205         API change fix.
8206
8207         * gst/gstquery.c: (gst_query_new_position),
8208         (gst_query_set_position), (gst_query_parse_position),
8209         (gst_query_new_duration), (gst_query_set_duration),
8210         (gst_query_parse_duration), (gst_query_set_segment),
8211         (gst_query_parse_segment):
8212         * gst/gstquery.h:
8213         Bundling query position/duration is not a good idea since duration
8214         does not change much and we don't want to recalculate it for every
8215         position query, so they are separated again..
8216         Base value in segment query is not needed.
8217
8218         * gst/gstqueue.c: (gst_queue_handle_src_query):
8219         * gst/gstutils.c: (gst_element_query_position),
8220         (gst_element_query_duration), (gst_pad_query_position),
8221         (gst_pad_query_duration):
8222         * gst/gstutils.h:
8223         Updates for query API change.
8224         Added some docs here and there.
8225
8226 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8227
8228         * check/gst/gstbin.c: (GST_START_TEST):
8229         * check/gst/gstghostpad.c: (GST_START_TEST):
8230         * check/pipelines/cleanup.c: (GST_START_TEST):
8231           wait on thread to die so we can check refcount correctly
8232
8233 2005-10-18  Wim Taymans  <wim@fluendo.com>
8234
8235         * check/pipelines/stress.c: (GST_START_TEST):
8236         Make check a little more time consuming.
8237
8238 2005-10-18  Wim Taymans  <wim@fluendo.com>
8239
8240         * check/Makefile.am:
8241         * check/pipelines/stress.c: (GST_START_TEST),
8242         (simple_launch_lines_suite), (main):
8243         Small state change torture test.
8244
8245         * docs/design/part-states.txt:
8246         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8247         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8248         (gst_base_sink_change_state):
8249         Never take state lock from streaming thread, clean up ugly
8250         hacks. Unfortunatly core does not yet support nice ways to
8251         async commit state.
8252         
8253         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8254         (bin_bus_handler):
8255         Start state recalc if a STATE_DIRTY message is posted, but only
8256         on the toplevel bin.
8257
8258         * gst/gstelement.c: (gst_element_sync_state_with_parent),
8259         (gst_element_get_state_func), (gst_element_abort_state),
8260         (gst_element_commit_state), (gst_element_lost_state),
8261         (gst_element_set_state_func), (gst_element_change_state):
8262         * gst/gstelement.h:
8263         State variables are now protected with the LOCK, the state
8264         lock is only used to serialize _set_state().
8265
8266 2005-10-18  Wim Taymans  <wim@fluendo.com>
8267
8268         * check/gst/gstbin.c: (GST_START_TEST):
8269         * check/gst/gstmessage.c: (GST_START_TEST):
8270         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8271         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8272         (bin_bus_handler):
8273         * gst/gstelement.c: (gst_element_abort_state),
8274         (gst_element_commit_state), (gst_element_lost_state):
8275         * gst/gstmessage.c: (gst_message_new_state_changed),
8276         (gst_message_new_state_dirty), (gst_message_new_segment_start),
8277         (gst_message_new_segment_done), (gst_message_new_duration),
8278         (gst_message_parse_state_changed),
8279         (gst_message_parse_segment_start),
8280         (gst_message_parse_segment_done), (gst_message_parse_duration):
8281         * gst/gstmessage.h:
8282         * tools/gst-launch.c: (event_loop):
8283         Seriously, this is better than a previous commit as we only need
8284         to notify the fact that an element changed state in a streaming
8285         thread, marking the state of the parents dirty, hence the 
8286         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8287         message.
8288
8289 2005-10-18  Wim Taymans  <wim@fluendo.com>
8290
8291         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8292         (gst_bin_recalc_func):
8293         * gst/gstelement.c: (gst_element_set_clock),
8294         (gst_element_abort_state), (gst_element_lost_state):
8295         Cleanups, prepare for state change fixes.
8296
8297 2005-10-18  Wim Taymans  <wim@fluendo.com>
8298
8299         * gst/gstbin.h:
8300         * gst/gstelement.c: (gst_element_class_init),
8301         (gst_element_set_state), (gst_element_set_state_func):
8302         * gst/gstelement.h:
8303         Pending ABI changes.
8304         GThreadPool in GstBinClass to monitor async state changes.
8305         state_cookie in GstElement to detect concurrent gst/set state.
8306         set_state is now virtual too in case a very complicated element
8307         has to be constructed.
8308
8309 2005-10-18  Wim Taymans  <wim@fluendo.com>
8310
8311         * check/gst/gstbin.c: (GST_START_TEST):
8312         * check/gst/gstmessage.c: (GST_START_TEST):
8313         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8314         * gst/gstbin.c: (bin_bus_handler):
8315         * gst/gstelement.c: (gst_element_commit_state),
8316         (gst_element_lost_state):
8317         * gst/gstmessage.c: (gst_message_new_state_changed),
8318         (gst_message_new_segment_start), (gst_message_new_segment_done),
8319         (gst_message_new_duration), (gst_message_parse_state_changed),
8320         (gst_message_parse_segment_start),
8321         (gst_message_parse_segment_done), (gst_message_parse_duration):
8322         * gst/gstmessage.h:
8323         * tools/gst-launch.c: (event_loop):
8324         Make messages future proof.
8325         state-change gets a flag if it was a message comming from the
8326         streaming thread.
8327         segment-start/stop can also be specified in other formats.
8328         A message to notify an app that a pipeline changed playback 
8329         duration.
8330         Also fix a GstMessage leak in -launch
8331
8332 2005-10-18  Andy Wingo  <wingo@pobox.com>
8333
8334         * gst/gstelement.c (gst_element_dispose): More helpful message.
8335
8336 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8337
8338         reviewed by: <delete if not using a buddy>
8339
8340         * common/gtk-doc.mak:
8341
8342 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8343
8344         * gst/gstregistry.c: (gst_registry_scan_path_level):
8345           unref a plug-in we get that was already initialized
8346
8347 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
8348
8349         * docs/gst/gstreamer-sections.txt:
8350         * docs/libs/gstreamer-libs-sections.txt:
8351         * gst/gstelement.h:
8352           add new api entries
8353           hide internal macro
8354
8355 2005-10-17  Andy Wingo  <wingo@pobox.com>
8356
8357         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8358         cleanup.
8359
8360         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8361
8362         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8363
8364         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8365         (gst_element_get_state_func): Better debug message.
8366         (gst_element_commit_state): s/INFO/DEBUG/.
8367         (gst_element_lost_state, gst_element_change_state): 
8368
8369         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8370         (gst_message_new_custom): s/INFO/LOG/.
8371
8372 2005-10-17  Michael Smith <msmith@fluendo.com>
8373
8374         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8375           Check if end time is valid using end time, not start time.
8376
8377 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8378
8379         * check/gst-libs/controller.c: (GST_START_TEST),
8380         (gst_controller_suite):
8381         * libs/gst/controller/gstcontroller.c:
8382         (gst_controlled_property_set_interpolation_mode):
8383         * libs/gst/controller/gstcontroller.h:
8384         * libs/gst/controller/gstinterpolation.c:
8385         * testsuite/controller/.cvsignore:
8386         * testsuite/controller/Makefile.am:
8387         * testsuite/controller/interpolator.c:
8388           merge controller testsuites
8389           fix broken tests
8390           remove mem-chunk from docs
8391
8392 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8393
8394         * gst/gstmemchunk.c:
8395         * gst/gstmemchunk.h:
8396         * gst/gsttrashstack.c:
8397         * gst/gsttrashstack.h:
8398           out.  get out.  you're fired.  to the Attic !
8399
8400 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8401
8402         * gst/gstcaps.c: (gst_caps_intersect):
8403           fix signedness issues in a (hopefully) correct way
8404         * gst/gstelement.c: (gst_element_pads_activate):
8405           some debugging
8406         * gst/gstobject.c: (gst_object_set_parent):
8407           some debugging
8408
8409 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8410
8411         * gst/gstvalue.h: Fix prototypes.
8412
8413 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8414
8415         * docs/gst/gstreamer-sections.txt:
8416         * gst/gst.c: (gst_version_string):
8417         * gst/gst.h:
8418         * gst/gstversion.h.in:
8419         * win32/common/libgstreamer.def:
8420           add gst_version_string ()
8421
8422 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8423
8424         * configure.ac:
8425           clean up further
8426         * gst/gst.c: (init_post):
8427         * win32/common/config.h.in:
8428           it's PLUGINDIR now
8429         * gst/gstcaps.c: (gst_caps_intersect):
8430           use gint64, the range could be bigger than a guint
8431
8432 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8433
8434         * gst/gstclock.h:
8435           document potential problem in 2038
8436
8437 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8438
8439         * gst/gstcaps.c: (gst_caps_intersect):
8440           Fix guint j diving under 0
8441
8442 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8443
8444         * configure.ac:
8445         * win32/common/config.h:
8446         * win32/common/config.h.in:
8447           check for process.h, declares getpid() on Windows
8448         * gst/gstinfo.c:
8449           include process.h if we have it
8450         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8451         * gst/gstmemchunk.h:
8452           fix signedness issues
8453         * win32/common/libgstreamer.def:
8454           fix get_type's
8455
8456 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8457
8458         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8459         fix. Because of unsigned ints, caps intersection was going nuts and
8460         trying to access structures with G_MAXUINT index. That fixes
8461         videotestsrc ! ffmpegcolorspace ! fakesink
8462         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8463         consistency.
8464
8465 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8466
8467         * configure.ac:
8468           use the gettext macro
8469         * gst/elements/gstelements.c:
8470         * gst/gst.c:
8471         * gst/indexers/gstindexers.c:
8472           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8473         * win32/common/config.h:
8474           updated config.h
8475         * win32/common/config.h.in:
8476           add the template to generate config.h
8477         * win32/common/gstenumtypes.c:
8478         * win32/common/gstversion.h:
8479           updated copies
8480
8481 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8482
8483         * gst/gst.c: (gst_version):
8484         * gst/gstversion.h.in:
8485           add the nano
8486
8487 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8488
8489         * gst/gstevent.h:
8490           Oops, add missing closing bracket.
8491
8492 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8493
8494         * configure.ac:
8495           use common m4's for argument checking
8496
8497 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8498
8499         * docs/gst/gstreamer-sections.txt:
8500         * gst/gstevent.h:
8501           Add GST_EVENT_TYPE_NAME() macro.
8502
8503 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8504
8505         * gst/gstinfo.c:
8506         * gst/gstpluginfeature.c:
8507         * gst/gsttask.c:
8508           privatize more symbols
8509
8510 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8511
8512         * configure.ac:
8513           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8514           everything that uses GStreamer API should have the includes
8515
8516 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8517
8518         * docs/gst/gstreamer-sections.txt:
8519         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8520         * gst/gstvalue.h:
8521           give each value a _get_type, removes the DATA exports
8522
8523 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8524
8525         * gst/gst.c:
8526         * gst/gst.h:
8527           remove _gst_registry_auto_load, not used anymore
8528         * gst/gstbin.c: (gst_bin_get_type):
8529         * gst/gstbin.h:
8530         * gst/gstelement.c: (gst_element_get_type):
8531         * gst/gstelement.h:
8532         * gst/gstobject.c: (gst_object_get_type):
8533         * gst/gstobject.h:
8534         * gst/gstpad.c: (gst_pad_get_type):
8535         * gst/gstpad.h:
8536           make _get_type functions similar, fixes data export from library
8537
8538 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8539
8540         * configure.ac:
8541           correctly make conditionals
8542         * gst/elements/Makefile.am:
8543         * gst/elements/gstelements.c:
8544           fix typo causing fdsrc not to build
8545
8546 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8547
8548         * testsuite/Makefile.am:
8549         * testsuite/bytestream/.cvsignore:
8550         * testsuite/bytestream/Makefile.am:
8551         * testsuite/bytestream/filepadsink.c:
8552         * testsuite/bytestream/gstbstest.c:
8553         * testsuite/bytestream/test1.c:
8554         * testsuite/bytestream/testfile1:
8555         * testsuite/caps/normalisation.c:
8556         * testsuite/caps/random.c: (main):
8557         * testsuite/cleanup/.cvsignore:
8558         * testsuite/cleanup/Makefile.am:
8559         * testsuite/cleanup/cleanup1.c:
8560         * testsuite/cleanup/cleanup2.c:
8561         * testsuite/cleanup/cleanup3.c:
8562         * testsuite/cleanup/cleanup4.c:
8563         * testsuite/cleanup/cleanup5.c:
8564         * testsuite/controller/interpolator.c:
8565         * testsuite/debug/printf_extension.c: (main):
8566         * testsuite/elements/tee.c:
8567         * testsuite/negotiation/.cvsignore:
8568         * testsuite/negotiation/Makefile.am:
8569         * testsuite/negotiation/pad_link.c:
8570         * testsuite/pad/Makefile.am:
8571         * testsuite/pad/chainnopull.c:
8572         * testsuite/pad/getnopush.c:
8573         * testsuite/pad/link.c:
8574         * testsuite/refcounting/sched.c: (create_pipeline):
8575         * testsuite/registry/Makefile.am:
8576         * testsuite/registry/gst-print-formats.c:
8577         * testsuite/schedulers/.cvsignore:
8578         * testsuite/schedulers/142183-2.c:
8579         * testsuite/schedulers/142183.c:
8580         * testsuite/schedulers/143777-2.c:
8581         * testsuite/schedulers/143777.c:
8582         * testsuite/schedulers/147713.c:
8583         * testsuite/schedulers/147819.c:
8584         * testsuite/schedulers/147894-2.c:
8585         * testsuite/schedulers/147894.c:
8586         * testsuite/schedulers/Makefile.am:
8587         * testsuite/schedulers/group_link.c:
8588         * testsuite/schedulers/queue_link.c:
8589         * testsuite/schedulers/relink.c:
8590         * testsuite/schedulers/unlink.c:
8591         * testsuite/schedulers/unref.c:
8592         * testsuite/schedulers/useless_iteration.c:
8593         * testsuite/states/bin.c:
8594           clean out/remove some stuff from the testsuite directories
8595
8596 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8597
8598         * configure.ac:
8599           check for some headers
8600         * gst/elements/Makefile.am:
8601         * gst/elements/gstelements.c:
8602           don't compile fdsrc without sys/socket.h
8603         * gst/indexers/Makefile.am:
8604         * gst/indexers/gstindexers.c: (plugin_init):
8605           don't compile fileindex without mmap
8606
8607 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8608
8609         * configure.ac:
8610           reorganize
8611           clean up
8612           document more
8613           remove cruft
8614         * check/Makefile.am:
8615         * docs/gst/Makefile.am:
8616         * examples/helloworld/Makefile.am:
8617         * gst/Makefile.am:
8618         * gst/base/Makefile.am:
8619         * gst/check/Makefile.am:
8620         * gst/elements/Makefile.am:
8621         * gst/indexers/Makefile.am:
8622         * gst/parse/Makefile.am:
8623         * libs/gst/controller/Makefile.am:
8624         * libs/gst/dataprotocol/Makefile.am:
8625         * examples/helloworld/helloworld.c: (event_loop):
8626           compile fixes, though it's not being compiled currently
8627
8628 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8629
8630         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8631           Add some simple tests for the new taglist date API.
8632
8633 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8634
8635         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8636         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8637           Beautify 'last-message' output: print 'none' for buffer timestamps
8638           and durations if none is set; improve alignment with next messages.
8639
8640 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8641
8642         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8643         * gst/gstpluginfeature.h:
8644         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8645         * gst/gstregistry.h:
8646         * docs/gst/gstreamer-sections.txt:
8647           Add new API to check plugin feature version requirements.
8648
8649         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8650           Some basic tests for the above.         
8651
8652 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8653
8654         * gst/gststructure.c: (gst_structure_to_string):
8655           guard against NULL printf - happens when for example
8656           a message structure with GstClock gets serialized
8657
8658 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8659
8660         * gst/base/gstcollectpads.c: (gst_collectpads_event):
8661           Fix presumable copy'n'pasto.
8662
8663 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8664
8665         * gst/elements/gstfakesrc.h:
8666         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8667         * gst/elements/gsttypefindelement.c:
8668           fix some signedness
8669         * gst/elements/gstfilesink.c: (gst_file_sink_render):
8670           I wonder if this could actually write +2GB files before
8671
8672 2005-10-13  Andy Wingo  <wingo@pobox.com>
8673
8674         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8675         Fix Timmeke Waymans bug.
8676         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8677         string of the proper length to gst_caps_from_string. There's a
8678         potential for, before this fix, that this could cause someone
8679         connecting over the network to cause a segfault if the payload is
8680         not NUL-terminated.
8681
8682 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8683
8684         * docs/design/draft-push-pull.txt:
8685         * docs/design/part-overview.txt:
8686         * docs/random/TODO-pre-0.9:
8687         * docs/random/old/ChangeLog.gstreamer:
8688         * gst/base/gstpushsrc.c:
8689         * gst/gstclock.c:
8690           fixed typos
8691
8692 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8693
8694         * gst/glib-compat.c: (gst_flags_get_first_value):
8695         * gst/glib-compat.h:
8696         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8697         (gst_value_compare_double), (gst_value_serialize_flags):
8698           GLib 2.6 g_flags_get_first_value has a bug that triggers an
8699           infinite loop
8700
8701 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8702
8703         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8704         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8705           fix up debugging
8706         * tools/gst-launch.c: (event_loop):
8707           print out clock nicely
8708
8709 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8710
8711         * docs/gst/gstreamer-sections.txt:
8712         * gst/gsttaglist.h:
8713         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8714         (gst_tag_list_get_date_index):
8715           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8716           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8717
8718 2005-10-13  Julien MOUTTE  <julien@moutte.net>
8719
8720         * gst/base/gstcollectpads.c: (gst_collectpads_event),
8721         (gst_collectpads_chain):
8722         * gst/base/gstcollectpads.h: Handle newsegment and store informations
8723         in CollectData.
8724
8725 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8726
8727         * docs/gst/gstreamer-sections.txt:
8728         * gst/gst.c:
8729         * gst/gsterror.h:
8730         * tools/gst-inspect.c: (main):
8731         * tools/gst-launch.c: (main):
8732         * tools/gst-run.c: (main):
8733         * tools/gst-xmlinspect.c: (main):
8734           fix GOption context leaks
8735           doc fixes
8736
8737 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8738
8739         * gst/gstbus.c:
8740           use HAVE_UNISTD_H
8741         * win32/common/config.h:
8742           update config
8743         * win32/vs6/grammar.dsp:
8744         * win32/vs6/libgstelements.dsp:
8745         * win32/vs6/libgstreamer.dsp:
8746           update vs6 files
8747
8748 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8749
8750         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8751         * gst/base/gstbasesrc.c: (gst_base_src_query):
8752           fix more guint64<->gdouble conversions
8753
8754 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8755
8756         * Makefile.am:
8757           add win32-update target
8758         * win32/common/gstconfig.h:
8759         * win32/common/gstenumtypes.c:
8760         * win32/common/gstenumtypes.h:
8761         * win32/common/gstversion.h:
8762           add files that visual studio can't generate
8763
8764 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8765
8766         * Makefile.am:
8767           add a win32-update target
8768         * configure.ac:
8769
8770 2005-10-12  Wim Taymans  <wim@fluendo.com>
8771
8772         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8773         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8774         * gst/gstelement.c: (gst_element_commit_state),
8775         (gst_element_set_state):
8776         Protect flags with proper lock.
8777         unref provided cached clock in dispose.
8778
8779 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8780
8781         * gst/gst.c:
8782         * gst/gstminiobject.h:
8783         * gst/gstpad.h:
8784         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8785           removed unused flags from miniobject
8786           doc fixes
8787
8788 2005-10-12  Wim Taymans  <wim@fluendo.com>
8789
8790         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8791         (gst_file_sink_event), (gst_file_sink_render):
8792         Flush before seeking.
8793
8794 2005-10-12  Andy Wingo  <wingo@pobox.com>
8795
8796         * gst/gst.c (gst_init_check): Ignore unknown options, as has
8797         always been the case.
8798
8799 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8800
8801         * check/gst/gstbin.c: (GST_START_TEST):
8802         * docs/gst/gstreamer-sections.txt:
8803         * gst/base/gstbasesink.c: (gst_base_sink_init):
8804         * gst/base/gstbasesrc.c: (gst_base_src_init),
8805         (gst_base_src_get_range), (gst_base_src_check_get_range),
8806         (gst_base_src_start), (gst_base_src_stop):
8807         * gst/base/gstbasesrc.h:
8808         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
8809         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8810         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
8811         (bin_bus_handler):
8812         * gst/gstbin.h:
8813         * gst/gstbuffer.h:
8814         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8815         * gst/gstbus.h:
8816         * gst/gstelement.c: (gst_element_is_locked_state),
8817         (gst_element_set_locked_state), (gst_element_commit_state),
8818         (gst_element_set_state):
8819         * gst/gstelement.h:
8820         * gst/gstindex.c: (gst_index_init):
8821         * gst/gstindex.h:
8822         * gst/gstminiobject.h:
8823         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
8824         (gst_object_set_parent):
8825         * gst/gstobject.h:
8826         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
8827         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
8828         * gst/gstpad.h:
8829         * gst/gstpadtemplate.h:
8830         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
8831         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8832         * gst/gstpipeline.h:
8833         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8834         (gst_file_index_commit):
8835         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
8836         * testsuite/pad/link.c: (gst_test_src_init),
8837         (gst_test_filter_init), (gst_test_sink_init):
8838         * testsuite/states/locked.c: (main):
8839           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
8840           moved bitshift from macro to enum definition
8841
8842 2005-10-12  Wim Taymans  <wim@fluendo.com>
8843
8844         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8845         * gst/elements/gstfilesink.c: (gst_file_sink_event),
8846         (gst_file_sink_render):
8847         Some more debugging info.
8848
8849 2005-10-12  Wim Taymans  <wim@fluendo.com>
8850
8851         * docs/design/part-states.txt:
8852         * tools/gst-launch.c: (main):
8853         Some doc updates.
8854         Revert non-intentional change.
8855
8856 2005-10-12  Wim Taymans  <wim@fluendo.com>
8857
8858         * check/gst/gstbin.c: (GST_START_TEST):
8859         * check/gst/gstelement.c: (GST_START_TEST):
8860         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8861         * check/gst/gstghostpad.c: (GST_START_TEST):
8862         * check/gst/gstpipeline.c: (GST_START_TEST):
8863         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8864         * check/states/sinks.c: (GST_START_TEST):
8865         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8866         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8867         (gst_bin_remove_func), (gst_bin_get_state_func),
8868         (gst_bin_recalc_state), (gst_bin_change_state_func),
8869         (bin_bus_handler):
8870         * gst/gstelement.c: (gst_element_get_state_func),
8871         (gst_element_get_state), (gst_element_abort_state),
8872         (gst_element_commit_state), (gst_element_set_state),
8873         (gst_element_change_state), (gst_element_change_state_func):
8874         * gst/gstelement.h:
8875         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8876         (gst_pipeline_provide_clock_func):
8877         * gst/gstutils.c: (gst_element_link_pads_filtered):
8878         * tools/gst-launch.c: (main):
8879         * tools/gst-typefind.c: (main):
8880         Use GstClockTime in _get_state() instead of GTimeVal.
8881         Remove old code in gstutils.c
8882
8883 2005-10-12  Andy Wingo  <wingo@pobox.com>
8884
8885         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8886         removed.
8887
8888         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8889         there is no task. Shouldn't affect any code, as nothing in our
8890         plugins checks this return value.
8891         (gst_pad_stop_task): Also take the stream lock if the pad has no
8892         task. Docs updated.
8893
8894 2005-10-12  Wim Taymans  <wim@fluendo.com>
8895
8896         * gst/gstpad.c: (pre_activate), (post_activate),
8897         (gst_pad_activate_pull), (gst_pad_activate_push):
8898         Cleanup activation code. Reset old state if
8899         activation failed.
8900
8901 2005-10-12  Wim Taymans  <wim@fluendo.com>
8902
8903         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8904         (gst_base_sink_change_state):
8905         No need to prerol after receiving EOS.
8906
8907         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8908         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8909         * gst/elements/gstidentity.c: (gst_identity_event):
8910         Print events more verbosely.
8911
8912 2005-10-12  Wim Taymans  <wim@fluendo.com>
8913
8914         * check/Makefile.am:
8915         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8916         * check/states/sinks2.c:
8917         Moved sinks2 testcode in sinks check.
8918
8919         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8920         (gst_bin_remove_func), (gst_bin_recalc_state),
8921         (gst_bin_change_state_func), (bin_bus_handler):
8922         Fix potential race condition when _get_state() iterated over an
8923         ASYNC element right before it posted a state completion.
8924
8925         * gst/gstclock.h:
8926         Do proper cast here.
8927
8928         * gst/gstevent.c: (gst_event_new_newsegment),
8929         (gst_event_parse_newsegment):
8930         A playback rate of 0.0 is not allowed.
8931
8932 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8933
8934         * win32/common/config.h:
8935         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8936         (_trewinddir), (_ttelldir), (_tseekdir):
8937         * win32/common/dirent.h:
8938         * win32/common/gtchar.h:
8939         * win32/common/libgstbase.def:
8940         * win32/common/libgstreamer.def:
8941         * win32/vs6/grammar.dsp:
8942         * win32/vs6/gst_inspect.dsp:
8943         * win32/vs6/gst_launch.dsp:
8944         * win32/vs6/gstreamer.dsw:
8945         * win32/vs6/libgstbase.dsp:
8946         * win32/vs6/libgstelements.dsp:
8947         * win32/vs6/libgstreamer.dsp:
8948           Visual Studio 6 project files, and a new common directory.
8949           Phear.
8950
8951 2005-10-11  Wim Taymans  <wim@fluendo.com>
8952
8953         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8954         (gst_base_sink_do_sync), (gst_base_sink_query),
8955         (gst_base_sink_change_state):
8956         * gst/base/gstbasesink.h:
8957         Correctly parse newsegment info.
8958
8959 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8960
8961         * gst/gst.c: (init_post):
8962           split plugin paths correctly
8963
8964 2005-10-11  Wim Taymans  <wim@fluendo.com>
8965
8966         * check/gst/gstevent.c: (GST_START_TEST):
8967         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8968         (gst_base_sink_change_state):
8969         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
8970         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8971         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8972         * gst/gstevent.c: (gst_event_new_newsegment),
8973         (gst_event_parse_newsegment):
8974         * gst/gstevent.h:
8975         Added extra flag to newsegment for future API freeze.
8976         Updated check and base elements.
8977
8978 2005-10-11  Julien MOUTTE  <julien@moutte.net>
8979
8980         * gst/base/gstcollectpads.c: (gst_collectpads_init),
8981         (gst_collectpads_add_pad), (gst_collectpads_pop),
8982         (gst_collectpads_event), (gst_collectpads_chain):
8983         * gst/base/gstcollectpads.h: Handle EOS correctly.
8984
8985 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8986
8987         * tools/gst-launch.c: (main):
8988           more null protecting
8989
8990 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8991
8992         * gst/gst-i18n-lib.h:
8993           check for ENABLE_NLS, not GETTEXT_PACKAGE
8994         * gst/gstregistry.c: (gst_registry_add_plugin),
8995         (gst_registry_scan_path_level),
8996         (_gst_registry_remove_cache_plugins):
8997           protect possibly NULL strings
8998         * gst/parse/types.h:
8999           config.h already included before
9000         * tools/gst-inspect.c: (main):
9001           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
9002           check for ENABLE_NLS, not GETTEXT_PACKAGE
9003         * tools/gst-launch.c: (main):
9004           check for ENABLE_NLS, not GETTEXT_PACKAGE
9005
9006 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9007
9008         * configure.ac:
9009           if we don't have glib, fail before testing 2.8
9010         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
9011           fix a leak, should fix plugins-base testsuite
9012
9013 2005-10-11  Andy Wingo  <wingo@pobox.com>
9014
9015         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9016         take the mode we're going to as an arg. Go head and set the mode
9017         and flushing flags now, so that if the activate function starts a
9018         thread all the flags will be in the right state.
9019         (post_activate): Renamed also. Just handle making sure streaming
9020         finishes for the deactivation case, and setting the deactivated
9021         mode.
9022         (gst_pad_set_active): Complain loudly if deactivation fails.
9023         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9024         (gst_pad_activate_push): Adapt to pre/post_activate changes,
9025         remove the terrible hack.
9026
9027 2005-10-11  Wim Taymans  <wim@fluendo.com>
9028
9029         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9030         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9031         (gst_bin_recalc_state), (gst_bin_change_state_func),
9032         (gst_bin_dispose), (bin_bus_handler):
9033         * gst/gstbin.h:
9034         Prepare to make current EOS message queue more generic.
9035         Fix some typos.
9036
9037         * gst/gstevent.c: (gst_event_new_newsegment),
9038         (gst_event_parse_newsegment):
9039         * gst/gstevent.h:
9040         Rename base to stream_time.
9041
9042         * gst/gstmessage.h:
9043         Fix typo in docs.
9044
9045 2005-10-11  Wim Taymans  <wim@fluendo.com>
9046
9047         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9048         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9049         (gst_bin_change_state_func), (bin_bus_handler):
9050         * gst/gstbin.h:
9051         Work on proper clock selection.
9052
9053 2005-10-11  Edward Hervey  <edward@fluendo.com>
9054
9055         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9056         * libs/gst/controller/gstcontroller.h:
9057         Added GList* version of _remove_properties() in order to be able to wrap
9058         it in bindings.
9059
9060 2005-10-11  Wim Taymans  <wim@fluendo.com>
9061
9062         * docs/design/part-states.txt:
9063         Some more docs.
9064
9065         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9066         (gst_bin_change_state_func), (bin_bus_handler):
9067         Doc updates. Don't distribute the same clock over and over again.
9068
9069         * gst/gstclock.c:
9070         * gst/gstclock.h:
9071         Doc updates.
9072
9073         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9074         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9075         (gst_pad_send_event):
9076         * gst/gstpad.h:
9077         Make probe emission threadsafe again.
9078         Register quarks and move _get_name() from utils.
9079         Doc updates.
9080
9081         * gst/gstpipeline.c: (gst_pipeline_class_init),
9082         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9083         Only redistribute the clock of it changed.
9084
9085         * gst/gstsystemclock.h:
9086         Doc updates. 
9087
9088         * gst/gstutils.c:
9089         * gst/gstutils.h:
9090         Moved the _flow_get_name() to GstPad.
9091
9092 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9093
9094         * check/gst-libs/gdp.c: (GST_START_TEST):
9095         * check/gst/gstcaps.c: (GST_START_TEST):
9096         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9097         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9098         (gst_dp_packet_from_caps):
9099           fix more valgrind warnings before turning up the heat
9100
9101 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9102
9103         * gst/parse/grammar.y:
9104           some cleanup before the hacking
9105
9106 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9107
9108         * gst/base/gstbasesrc.c: (gst_base_src_query):
9109           use conversions
9110         * gst/gstutils.c: (gst_guint64_to_gdouble),
9111         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9112         * gst/gstutils.h:
9113           externalize, basesrc uses it
9114           obviously the implementation needs testing
9115
9116 2005-10-10  Wim Taymans  <wim@fluendo.com>
9117
9118         * tests/sched/Makefile.am:
9119         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9120         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9121
9122 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9123
9124         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9125           apparently converting from guint64 to double is not implemented
9126           on MSVC
9127
9128 2005-10-10  Wim Taymans  <wim@fluendo.com>
9129
9130         * check/Makefile.am:
9131         * check/generic/states.c: (GST_START_TEST):
9132         * check/gst/gstbin.c: (GST_START_TEST):
9133         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9134         * check/states/sinks.c: (GST_START_TEST):
9135         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9136         (main):
9137         Check fixes, use API as stated in design docs, remove hacks.
9138
9139         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9140         (gst_base_sink_change_state):
9141         Catch stopping our task while we're shutting down.
9142
9143         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9144         (gst_bin_remove_func), (gst_bin_get_state_func),
9145         (gst_bin_recalc_state), (gst_bin_change_state_func),
9146         (bin_bus_handler):
9147         * gst/gstbin.h:
9148         * gst/gstelement.c: (gst_element_init),
9149         (gst_element_get_state_func), (gst_element_abort_state),
9150         (gst_element_commit_state), (gst_element_lost_state),
9151         (gst_element_set_state), (gst_element_change_state),
9152         (gst_element_change_state_func):
9153         * gst/gstelement.h:
9154         New state change algorithm (see #318116)
9155
9156         * gst/gstpipeline.c: (gst_pipeline_class_init),
9157         (gst_pipeline_init), (gst_pipeline_set_property),
9158         (gst_pipeline_get_property), (do_pipeline_seek),
9159         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9160         * gst/gstpipeline.h:
9161         Remove crude state change hacks.
9162
9163         * gst/gstutils.h:
9164         Remove crude hacks.
9165
9166         * tools/gst-launch.c: (main):
9167         Fixes for state change. Needs some more work to fully use the
9168         new stuff.
9169
9170 2005-10-10  Andy Wingo  <wingo@pobox.com>
9171
9172         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9173
9174         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9175         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9176         issue.
9177
9178 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9179
9180         * gst/gstiterator.c: (gst_iterator_new):
9181           Fix my previous commit: GTypes passed to gst_iterator_new()
9182           can be fundamental types.
9183
9184 2005-10-10  Wim Taymans  <wim@fluendo.com>
9185
9186         * gst/gstelement.c: (gst_element_iterate_pad_list),
9187         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9188         (gst_element_iterate_sink_pads):
9189         Use src/sink pads lists for the respective iterators instead
9190         of filtering.
9191
9192 2005-10-10  Andy Wingo  <wingo@pobox.com>
9193
9194         Merged in popt removal + GOption addition patch from Ronald, bug
9195         #169772.
9196
9197         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9198         GstElement macros around, remove popt-related symbols, add goption
9199         stuff.
9200
9201         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9202         
9203         * docs/gst/Makefile.am:
9204         * docs/libs/Makefile.am: No POPT_CFLAGS.
9205         
9206         * examples/manual/Makefile.am:
9207         * docs/manual/basics-init.xml: Doc updates with an example.
9208         
9209         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9210         (gst_init), (parse_one_option), (parse_goption_arg):
9211         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9212         bit of hand merging and debugging to get the GOption stuff working
9213         tho.
9214         
9215         * tests/Makefile.am:
9216         * tools/Makefile.am:
9217         * tools/gst-inspect.c: (main):
9218         * tools/gst-launch.c: (main):
9219         * tools/gst-run.c: (main):
9220         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9221
9222 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9223
9224         * gst/gstiterator.c: (gst_iterator_new):
9225           Add assertions to make sure passed GType is likely to really
9226           be a GType (as the compiler won't catch it if the size and
9227           GType arguments get mixed up, see #318447).
9228
9229 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
9230
9231         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9232
9233         * gst/gstbin.c: (gst_bin_iterate_sorted):
9234           Pass GType and size arguments to gst_iterator_new() in the right
9235           order (maybe we should make _new() take the GType as first argument
9236           just like _new_list()?) (#318447).
9237           
9238
9239 2005-10-10  Wim Taymans  <wim@fluendo.com>
9240
9241         * gst/gstelement.c: (gst_element_finalize):
9242         And free the GStaticRecMutex too
9243
9244 2005-10-10  Andy Wingo  <wingo@pobox.com>
9245
9246         * gst/gstelement.c (gst_element_init, gst_element_finalize):
9247         Allocate and free the mutex properly.
9248
9249         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9250         New macros.
9251         (GstElement): The state_lock is now recursive. Rebuild your
9252         plugins, suckers. Old macros adapted.
9253
9254         * docs/gst/gstreamer-sections.txt: Doc updates.
9255
9256         * gst/gstutils.h:
9257         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
9258         (g_static_rec_cond_wait): Ported from state changes patch, while
9259         we wait on bug #317802 to be solved in a well-distributed GLib.
9260
9261         * gst/gstelement.c (gst_element_change_state_func): Renamed from
9262         gst_element_change_state, variable name changes.
9263         (gst_element_change_state): Split out of gst_element_set_state in
9264         preparation for the state change merge. Doesn't pay attention to
9265         the 'transition' argument.
9266         (gst_element_set_state): Updates, hopefully purely cosmetic.
9267         (gst_element_sync_state_with_parent): MT-safety. Ported from the
9268         state change patch.
9269         (gst_element_get_state_func): Renamed from get_state, cosmetic
9270         changes.
9271
9272 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9273
9274         * gst/elements/gstelements.c:
9275         * win32/GStreamer.vcproj:
9276         * win32/config.h:
9277         * win32/dirent.c: (_tseekdir):
9278         * win32/gst-inspect.vcproj:
9279         * win32/gst-launch.vcproj:
9280         * win32/gstconfig.h:
9281         * win32/gstelements.vcproj:
9282         * win32/gstenumtypes.c: (gst_object_flags_get_type):
9283         * win32/gstreamer.def:
9284         * win32/msvc71.sln:
9285           updates for the win32 build (patch from Sebastien Moutte)
9286
9287 2005-10-10  Andy Wingo  <wingo@pobox.com>
9288
9289         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9290         gst_bin_get_state, cleaned up (but no logic changes).
9291         (bin_element_is_sink): Comment updates.
9292         (sink_iterator_filter): Remove needless cast.
9293         (gst_bin_iterate_sinks): Doc update.
9294         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9295         cleaned up (but no logic changes).
9296
9297         * check/states/sinks.c (test_src_sink): Cleanups from the state
9298         change patch.
9299         (test_livesrc_sink): Sync on the state.
9300
9301         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9302         the state change patch.
9303
9304         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9305         change patch.
9306
9307         * check/gst/gstbin.c: Merge in some style fixes and additional
9308         checks from Wim's state change patch.
9309
9310 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9311
9312         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9313         (gst_type_find_helper):
9314           Check whether we have the requested data already in our list of
9315           cached buffers before pulling a new buffer; also make the buffer
9316           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9317
9318 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9319
9320         * gst/gstcaps.c:
9321         * gst/gstevent.c:
9322           doc updates
9323         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9324           don't use long long, it's not portable.  Replacing with
9325           gint64 seems to work; let's hope no skeletons fall out of the closet.
9326
9327 2005-10-10  Andy Wingo  <wingo@pobox.com>
9328
9329         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9330
9331 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
9332
9333         * docs/gst/gstreamer-sections.txt:
9334         * gst/gstevent.c:
9335         * gst/gstevent.h:
9336         * gst/gstinfo.c:
9337         * gst/gstinfo.h:
9338         * gst/gstmessage.c: (gst_message_parse_state_changed):
9339         * gst/gstpad.c:
9340         * gst/gstpad.h:
9341           more docs, fix compilation
9342
9343 2005-10-09  Philippe Khalaf <burger@speedy.org>
9344         * gst/gstmessage.c:
9345           Fixed a few forgotten variables on previous commit
9346
9347 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9348
9349         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9350           Fix evil typefind crasher: getrange() might return a short
9351           buffer at the end of a file, but gst_type_find_peek() must
9352           either return the full data as requested or NULL, but
9353           never a short buffer.
9354
9355 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9356
9357         * gst/gstmessage.c: (gst_message_new_state_changed),
9358         (gst_message_parse_state_changed):
9359         * gst/gstmessage.h:
9360           don't use "new", it's a C++ keyword
9361
9362 2005-10-08  Wim Taymans  <wim@fluendo.com>
9363
9364         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9365         * gst/gstelement.c: (gst_element_post_message):
9366         * gst/gstpipeline.c: (gst_pipeline_change_state):
9367         Small docs and debug updates.
9368
9369 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9370
9371         * docs/gst/gstreamer-sections.txt:
9372         * gst/gstelementfactory.c:
9373         * gst/gstevent.c:
9374         * gst/gsttaglist.c:
9375           more docs
9376
9377 2005-10-08  Wim Taymans  <wim@fluendo.com>
9378
9379         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9380         (gst_bin_dispose), (bin_bus_handler):
9381         Fix typos, add comments.
9382         Clear EOS list when going to PAUSED from any direction and do it
9383         in a threadsafe way.
9384         Get base time in a threadsafe way too.
9385         Fix confusing debug in the change_state function.
9386         Various other small cleanups.
9387         
9388         * gst/gstelement.c: (gst_element_post_message):
9389         Fix very verbose bus posting code.
9390
9391         * gst/gstpipeline.c: (gst_pipeline_class_init),
9392         (gst_pipeline_set_property), (gst_pipeline_get_property),
9393         (gst_pipeline_change_state):
9394         Small ARG_ -> PROP_ cleanup
9395
9396 2005-10-08  Wim Taymans  <wim@fluendo.com>
9397
9398         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9399         Do a less CPU demanding EOS check because we can.
9400
9401 2005-10-08  Wim Taymans  <wim@fluendo.com>
9402
9403         * libs/gst/dataprotocol/dataprotocol.c:
9404         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9405         (gst_dp_packet_from_event):
9406         * libs/gst/dataprotocol/dataprotocol.h:
9407         * libs/gst/dataprotocol/dp-private.h:
9408         It's about time we bump the version number.
9409         Since event types don't fit in the guint8 anymore describing
9410         the payload type, make payload type 16 bits wide.
9411
9412 2005-10-08  Wim Taymans  <wim@fluendo.com>
9413
9414         * docs/design/part-TODO.txt:
9415         * docs/design/part-clocks.txt:
9416         * docs/design/part-events.txt:
9417         * docs/design/part-gstbin.txt:
9418         * docs/design/part-gstelement.txt:
9419         * docs/design/part-gstpipeline.txt:
9420         * docs/design/part-live-source.txt:
9421         * docs/design/part-messages.txt:
9422         * docs/design/part-overview.txt:
9423         * docs/design/part-states.txt:
9424         Many doc updates.
9425
9426 2005-10-08  Wim Taymans  <wim@fluendo.com>
9427
9428         * gst/gstevent.c:
9429         * gst/gstevent.h:
9430         Fix event quark registration.
9431         Add some space between events so we can insert them in the
9432         right groups.
9433
9434 2005-10-08  Wim Taymans  <wim@fluendo.com>
9435
9436         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9437         (gst_base_sink_handle_buffer):
9438         Better log message.
9439
9440         * gst/gstbus.h:
9441         * gst/gstelement.h:
9442         More docs.
9443
9444         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9445         (gst_queue_set_property), (gst_queue_get_property):
9446         * gst/gstqueue.h:
9447         Remove old unused properties.
9448
9449 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9450         * docs/gst/gstreamer-sections.txt:
9451         * gst/gstmessage.c:
9452         * gst/gstmessage.h:
9453         * gst/gstminiobject.c:
9454         * gst/gstminiobject.h:
9455         * gst/gstobject.h:
9456         * gst/gstpad.h:
9457         * gst/gstutils.h:
9458           lots of new docs and doc fixes
9459
9460 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9461
9462         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9463         * gst/gstplugin.h:
9464         * gst/gstregistry.c: (gst_registry_lookup_locked),
9465         (gst_registry_scan_path_level):
9466         * gst/gstregistryxml.c: (load_plugin):
9467           Only ever load one plugin for a given plugin basename.
9468           This ensures correct overriding of GST_PLUGIN_PATH over
9469           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9470           system installed plugins.
9471
9472 2005-10-08  Wim Taymans  <wim@fluendo.com>
9473
9474         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9475         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9476         Prepare for doing QOS.
9477
9478 2005-10-08  Wim Taymans  <wim@fluendo.com>
9479
9480         * check/gst/gstbin.c: (GST_START_TEST):
9481         * check/pipelines/cleanup.c: (GST_START_TEST):
9482         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9483         Allow new clock message too.
9484
9485 2005-10-08  Wim Taymans  <wim@fluendo.com>
9486
9487         * gst/gstmessage.c: (gst_message_new_error),
9488         (gst_message_new_warning), (gst_message_new_tag),
9489         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9490         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9491         (gst_message_new_segment_start), (gst_message_new_segment_done),
9492         (gst_message_parse_state_changed),
9493         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9494         (gst_message_parse_new_clock):
9495         * gst/gstmessage.h:
9496         Also carry the clock in question.
9497
9498 2005-10-08  Wim Taymans  <wim@fluendo.com>
9499
9500         * gst/gstmessage.c: (gst_message_new_custom),
9501         (gst_message_new_eos), (gst_message_new_error),
9502         (gst_message_new_warning), (gst_message_new_tag),
9503         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9504         (gst_message_new_new_clock), (gst_message_new_segment_start),
9505         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9506         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9507         * gst/gstmessage.h:
9508         Clean up.
9509         Added clock related messages.
9510
9511         * gst/gstpipeline.c: (gst_pipeline_change_state):
9512         Post message when the clock changed.
9513
9514         * tools/gst-launch.c: (event_loop):
9515         Print new clock.
9516
9517 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9518
9519         * tools/gst-inspect.c: (print_element_properties_info):
9520           Can't pass NULL strings to g_print() on windows.
9521
9522 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9523
9524         * docs/Makefile.am:
9525         * docs/gst/Makefile.am:
9526         * docs/gst/gstreamer-docs.sgml:
9527         * docs/gst/running.xml:
9528         * docs/version.entities.in:
9529           add a chapter on running GStreamer.
9530           document GST_DEBUG and GST_PLUGIN* env vars
9531
9532 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9533
9534         * Makefile.am:
9535           remove include dir
9536         * configure.ac:
9537           remove PLUGINS_BUILDDIR stuff
9538         * gst/gst.c: (init_post):
9539           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9540         * idiottest.mak:
9541           remove, it was condescending and not needed
9542
9543 2005-10-08  Wim Taymans  <wim@fluendo.com>
9544
9545         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9546         (gst_base_sink_handle_object), (gst_base_sink_event),
9547         (gst_base_sink_wait), (gst_base_sink_handle_event),
9548         (gst_base_sink_change_state):
9549         * gst/base/gstbasesink.h:
9550         Repost EOS message while going to PLAYING if still EOS.
9551         Make sure that when receiving a FLUSH_START we don't attempt
9552         to sync on the clock anymore.
9553
9554 2005-10-08  Wim Taymans  <wim@fluendo.com>
9555
9556         * tools/gst-launch.c: (event_loop):
9557         Better message printout.
9558
9559 2005-10-08  Wim Taymans  <wim@fluendo.com>
9560
9561         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9562         (gst_bin_child_proxy_get_children_count):
9563         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9564         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9565         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9566         (gst_child_proxy_set_valist):
9567         * gst/parse/grammar.y:
9568         Make ChildProxy threadsafe and fix mem leaks.
9569
9570 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9571
9572         * gst/gst.c: (init_post):
9573           debug the GST_PLUGIN_ env vars
9574
9575 2005-10-08  Wim Taymans  <wim@fluendo.com>
9576
9577         * check/gst/gstbin.c: (GST_START_TEST):
9578         * check/gst/gstmessage.c: (GST_START_TEST):
9579         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9580         * gst/gstelement.c: (gst_element_commit_state),
9581         (gst_element_lost_state):
9582         * gst/gstmessage.c: (gst_message_new_state_changed),
9583         (gst_message_parse_state_changed):
9584         * gst/gstmessage.h:
9585         * tools/gst-launch.c: (event_loop):
9586         Added extra field to STATE_CHANGE message with the pending
9587         state, which will be different from the new state soon.
9588
9589 2005-10-08  Wim Taymans  <wim@fluendo.com>
9590
9591         * gst/gstbus.c: (gst_bus_pop):
9592         * gst/gstclock.c:
9593         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9594         Small cleanups and doc updates.
9595
9596 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9597
9598         * gst/gst.c: (init_pre):
9599         * gst/gstbin.c: (gst_bin_add_func):
9600           log distributing clocks and base time
9601         * gst/gstregistry.c: (gst_registry_add_plugin),
9602         (gst_registry_scan_path_level), (gst_registry_scan_path):
9603           clean up the debugging output a little
9604         * gst/gstutils.c: (gst_element_state_get_name):
9605           warn about a memleak (I've actually seen this be used, though
9606           it was probably a bug)
9607
9608 2005-10-07  Wim Taymans  <wim@fluendo.com>
9609
9610         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9611         (gst_base_src_init), (gst_base_src_default_newsegment),
9612         (gst_base_src_newsegment), (gst_base_src_do_seek),
9613         (gst_base_src_loop), (gst_base_src_start):
9614         * gst/base/gstbasesrc.h:
9615         Make the newsegment event customizable by subclasses.
9616
9617 2005-10-07  Wim Taymans  <wim@fluendo.com>
9618
9619         * gst/gstevent.c: (gst_event_new_buffersize),
9620         (gst_event_parse_buffersize):
9621         * gst/gstevent.h:
9622         New event for future idea.
9623
9624 2005-10-07  Andy Wingo  <wingo@pobox.com>
9625
9626         * gst/gstelement.c (gst_element_post_message): Doc update.
9627
9628         * docs/gst/gstreamer-sections.txt: Update.
9629
9630         * gst/gstmessage.c (gst_message_new_application): Made into a
9631         function like honest API calls.
9632         (gst_message_new_element): New message type.
9633
9634         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9635
9636         * check/elements/fakesrc.c (test_no_preroll): New check, checks
9637         that setting a live fakesrc to PAUSED returns NO_PREROLL both
9638         times.
9639
9640         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9641         NO_PREROLL from gst_element_change_state to fall through.
9642
9643 2005-10-07  Wim Taymans  <wim@fluendo.com>
9644
9645         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9646         (gst_ghost_pad_do_activate_push):
9647         Activating a ghostpad with no internal pad in push mode
9648         is ok.
9649
9650 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9651
9652         * gst/gstobject.h:
9653           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9654           Fixes compilation on Windows.
9655
9656 2005-10-07  Michael Smith <msmith@fluendo.com>
9657
9658         * tools/gst-inspect.c:
9659           Print out feature and plugin count at the end when printing out
9660           all features.
9661
9662 2005-10-04  Michael Smith <msmith@fluendo.com>
9663
9664         * gst/gsterror.c: (_gst_stream_errors_init):
9665           Add another error string used in a few existing plugins.
9666
9667         * gst/gstplugin.c:
9668         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9669         * tools/gst-inspect.c: (print_element_info):
9670           When a feature disappears from a plugin (and the feature exists in
9671           the cached registry file), things went horribly wrong. This isn't a
9672           complete fix, we should actually be removing the 'missing' features
9673           from the features list when we load the actual plugin. That's not
9674           yet implemented. 
9675
9676 2005-10-04  Johan Dahlin  <johan@gnome.org>
9677
9678         * check/gst/gstiterator.c: (GST_START_TEST):
9679         * gst/gstbin.c: (gst_bin_iterate_elements),
9680         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9681         * gst/gstelement.c: (gst_element_iterate_pads):
9682         * gst/gstformat.c: (gst_format_iterate_definitions):
9683         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9684         (gst_iterator_new_list), (gst_iterator_filter):
9685         * gst/gstiterator.h:
9686         * gst/gstquery.c: (gst_query_type_iterate_definitions):
9687         Add a GType to GstIterator, update callsites and tests.
9688
9689 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9690
9691         * gst/gstpad.c: (gst_pad_event_default_dispatch):
9692           give events a chance to be handled by event probes when the pad
9693           is not linked
9694
9695 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9696
9697         * gst/gstevent.c: (gst_event_type_get_name),
9698         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9699         * gst/gstevent.h:
9700           add string representations for event types
9701
9702 2005-10-06  Wim Taymans  <wim@fluendo.com>
9703
9704         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9705         Don't use NULL pointers.
9706
9707 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9708
9709         * gst/gst_private.h:
9710         * gst/gstbus.c:
9711         * gst/gstelement.c:
9712         * gst/gstinfo.c:
9713         * gst/gstpluginfeature.c:
9714           widen the debug category in output to fit the biggest one we have
9715           add a bus category and use it
9716           play with the colors
9717           fix up some categories
9718
9719 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9720
9721         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9722           add push activation of sink ghost pads.
9723           Andye, please verify
9724
9725 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9726
9727         * gst/gstutils.c: (gst_element_link_pads):
9728           fix a bug in the case where neither element has a pad
9729         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9730           add a test for that case
9731
9732 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9733
9734         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9735           emit have-data before checking for peers.  This allows
9736           for probe handlers to connect elements.  This helps autopluggers.
9737         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9738         (gst_pad_suite):
9739           add six checks, linked/unlinked with no/true/false probe
9740
9741 2005-10-04  Wim Taymans  <wim@fluendo.com>
9742
9743         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9744         (gst_fake_sink_event), (gst_fake_sink_preroll),
9745         (gst_fake_sink_render), (gst_fake_sink_change_state):
9746         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9747         (gst_fake_src_get_property), (gst_fake_src_create),
9748         (gst_fake_src_stop):
9749         * gst/elements/gstidentity.c: (gst_identity_stop):
9750         Protect last_message with lock.
9751
9752 2005-10-04  Edward Hervey  <edward@fluendo.com>
9753
9754         * gst/gstformat.h: 
9755         Added precision in the comments for GST_FORMAT_DEFAULT
9756
9757 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
9758
9759         * tools/gst-launch.c: (main):
9760           Don't try to run erroneous pipelines.
9761
9762 2005-10-04  Julien MOUTTE  <julien@moutte.net>
9763
9764         * gst/gstbus.c: We don't need this header.
9765
9766 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9767
9768         * configure.ac:
9769           back to development
9770
9771 === release 0.9.3 ===
9772
9773 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9774
9775         * README:
9776         * configure.ac:
9777           Releasing 0.9.3, "Unregistered"
9778
9779 2005-10-03  Andy Wingo  <wingo@pobox.com>
9780
9781         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9782         whereby calling a pad's activatepush() function can start a thread
9783         that starts to push or pull before the pad gets the FLUSHING flag
9784         unset. Hack around it by holding the stream lock until the flag is
9785         set. Need to replace this with a proper solution. Together with
9786         the ghost pad fixes, this fixes mp3 playing/tagreading.
9787
9788         * docs/design/part-gstghostpad.txt: Add a note about activation of
9789         proxy pads outside of ghost pads.
9790
9791         * gst/gstghostpad.c: Implement the ghost pad activation design.
9792
9793 2005-10-02  Andy Wingo  <wingo@pobox.com>
9794
9795         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9796         It is volatile, after all.
9797
9798         * docs/design/part-gstghostpad.txt: Flesh out activation with
9799         ghost pads.
9800
9801         * gst/base/gstbasesrc.c (gst_base_src_init): Use
9802         GST_DEBUG_FUNCPTR.
9803
9804 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9805
9806         * configure.ac:
9807           Fix (unused) AM_CONDITIONAL tests.
9808
9809 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
9810
9811         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9812
9813         * gst/gstutils.c: (gst_pad_query_convert):
9814           Add assertion that makes sure src_val is >=0, just like
9815           gst_query_new_convert() has. (#315895)
9816
9817 2005-09-30  Edward Hervey  <edward@fluendo.com>
9818
9819         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
9820         Let's not iterate pads we're not interested in, it avoids getting 
9821         sky-high refcounts on sinkpad.
9822
9823 2005-09-30  Wim Taymans  <wim@fluendo.com>
9824
9825         * gst/gstelement.c: (gst_element_set_state),
9826         (gst_element_change_state):
9827         Small tweak, element in ASYNC remains ASYNC.
9828
9829 2005-09-30  Wim Taymans  <wim@fluendo.com>
9830
9831         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9832         Only error is an error.
9833
9834         * gst/gstbin.c: (gst_bin_change_state):
9835         Better debugging.
9836
9837         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
9838         Also call pad_block in pad alloc.
9839
9840         * gst/gstutils.c: (gst_flow_get_name):
9841         Better debugging.
9842
9843 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9844
9845         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9846         (gst_base_src_get_range):
9847           Fix documentation typos. Add some more debug info.
9848
9849 2005-09-29  David Schleef  <ds@schleef.org>
9850
9851         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9852           more end-user friendly.
9853         * tools/gst-inspect.c: (main): Check if command-line argument is
9854           a file and attempt to load that file as a plugin.
9855
9856 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9857
9858         * check/gst/gstbin.c:
9859         * check/states/sinks.c:
9860           fix tests for the new warning
9861         * check/gst/gstpipeline.c:
9862           add a test for pipeline and bus interaction
9863         * gst/gstelement.c:
9864           elements should be NULL if they get disposed; add a warning if not
9865
9866 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9867
9868         * gst/gstobject.c:
9869           for 2.6 refcounting, make debug log more correct by printing
9870           the actual refcounts at the time of swap (Wim)
9871
9872 2005-09-29  Andy Wingo  <wingo@pobox.com>
9873
9874         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9875         removes signal watches previously added via
9876         gst_bus_add_signal_watch.
9877         (gst_bus_add_signal_watch): Don't return the source id, just store
9878         it on the bus if there wasn't an id already.
9879
9880         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9881         add_signal_watch and remove_signal_watch.
9882
9883 2005-09-29  Edward Hervey  <edward@fluendo.com>
9884
9885         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
9886         Better if we actually iterate the list :)
9887
9888 2005-09-29  Wim Taymans  <wim@fluendo.com>
9889
9890         * check/gst/gstbin.c: (GST_START_TEST):
9891         Change for new bus API.
9892
9893         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9894         (send_messages), (GST_START_TEST), (gstbus_suite):
9895         Change for new bus signal API.
9896
9897         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9898         (gst_bus_source_prepare), (gst_bus_source_check),
9899         (gst_bus_create_watch), (gst_bus_add_watch_full),
9900         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9901         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9902         * gst/gstbus.h:
9903         Remove support for multiple GSources operating on different
9904         message types as it is too complex and unneeded when using
9905         signals.
9906         Added support for receiving signals from the bus.
9907
9908 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9909
9910         * docs/libs/tmpl/gstdataprotocol.sgml:
9911         * docs/manual/advanced-dataaccess.xml:
9912         * gst/elements/gstcapsfilter.c:
9913         * gst/gstutils.c:
9914           rename filter-caps to caps property
9915
9916 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9917
9918         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9919           More robust fraction string parsing.
9920
9921         * docs/pwg/appendix-porting.xml:
9922           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9923
9924 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9925
9926         * gst/gstcaps.c: (gst_caps_do_simplify):
9927           Thou shalt not free a structure and then continue using it
9928           in the next loop iteration.
9929
9930         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9931         (gst_caps_suite):
9932           Add test case for caps simplification.
9933
9934 2005-09-29  Wim Taymans  <wim@fluendo.com>
9935
9936         * check/gst/gstbin.c: (GST_START_TEST):
9937         Oops.
9938
9939 2005-09-29  Wim Taymans  <wim@fluendo.com>
9940
9941         * check/gst/gstbin.c: (GST_START_TEST):
9942         Add bus to bin.
9943
9944         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9945         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9946         (find_element), (gst_bin_sort_iterator_next),
9947         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9948         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9949         (gst_bin_change_state), (gst_bin_dispose):
9950         A bin does not have a bus, it gets the bus from the parent.
9951
9952         * gst/gstelement.c: (gst_element_requires_clock),
9953         (gst_element_provides_clock), (gst_element_is_indexable),
9954         (gst_element_is_locked_state), (gst_element_change_state),
9955         (gst_element_set_bus_func):
9956         Small cleanups.
9957
9958         * gst/gstpipeline.c: (gst_pipeline_class_init),
9959         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9960         The pipeline provides a bus.
9961
9962 2005-09-28  Johan Dahlin  <johan@gnome.org>
9963
9964         * gst/gstmessage.c (gst_message_parse_state_changed): Use
9965         gst_structure_get_enum instead of gst_structure_get_int
9966
9967         * gst/gststructure.c (gst_structure_get_enum): Impl.
9968
9969         * gst/gststructure.h (gst_structure_get_enum): Add
9970
9971         * docs/gst/gstreamer-sections.txt: Ditto
9972
9973         * gst/gstmessage.c (gst_message_new_state_changed): Use
9974         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
9975         which does introspection.
9976         Reviewed by Christian Schaller
9977
9978 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9979
9980         * gst/gstinfo.c: (gst_debug_log_default):
9981           don't do dummy g_strdup()s
9982         * libs/gst/controller/gstcontroller.c:
9983         (on_object_controlled_property_changed),
9984         (gst_controlled_property_new), (gst_controller_new_valist),
9985         (gst_controller_new_list),
9986         (gst_controller_remove_properties_valist), (gst_controller_set),
9987         (gst_controller_get), (gst_controller_sync_values),
9988         (gst_controller_get_value_array), (_gst_controller_class_init),
9989         (gst_controller_get_type):
9990         * libs/gst/controller/gstcontroller.h:
9991         * libs/gst/controller/gstinterpolation.c:
9992         (gst_controlled_property_find_timed_value_node):
9993           convert // to /**/ comments
9994
9995 2005-09-28  Wim Taymans  <wim@fluendo.com>
9996
9997         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
9998         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
9999         (gst_bus_sync_signal_handler):
10000         * gst/gstbus.h:
10001         Added async-message and sync-message signals to the bus.
10002         Added helper BusFunc to emit signals for all posted messages.
10003
10004         * gst/gstmessage.c: (gst_message_type_get_name),
10005         (gst_message_type_to_quark), (gst_message_get_type):
10006         * gst/gstmessage.h:
10007         Register quarks for message names.
10008
10009 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10010
10011         * docs/libs/gstreamer-libs-sections.txt:
10012         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10013         (gst_controller_new_list):
10014         * libs/gst/controller/gstcontroller.h:
10015           added another constructor for language bindings
10016
10017 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10018
10019         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10020           add another check
10021         * gst/gstbus.c:
10022           add some doc
10023         * gst/gstinfo.c: (_gst_debug_init):
10024           slightly more readable color for refcount debugging
10025
10026 2005-09-28  Wim Taymans  <wim@fluendo.com>
10027
10028         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10029         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10030         (find_element), (gst_bin_sort_iterator_next),
10031         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10032         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10033         (gst_bin_change_state), (gst_bin_dispose):
10034         Small doc fixes. get_clock -> provide_clock.
10035
10036         * gst/gstelement.c: (gst_element_class_init),
10037         (gst_element_provides_clock), (gst_element_provide_clock),
10038         (gst_element_get_clock), (gst_element_commit_state),
10039         (gst_element_lost_state):
10040         * gst/gstelement.h:
10041         Make get/set_clock() symetric. Add provide_clock vmethod since
10042         that is actually what this function does.
10043
10044         * gst/gstpipeline.c: (gst_pipeline_class_init),
10045         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10046         (gst_pipeline_get_clock):
10047         get_clock -> provide_clock.
10048
10049 2005-09-28  Andy Wingo  <wingo@pobox.com>
10050
10051         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10052         lieu of real docs...
10053
10054         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10055
10056 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10057
10058         * gst/elements/gstcapsfilter.c:
10059         * gst/elements/gstfakesink.c:
10060         * gst/elements/gstfakesrc.c:
10061         * gst/elements/gstfdsink.c:
10062         * gst/elements/gstfdsrc.c:
10063         * gst/elements/gstfilesink.c:
10064         * gst/elements/gstfilesrc.c:
10065         * gst/elements/gstidentity.c:
10066         * gst/elements/gsttee.c:
10067         * gst/elements/gsttypefindelement.c:
10068           Make element details static.
10069
10070 2005-09-28  Wim Taymans  <wim@fluendo.com>
10071
10072         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10073         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10074         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10075         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10076         (gst_bin_change_state), (gst_bin_dispose):
10077         Some documentation updates.
10078         Clean up dispose handlers.
10079
10080         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10081         * gst/gstpad.c: (gst_pad_dispose):
10082         Clean up dispose handler.
10083
10084         * gst/gstpipeline.c: (gst_pipeline_change_state):
10085         Removed spurious UNLOCK.
10086
10087 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10088
10089         * docs/gst/gstreamer-sections.txt:
10090         * gst/base/gstbasesrc.h:
10091         * gst/gstelement.h:
10092         * gst/gstevent.h:
10093         * gst/gstobject.h:
10094         * gst/gstpad.h:
10095         * gst/gstpipeline.c:
10096         * gst/gstpipeline.h:
10097         * gst/gstutils.h:
10098         * gst/gstxml.h:
10099           added two new functions to the docs
10100                 documents all undocumented GstXXXFlags
10101                 completed some incomplete docs 
10102
10103 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10104
10105         * gst/gstbin.c: (gst_bin_dispose):
10106         * gst/gstelement.c: (gst_element_dispose):
10107           remove now useless and leaky resurrection code in dispose
10108         * gst/base/gstbasesrc.c: (gst_base_src_init):
10109         * gst/gstelementfactory.c: (gst_element_factory_create):
10110         * gst/gstobject.c: (gst_object_set_parent):
10111           add some debugging
10112
10113 2005-09-27  Wim Taymans  <wim@fluendo.com>
10114
10115         * docs/design/part-TODO.txt:
10116         Update TODO.
10117
10118         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10119         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10120         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10121         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10122         (gst_bin_change_state):
10123         * gst/gstelement.h:
10124         Remove element variable, we keep element info in the iterator now.
10125
10126 2005-09-27  Andy Wingo  <wingo@pobox.com>
10127
10128         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10129         values.
10130
10131 2005-09-27  Wim Taymans  <wim@fluendo.com>
10132
10133         * check/gst/gstbin.c: (GST_START_TEST):
10134         Enable check that works now.
10135
10136         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10137         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10138         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10139         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10140         (gst_bin_change_state):
10141         * gst/gstbin.h:
10142         Redid the state change algorithm using a topological sort algo.
10143         Handles all cases correctly.
10144         Exposed iterator for state change order.
10145
10146         * gst/gstelement.h:
10147         Temp storage for state changes. Need to get rid of this soon.
10148
10149 2005-09-27  Wim Taymans  <wim@fluendo.com>
10150
10151         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10152         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10153         (link_fold_func), (gst_pad_proxy_setcaps):
10154         Leak fixes, the fold functions need to unref the passed object and
10155         _get_parent_*() returns ref to parent.
10156
10157 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10158
10159         * check/gst/gstbuffer.c: (test_make_writable):
10160           Plug leak in test case and fix 'make check-valgrind'
10161
10162 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10163
10164         * gst/gstbuffer.c: (gst_subbuffer_init):
10165           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10166           works correctly in all circumstances (we could have just copied
10167           the parent buffer's readonly flag, but conceptually it seems
10168           cleaner to mark all subbuffers as read-only). (based on patch
10169           by Alessandro Decina, #314710).
10170         
10171         * check/gst/gstbuffer.c: (create_read_only_buffer),
10172         (test_make_writable), (test_subbuffer_make_writable),
10173         (gst_test_suite):
10174           Add some tests for gst_buffer_make_writable().
10175
10176 2005-09-27  Wim Taymans  <wim@fluendo.com>
10177
10178         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10179         use gst_object_has_ancestor().
10180
10181         * gst/gstobject.c: (gst_object_has_ancestor):
10182         * gst/gstobject.h:
10183         gst_object_has_ancestor() copied from gstbin.c as it is a
10184         usefull function.
10185
10186         * tests/instantiate/create.c: (create_all_elements):
10187         * tests/lat.c: (handoff_src), (handoff_sink):
10188         * tests/sched/runxml.c: (main):
10189         * tests/seeking/seeking1.c: (main):
10190         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10191         (main):
10192         Fix compilation of some tests.
10193
10194 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10195
10196         * gst/gsterror.h:
10197           Remove comment. GST_TYPE_G_ERROR is here to stay,
10198           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10199           (#316961, #300610).
10200
10201 2005-09-26  Wim Taymans  <wim@fluendo.com>
10202
10203         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10204         Added check that shows error in state change order.
10205
10206 2005-09-26  Wim Taymans  <wim@fluendo.com>
10207
10208         * gst/gstbin.c: (gst_bin_change_state):
10209         Make state change function use 3 queues again, we were
10210         adding elements in the wrong order.
10211
10212         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10213         Some debug info,
10214
10215         * gst/gstpad.c: (gst_pad_dispose):
10216         Added some debug info first.
10217
10218 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10219
10220         * docs/design/draft-push-pull.txt:
10221         * docs/design/part-events.txt:
10222         * docs/design/part-overview.txt:
10223         * docs/design/part-scheduling.txt:
10224           Replace all _pull_region() with _pull_range()
10225           
10226 2005-09-26  Andy Wingo  <wingo@pobox.com>
10227
10228         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10229
10230         * check/gst-libs/controller.c: Update for controller api change.
10231
10232         * configure.ac: 
10233         * tests/Makefile.am:
10234         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10235         over by GLib bug 118439.
10236         
10237         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10238         routines to a function.
10239
10240         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10241
10242         * libs/gst/controller/gsthelper.c:
10243         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10244         (gst_object_sync_values): Renamed from sink_values. Ugh.
10245
10246         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10247
10248         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10249         Renamed from controller_key, as it is exported.
10250
10251         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10252
10253 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10254
10255         * gst/Makefile.am:
10256         * gst/gst.h:
10257         * gst/gstpad.h:
10258         * gst/gstpadtemplate.h:
10259         * gst/gstquery.c:
10260         * gst/gstquery.h:
10261         * gst/gstqueryutils.c:
10262         * gst/gstqueryutils.h:
10263           remove queryutils headers after moving the two used functions
10264           to gstquery.  also fixes build problem for gstsiddec
10265
10266 2005-09-26  Michael Smith <msmith@fluendo.com>
10267
10268         * tools/gst-launch.1.in:
10269         Correct documentation in manpage of debug syntax
10270
10271 2005-09-26  Wim Taymans  <wim@fluendo.com>
10272
10273         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10274         (gst_base_src_is_seekable), (gst_base_src_change_state):
10275         Some more debugging info.
10276
10277 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10278
10279         * docs/gst/gstreamer-sections.txt:
10280         * gst/base/gstbasetransform.h:
10281         * gst/gstindex.h:
10282           added more docs
10283
10284 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10285
10286         * docs/gst/.cvsignore:
10287         * docs/gst/tmpl/.cvsignore:
10288         * docs/gst/tmpl/gstpipeline.sgml:
10289         * docs/gst/tmpl/gstplugin.sgml:
10290         * gst/gstpipeline.c:
10291         * gst/gstplugin.c:
10292         * gst/gstplugin.h:
10293           inlined the last two docs files
10294           removed the tmpl directory from cvs (no more conflicts here!)
10295
10296 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10297
10298         * docs/gst/gstreamer-sections.txt:
10299         * docs/gst/tmpl/.cvsignore:
10300         * docs/gst/tmpl/gstpad.sgml:
10301         * docs/gst/tmpl/gstpadtemplate.sgml:
10302         * gst/Makefile.am:
10303         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10304         (gst_pad_finalize), (gst_pad_set_pad_template):
10305         * gst/gstpad.h:
10306         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10307         (gst_pad_template_class_init), (gst_pad_template_init),
10308         (gst_pad_template_dispose), (name_is_valid),
10309         (gst_static_pad_template_get), (gst_pad_template_new),
10310         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10311         (gst_pad_template_pad_created):
10312         * gst/gstpadtemplate.h:
10313           inlined two more docs
10314           factored gstpadtemplate out of gstpad
10315
10316 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
10317
10318         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10319         (test_children_state_change_order_semi_sink):
10320           Fix test case: we can't rely on a fixed state change order when
10321           going from READY => PAUSED because the sink might commit its 
10322           new state first when the first buffer created by the source 
10323           reaches the sink before the source has finished its change state.
10324           (Test case still fails at times, see #316856, comment 5 onwards)
10325
10326 2005-09-24  Wim Taymans  <wim@fluendo.com>
10327
10328         * docs/design/part-events.txt:
10329         * docs/design/part-gstbus.txt:
10330         * docs/design/part-gstpipeline.txt:
10331         * docs/design/part-messages.txt:
10332         * docs/design/part-overview.txt:
10333         * docs/design/part-segments.txt:
10334         * gst/gstbin.c:
10335         * gst/gstbuffer.c:
10336         * gst/gstclock.c:
10337         * gst/gstelement.c:
10338         * gst/gstevent.c:
10339         * gst/gstfilter.c:
10340         * gst/gstiterator.c:
10341         Various documentation updates.
10342
10343 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10344
10345         * gst/gstclock.h:
10346           Well, that's embarassing.  Luckily we weren't using
10347           GST_CLOCK_DIFF anywhere.
10348
10349 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10350
10351         * common/gtk-doc.mak:
10352           don't fail on building XML, FC4 slave shows a bunch of doc
10353           missing bits that I don't get
10354         * gst/gstpad.c:
10355         * gst/gstpipeline.c:
10356         * gst/gststructure.c:
10357           some doc updates
10358
10359 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10360
10361         * docs/design/part-gstbin.txt:
10362         * docs/design/part-gstbus.txt:
10363         * gst/gstbus.c:
10364           Add blurb about how the bus goes into flushing mode and
10365           drops all messages when its bin goes from READY into NULL 
10366           state.
10367
10368 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10369
10370         * docs/gst/gstreamer-sections.txt:
10371         * gst/gststructure.c: (gst_structure_get_clock_time):
10372         * gst/gststructure.h:
10373           add a method to get a GstClockTime out of a structure
10374
10375 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10376
10377         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10378         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10379           Added test to check state change order in bins (can still be made
10380           to fail here under heavy disk load; bails out with 'Push on pad
10381           fakesink:sink0, but it was not activated in push mode').
10382
10383         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10384           Fix state change order when there is only a semi sink (#316856)
10385
10386         * gst/gstbus.c: (gst_bus_class_init):
10387           Use _class_peek_parent(), not _class_ref(); fix docs to say
10388           'default main context' instead of 'mainloop' where that is
10389           what's meant.
10390
10391         * gst/gstelement.c: (gst_element_commit_state),
10392         (gst_element_set_state):
10393           Fix typos in debug messages
10394
10395 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10396
10397         * docs/README:
10398         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10399         * gst/gstpluginfeature.c:
10400         * gst/gstutils.c:
10401           various doc updates
10402         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10403           change an assert into an error until it gets fixed properly
10404
10405 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10406
10407         * docs/gst/gstreamer-sections.txt:
10408         * docs/gst/tmpl/.cvsignore:
10409         * docs/gst/tmpl/gstelement.sgml:
10410         * docs/gst/tmpl/gstinfo.sgml:
10411         * docs/gst/tmpl/gstobject.sgml:
10412         * gst/gstelement.c:
10413         * gst/gstelement.h:
10414         * gst/gstinfo.c:
10415         * gst/gstinfo.h:
10416         * gst/gstobject.c: (gst_object_class_init):
10417         * gst/gstobject.h:
10418           inlined 3 more biiiig doc files and added some missing docs on the fly
10419
10420 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10421
10422         * check/gst/.cvsignore:
10423         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10424         * gst/gstregistryxml.c: (load_plugin),
10425         (gst_registry_xml_save_plugin):
10426           put back source in registry.  add checks for find_plugin.
10427         * testsuite/states/bin.c: (assert_state), (empty_bin),
10428         (test_adding_one_element), (main):
10429         * testsuite/states/locked.c: (main):
10430           some compile/run fixes
10431
10432 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10433
10434         * check/gst/gstvalue.c: (GST_START_TEST):
10435           fix leaks in the test itself
10436
10437 2005-09-22  Wim Taymans  <wim@fluendo.com>
10438
10439         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10440         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10441         (gst_base_sink_query):
10442         Prepare for more accurate position reporting and query
10443         handling.
10444
10445         * gst/gstelement.c: (gst_element_send_event),
10446         (gst_element_set_state):
10447         Add some comment.
10448
10449 2005-09-22  Wim Taymans  <wim@fluendo.com>
10450
10451         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10452         (gst_query_parse_segment):
10453         * gst/gstquery.h:
10454         More documentation.
10455         Add segment query for future use.
10456
10457 2005-09-22  Wim Taymans  <wim@fluendo.com>
10458
10459         * gst/gstbin.c: (gst_bin_add_func):
10460         Some more debug info.
10461
10462         * gst/gstelement.c: (gst_element_send_event):
10463         Simplify send_event
10464
10465         * gst/gstelement.h:
10466         Don't know how flags got broken.
10467
10468         * gst/gstquery.h:
10469         Added new query.
10470
10471 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10472
10473         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10474           Add simplistic test suite for GST_TYPE_DATE serialisation and
10475           deserialisation.
10476
10477 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10478
10479         * docs/gst/gstreamer-sections.txt:
10480         * gst/gststructure.c: (gst_structure_set_valist),
10481         (gst_structure_get_date):
10482         * gst/gststructure.h:
10483         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10484         (gst_date_copy), (gst_value_compare_date),
10485         (gst_value_serialize_date), (gst_value_deserialize_date),
10486         (gst_value_transform_date_string),
10487         (gst_value_transform_string_date), (_gst_value_initialize):
10488         * gst/gstvalue.h:
10489           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10490           bunch of utility functions along with a hack that checks that
10491           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10492           is required. Part of the grand scheme in #170777.
10493
10494 2005-09-22  Andy Wingo  <wingo@pobox.com>
10495
10496         * gst/gstconfig.h.in: Psych out gtk-doc.
10497
10498         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10499
10500         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10501
10502         * tools/gst-inspect.c (print_element_list): Plug some
10503         inconsequential leaks.
10504
10505         * gst/gstregistry.c (gst_registry_get_default): Doc.
10506
10507         * check/gst/gstplugin.c: 
10508         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10509         * gst/gstelementfactory.c (gst_element_factory_create): 
10510         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10511         refcount changes.
10512
10513         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10514         (gst_plugin_feature_load): Doc, don't eat refs.
10515
10516         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10517         (gst_plugin_list_free): Doc.
10518         (gst_plugin_load_file): Doc updates.
10519
10520         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10521         accessors returning refcounted objects, return a ref.
10522
10523         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10524         accessor for caps. IDEMPOTENCE. Oh yes.
10525
10526 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10527
10528         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10529
10530         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10531         (_gst_debug_register_funcptr):
10532           Add mutex to serialise access to the hash table with
10533           the function pointer => function name string mapping;
10534           make that hash table static scope (#316809).
10535
10536         * gst/registries/.cvsignore:
10537           Remove left-over file.
10538
10539 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10540
10541         * docs/pwg/appendix-porting.xml:
10542           And something about newsegment events and caps-on-buffers to
10543           the porting guide (feel free to improve).
10544
10545 2005-09-21  Andy Wingo  <wingo@pobox.com>
10546
10547         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10548         data and event probes on the same pad.
10549         (test_buffer_probe_once): Test that removing probes from within
10550         the probe functions works.
10551
10552 2005-09-21  Andy Wingo  <wingo@pobox.com>
10553
10554         * check/gst/gstutils.c: New file.
10555         (test_buffer_probe_n_times): A simple buffer probe test. More to
10556         come, foolios.
10557
10558         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10559         have-data::buffer, not have-data.
10560         (gst_pad_add_event_probe): Likewise for have-data::event.
10561         (gst_pad_add_data_probe): More docs. The part about 'resolving the
10562         peer' isn't quite right yet though.
10563         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
10564         (gst_pad_remove_data_probe): Change to take the guint handler_id
10565         as their arg, not the function+data, which is more glib-like.
10566
10567         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10568         the signal emission to indicate if the data is a buffer or an
10569         event.
10570         (gst_pad_get_type): Initialize buffer and event quarks.
10571         (gst_pad_class_init): have-data is now a detailed signal, yes it
10572         is.
10573
10574 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10575
10576         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10577         * gst/gstutils.c: (gst_util_set_value_from_string),
10578         (gst_util_set_object_arg):
10579           Don't put functional code in g_return_if_fail() or
10580           g_return_val_if_fail() statements, otherwise things will 
10581           break when G_DISABLE_CHECKS is defined during compilation.
10582
10583 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10584
10585         * docs/gst/tmpl/.cvsignore:
10586         * docs/gst/tmpl/gstvalue.sgml:
10587         * gst/gstvalue.c:
10588         * gst/gstvalue.h:
10589           inlied another one and added  some obvious docs
10590
10591 2005-09-21  Wim Taymans  <wim@fluendo.com>
10592
10593         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10594         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10595         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10596         (gst_fdsrc_get_property), (gst_fdsrc_create):
10597         * gst/elements/gstfdsrc.h:
10598         Properly implement fdsrc. Removed signal and timeout,
10599         better implemented somewhere else.
10600
10601 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10602
10603         * docs/gst/tmpl/.cvsignore:
10604         * docs/gst/tmpl/gstimplementsinterface.sgml:
10605         * gst/gstinterface.c:
10606           inlined more docs
10607
10608 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10609
10610         * docs/gst/gstreamer-sections.txt:
10611         * docs/gst/tmpl/.cvsignore:
10612         * docs/gst/tmpl/gstenumtypes.sgml:
10613           remove obsolete doc file
10614
10615 2005-09-21  David Schleef  <ds@schleef.org>
10616
10617         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10618         little beer, fix a little leak.
10619
10620 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10621
10622         * docs/gst/gstreamer-docs.sgml:
10623         * docs/gst/gstreamer-sections.txt:
10624         * docs/gst/tmpl/.cvsignore:
10625         * gst/Makefile.am:
10626         * gst/gst.h:
10627         * gst/gstbin.c:
10628         * gst/gstelement.h:
10629         * gst/gstindex.c: (gst_index_class_init):
10630         * gst/gstindex.h:
10631         * gst/gstindexfactory.c: (gst_index_factory_get_type),
10632         (gst_index_factory_class_init), (gst_index_factory_init),
10633         (gst_index_factory_finalize), (gst_index_factory_new),
10634         (gst_index_factory_destroy), (gst_index_factory_find),
10635         (gst_index_factory_create), (gst_index_factory_make):
10636         * gst/gstindexfactory.h:
10637         * gst/gstpluginfeature.c:
10638         * gst/gstpluginfeature.h:
10639         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10640           more docs inlined, splitted gstindex.{c,h}
10641
10642 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10643
10644         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10645           fix a leak
10646
10647 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10648
10649         * gst/elements/gstfilesink.c: (gst_file_sink_init):
10650           Set sync to FALSE by default.
10651
10652 2005-09-20  Wim Taymans  <wim@fluendo.com>
10653
10654         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10655         (gst_base_sink_init):
10656         Make sync property settable from subclass.
10657
10658         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10659         (gst_fake_sink_change_state):
10660         Set sync to FALSE by default.
10661
10662 2005-09-20  Wim Taymans  <wim@fluendo.com>
10663
10664         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10665         * tools/gst-launch.c: (main):
10666         The timeout handler should have lower priority than the source
10667         so we don't timeout before popping a message with 0 timeout.
10668         Dump error messages after failed state change.
10669
10670 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10671
10672         * tools/gst-inspect.c: (print_element_properties_info):
10673           Fix two typos.
10674
10675 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10676
10677         * check/gst/gstevent.c:
10678         * gst/elements/gstfakesink.c:
10679         * gst/elements/gstfakesink.h:
10680           remove the sync property from fakesink.
10681           has the side effect of setting sync TRUE
10682           for fakesink, which is a change.  Anyone who knows how
10683           to fix this nicely in a GObject-y way, feel free.
10684
10685 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10686
10687         * docs/gst/gstreamer-docs.sgml:
10688           remove probe refsection
10689
10690 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10691
10692         * check/Makefile.am:
10693           disable valgrinding the controller test again
10694         * docs/gst/gstreamer-sections.txt:
10695           update for api-changes
10696
10697 2005-09-20  Wim Taymans  <wim@fluendo.com>
10698
10699         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10700         (gst_base_sink_set_property), (gst_base_sink_get_property),
10701         (gst_base_sink_do_sync):
10702         * gst/base/gstbasesink.h:
10703         Added sync property to basesink to disable clock sync.
10704
10705 2005-09-20  Andy Wingo  <wingo@pobox.com>
10706
10707         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10708         eating the caller's refcount.
10709
10710         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
10711         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10712         refcount.
10713
10714         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10715         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10716         of GLib 2.8 public, so we can know which refcount to check in
10717         tests.
10718
10719         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10720         (gst_object_init): Only set the gst refcount if we're going ahead
10721         with the refcount hack.
10722
10723 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10724
10725         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10726         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10727           more leaks plumbed, added more debug-logging
10728         * gst/gstmacros.h:
10729           whitespace fix
10730
10731 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10732
10733         * gst/gstmessage.c:
10734           remove include of gstmemchunk.h
10735
10736 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10737
10738         * gst/gstclock.c: (_gst_clock_id_free):
10739           Commit from the Political Party For More Atomic CVS Commits,
10740           so that people don't waste too much of their day fishing
10741           out obvious leaks out of massive commits.
10742           Oh, and fix a pretty damn obvious leak in the memchunk
10743           removal code.
10744
10745 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10746
10747         * check/Makefile.am:
10748         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10749           plug mem-leak, re-add to valgrindable tests
10750
10751 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10752
10753         * gst/gstplugin.h:
10754           unbreak the build for those who have chronic arthritis
10755           and typing "make check" is just too taxing on the hands
10756
10757 2005-09-20  Andy Wingo  <wingo@pobox.com>
10758
10759         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10760         really want it out, you should fix plugins at the same time.
10761
10762 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
10763
10764         * configure.ac:
10765         * docs/gst/gstreamer-sections.txt:
10766         * gst/gstobject.c:
10767           added missing symbols to api docs
10768           disable ref-count hack if we have glib >= 2.8
10769
10770 2005-09-19  David Schleef  <ds@schleef.org>
10771
10772         * docs/gst/Makefile.am: Ignore a few more internal headers
10773         * docs/gst/gstreamer-docs.sgml: Remove old sections
10774         * docs/gst/gstreamer-sections.txt: Remove old sections
10775         * docs/gst/tmpl/gstobject.sgml: update
10776         * docs/gst/tmpl/gstplugin.sgml: update
10777         * docs/gst/tmpl/gstpluginfeature.sgml: update
10778         * docs/random/ds/0.9-suggested-changes: update.
10779         * gst/Makefile.am: remove memchunk and trashstack, since they're
10780           not used.
10781         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10782         * gst/gst.h: don't include some headers
10783         * gst/gstchildproxy.c: add gstmarshal.h
10784         * gst/gstclock.c: Don't use memchunks
10785         * gst/gstminiobject.c: Add some docs
10786         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10787         * gst/gstobject.h: same
10788         * gst/gstplugin.c: include gstmacros.h
10789         * gst/gstplugin.h: don't include gstmacros.h, since it's private
10790         * gst/gstquery.c: don't use memchunks
10791         * gst/gstregistry.c: rename gst_registry_deinit()
10792         * gst/gstregistry.h: same
10793
10794 2005-09-19  David Schleef  <ds@schleef.org>
10795
10796         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10797         * docs/libs/gstreamer-libs-sections.txt:
10798         * docs/libs/tmpl/gstgetbits.sgml:
10799         * docs/libs/tmpl/gstputbits.sgml:
10800
10801 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
10802
10803         * win32/gstenumtypes.c:
10804         * win32/gstenumtypes.h:
10805           Update.
10806
10807 2005-09-19  Wim Taymans  <wim@fluendo.com>
10808
10809         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
10810         Automatically PAUSE and RESUME a pipeline when a flushing seek
10811         is performed.
10812
10813 2005-09-19  Andy Wingo  <wingo@pobox.com>
10814
10815         * gst/gstregistry.h: Spacing fixen.
10816
10817 2005-09-19  Wim Taymans  <wim@fluendo.com>
10818
10819         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
10820         Handle state change failure more correctly.
10821
10822 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10823
10824         * check/Makefile.am:
10825         * check/pipelines/cleanup.c: (run_pipeline):
10826         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10827         (GST_START_TEST):
10828           enable cleanup again after fixing the leak
10829         * docs/README:
10830           some more info on docs
10831
10832 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10833
10834         * check/Makefile.am:
10835           re-enable tests now that leaks are plugged
10836         * check/gst/gst.c:
10837         * check/gst/gstbin.c:
10838         * check/gst/gstpipeline.c:
10839           add some more tests while fixing leaks
10840         * common/check.mak:
10841           make sure binaries are uptodate when valgrinding/gdbing
10842         * gst/gst.c:
10843         * gst/gstelementfactory.c:
10844           remove a ref too many, and add a FIXME for when we get
10845           round to disposing of classes
10846         * gst/gstplugin.c:
10847           fix the refcounting when loading a plugin from a file and
10848           the code pretends that the pointer is the same even though
10849           of course it can change
10850         * gst/gstpluginfeature.c:
10851           unref plugins marked cached (a bit confusing as a name)
10852           as the docs state should be done
10853           various doc additions to explain refcounting
10854         * gst/gstregistry.c:
10855         * gst/gstregistryxml.c:
10856           debugging
10857
10858 2005-09-19  Wim Taymans  <wim@fluendo.com>
10859
10860         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10861         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10862         (send_messages), (GST_START_TEST), (gstbus_suite):
10863         * check/gst/gstpipeline.c: (GST_START_TEST):
10864         * check/pipelines/cleanup.c: (run_pipeline):
10865         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10866         (GST_START_TEST):
10867         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10868         (gst_bus_source_check), (gst_bus_source_dispatch),
10869         (gst_bus_create_watch), (gst_bus_add_watch_full),
10870         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10871         * gst/gstbus.h:
10872         * tools/gst-launch.c: (event_loop):
10873         * tools/gst-md5sum.c: (event_loop):
10874         GstBusHandler -> GstBusFunc, return value has the same meaning as
10875         any other GSource (FALSE == remove source).
10876         _add_watch() and _add_watch_full() now take a MessageType mask to
10877         only handle specific types of messages.
10878         _poll() returns the GstMessage instead of the message type to avoid
10879         race conditions.
10880         _have_pending() takes a MessageType mask now too.
10881         Added testsuite for multiple bus watches.
10882         Fix testsuites and applications for new bus API.
10883
10884 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10885
10886         * check/Makefile.am:
10887           mark a bunch of the tests as to fix until we fix them
10888
10889 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10890
10891         * common/check.mak:
10892           use GST_PLUGIN settings for valgrind tests as well, so we're
10893           valgrinding the correct thing
10894         * gst/gst.c: (init_post):
10895           plug another leak
10896
10897 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10898
10899         * gst/gst.c: (init_post), (gst_deinit):
10900         * gst/gstelementfactory.c: (gst_element_factory_class_init),
10901         (gst_element_factory_finalize), (gst_element_factory_cleanup):
10902         * gst/gstindex.c: (gst_index_factory_class_init),
10903         (gst_index_factory_finalize):
10904         * gst/gstobject.c: (gst_object_dispose):
10905         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10906         (gst_plugin_load_file), (gst_plugin_desc_free):
10907         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10908         (gst_plugin_feature_finalize):
10909         * gst/gstregistry.c: (gst_registry_class_init),
10910         (gst_registry_init), (gst_registry_finalize),
10911         (gst_registry_get_default), (gst_registry_deinit):
10912         * gst/gstregistry.h:
10913         * gst/gstregistryxml.c: (load_feature), (load_plugin):
10914           various cleanups and memleak plugging.  make valgrind is happy now.
10915
10916 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10917
10918         * common/check.mak:
10919           add a check-valgrind target
10920
10921 2005-09-18  David Schleef  <ds@schleef.org>
10922
10923         * tools/gst-inspect.c: Revert the GOption code.
10924
10925 2005-09-17  David Schleef  <ds@schleef.org>
10926
10927         * check/Makefile.am: Fix environment variables.
10928         * check/gst/gstplugin.c: Fix for API changes.
10929         * tools/gst-inspect.c: Fix for API changes.
10930         * tools/gst-xmlinspect.c: Fix for API changes.
10931         * gst/gstelementfactory.c:
10932         * gst/gstplugin.c:
10933         * gst/gstplugin.h:
10934         * gst/gstpluginfeature.c:
10935         * gst/gstpluginfeature.h:
10936         * gst/gstregistry.c:
10937         * gst/gstregistry.h:
10938         * gst/gstregistryxml.c:
10939         * gst/gsttypefind.c:
10940         * gst/gsttypefindfactory.c:
10941         * gst/indexers/gstfileindex.c:
10942         * gst/indexers/gstmemindex.c:
10943         * gst/schedulers/Makefile.am:
10944           Change registry to keep track of both plugins and features,
10945           removing the feature tracking from plugins themselves.
10946
10947 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10948
10949         * check/Makefile.am:
10950         * tools/gst-register.1.in:
10951           remove gst-register
10952
10953 2005-09-15  David Schleef  <ds@schleef.org>
10954
10955         * check/gst/gstplugin.c:
10956         * gst/gstelementfactory.c:
10957         * gst/gstplugin.c:
10958         * gst/gstpluginfeature.c:
10959         * gst/gstregistry.c:
10960           Getting tired of debugging.  Disabled all the unreffing of
10961           plugins and features, which fixes the segfaults, but of
10962           course leaks like crazy.  At least playbin works.
10963
10964 2005-09-15  David Schleef  <ds@schleef.org>
10965
10966         * check/gst/gstplugin.c: (register_check_elements),
10967         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10968         More testing
10969         * gst/elements/gsttypefindelement.c: Fix refcounting.
10970         * gst/gsttypefind.c:
10971         * gst/gsttypefindfactory.c:
10972         * gst/gsttypefindfactory.h:
10973
10974 2005-09-15  David Schleef  <ds@schleef.org>
10975
10976         * gst/gstindex.c: get refcounting correct.
10977         * gst/gstregistry.c: Handle the case where a feature/plugin is
10978           not found.
10979
10980 2005-09-15  David Schleef  <ds@schleef.org>
10981
10982         * check/Makefile.am:
10983         * check/gst/gstplugin.c: Add test
10984         * gst/gstplugin.c: Fix problems noticed by testsuite
10985         * gst/gstplugin.h:
10986         * gst/gstregistry.c: 
10987         * gst/gstregistry.h:
10988
10989 2005-09-15  David Schleef  <ds@schleef.org>
10990
10991         * gst/gstplugin.c: Implement semi-decent recounting and locking
10992           in plugins and plugin features.
10993         * gst/gstplugin.h:
10994         * gst/gstpluginfeature.c:
10995         * gst/gstpluginfeature.h:
10996         * gst/gstregistry.c:
10997
10998 2005-09-15  Michael Smith <msmith@fluendo.com>
10999
11000         * gst/gstregistry.c: (gst_registry_get_feature_list):
11001           Implement this. Makes oggdemux work; decodebin still broken.
11002
11003 2005-09-14  David Schleef  <ds@schleef.org>
11004
11005         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
11006           #316076)
11007         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
11008         * gst/check/Makefile.am:
11009         * libs/gst/controller/Makefile.am:
11010         * libs/gst/dataprotocol/Makefile.am:
11011
11012 2005-09-14  David Schleef  <ds@schleef.org>
11013
11014         * configure.ac: Remove getbits library.  Nothing uses it, and
11015           it should be in something like liboil if someone did want
11016           to use it.
11017         * libs/gst/Makefile.am:
11018         * libs/gst/getbits/Makefile.am:
11019         * libs/gst/getbits/gbtest.c:
11020         * libs/gst/getbits/getbits.c:
11021         * libs/gst/getbits/getbits.h:
11022         * libs/gst/getbits/gstgetbits_generic.c:
11023         * libs/gst/getbits/gstgetbits_i386.s:
11024         * libs/gst/getbits/gstgetbits_inl.h:
11025
11026 2005-09-14  David Schleef  <ds@schleef.org>
11027
11028         * gst/Makefile.am: Dist glib-compat.h
11029
11030 2005-09-14  David Schleef  <ds@schleef.org>
11031
11032         * configure.ac: Remove gst/registries, since it's no longer used.
11033         * gst/registries/Makefile.am:
11034         * gst/registries/gstlibxmlregistry.c:
11035         * gst/registries/gstlibxmlregistry.h:
11036         * gst/registries/gstxmlregistry.c:
11037         * gst/registries/gstxmlregistry.h:
11038         * gst/registries/registrytest.c:
11039
11040 2005-09-14  David Schleef  <ds@schleef.org>
11041
11042         * gst/glib-compat.h:
11043         * gst/gstregistryxml.c:
11044           Convergence is near.  Seriously.
11045
11046 2005-09-14  David Schleef  <ds@schleef.org>
11047
11048         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11049         * gst/glib-compat.h:
11050           Attempt #4 to appease the buildbots.
11051
11052 2005-09-14  David Schleef  <ds@schleef.org>
11053
11054         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11055           Attempt #3.
11056
11057 2005-09-14  David Schleef  <ds@schleef.org>
11058
11059         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11060         Attempt #2.
11061
11062 2005-09-14  David Schleef  <ds@schleef.org>
11063
11064         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11065           the new functions.
11066
11067 2005-09-14  David Schleef  <ds@schleef.org>
11068
11069         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11070         * gst/glib-compat.h: Add some functions that are in newer versions
11071           of glib than we care to require.
11072         * gst/gstregistryxml.c: Use them.
11073
11074 2005-09-14  David Schleef  <ds@schleef.org>
11075
11076         * po/POTFILES.in: remove gst-register.c
11077
11078 2005-09-14  David Schleef  <ds@schleef.org>
11079
11080         * docs/gst/gstreamer-docs.sgml:
11081         * docs/gst/gstreamer-sections.txt:
11082         * docs/gst/gstreamer.types:
11083         * docs/gst/tmpl/gstelement.sgml:
11084         * docs/gst/tmpl/gstplugin.sgml:
11085         * docs/gst/tmpl/gstpluginfeature.sgml:
11086           Documentation updates for registry changes.
11087
11088 2005-09-14  David Schleef  <ds@schleef.org>
11089
11090         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11091           because we don't require glib-2.8.
11092
11093 2005-09-14  David Schleef  <ds@schleef.org>
11094
11095         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11096           registries directory.
11097
11098 2005-09-14  David Schleef  <ds@schleef.org>
11099
11100         * check/Makefile.am:
11101         * check/generic/states.c:
11102         * gst/Makefile.am:
11103         * gst/gst.c:
11104         * gst/gst.h:
11105         * gst/gst_private.h:
11106         * gst/gstelementfactory.c:
11107         * gst/gstindex.c:
11108         * gst/gstinfo.c:
11109         * gst/gstplugin.c:
11110         * gst/gstplugin.h:
11111         * gst/gstpluginfeature.c:
11112         * gst/gstpluginfeature.h:
11113         * gst/gstregistry.c:
11114         * gst/gstregistry.h:
11115         * gst/gstregistrypool.c: remove
11116         * gst/gstregistrypool.h: remove
11117         * gst/gsttypefind.c:
11118         * gst/gsttypefindfactory.c:
11119         * gst/gsturi.c:
11120         * tools/Makefile.am:
11121         * tools/gst-compprep.c:
11122         * tools/gst-inspect.c:
11123         * tools/gst-register.c: remove
11124         * tools/gst-xmlinspect.c:
11125           Registry rewrite.  Changes registry from being a file created
11126           by a tool into a simple cache file created automatically by 
11127           libgstreamer.  Removed gst-register (because it's no longer
11128           needed).  Remove registry pools, because we only have one
11129           registry implementation (XML).  Fix up other subsystems as
11130           necessary.
11131
11132 2005-09-13  Michael Smith <msmith@fluendo.com>
11133
11134         * gst/gstconfig.h.in:
11135           Don't Use windows linking attributes for MinGW. Fixes #316157
11136
11137 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11138
11139         * gst/gstutils.c: (set_state_async_thread_func),
11140         (gst_element_set_state_async):
11141           Apparently people think it's better if this function doesn't
11142           try to set the state to whatever state was asked for on the first
11143           call to this function for any object.  Seriously.
11144
11145 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11146
11147         * check/gst/gstpipeline.c: (GST_START_TEST):
11148         * docs/gst/gstreamer-sections.txt:
11149         * gst/gstutils.c: (set_state_async_thread_func),
11150         (gst_element_set_state_async):
11151         * gst/gstutils.h:
11152           add a "gst_element_set_state_async" method that
11153           sets the state and starts a thread to make sure the state
11154           change completes as best as it can
11155
11156 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11157
11158         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11159           codify design+behaviour in testsuite after discussion
11160
11161 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11162
11163         * docs/gst/tmpl/gstelement.sgml:
11164         * docs/manual/appendix-quotes.xml:
11165           add a quote
11166         * gst/gstelement.c: (gst_element_set_state):
11167           add some debug
11168
11169 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11170
11171         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11172         (gst_base_transform_prepare_output_buf),
11173         (gst_base_transform_handle_buffer):
11174         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11175         (gst_capsfilter_prepare_buf):
11176           Remove the requirement for sub-classes to call the parent
11177           implementation of prepare_output_buffer with a wrapper function.
11178           
11179         * gst/gsttaglist.h:
11180         * gst/gsttagsetter.h:
11181           Fix #define wrapper
11182
11183 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
11184
11185         * docs/gst/gstreamer-sections.txt:
11186           more doc cleanups
11187
11188 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11189
11190         * docs/gst/gstreamer-sections.txt:
11191         * docs/gst/tmpl/gstelement.sgml:
11192         * docs/gst/tmpl/gstplugin.sgml:
11193         * gst/gstminiobject.c:
11194         * gst/gstvalue.h:
11195           docs now stop throwing warnings
11196
11197 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11198
11199         * docs/gst/gstreamer-sections.txt:
11200         * docs/gst/gstreamer.types:
11201         * docs/gst/tmpl/gstpad.sgml:
11202         * docs/gst/tmpl/gsttypes.sgml:
11203         * gst/base/gstadapter.h:
11204         * gst/base/gstbasesink.h:
11205         * gst/base/gstbasesrc.h:
11206         * gst/gstbin.h:
11207         * gst/gstbuffer.h:
11208         * gst/gstbus.h:
11209         * gst/gstcaps.h:
11210         * gst/gstclock.h:
11211         * gst/gstelement.h:
11212         * gst/gstevent.h:
11213         * gst/gstmessage.h:
11214         * gst/gstpad.h:
11215         * gst/gststructure.c:
11216         * gst/registries/gstlibxmlregistry.h:
11217           various documentation fixes
11218
11219 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11220
11221         * docs/gst/gstreamer-sections.txt:
11222         * docs/gst/tmpl/gstvalue.sgml:
11223           rearrange gstvalue section
11224         * gst/gstutils.c: (gst_element_state_get_name):
11225           NONE -> VOID
11226         * gst/gstvalue.c: (_gst_value_initialize):
11227         * gst/gstvalue.h:
11228           doc updates
11229
11230 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
11231
11232         * check/gst-libs/controller.c:
11233           Header include fix.
11234         * gst/base/gstbasetransform.c:
11235         (gst_base_transform_default_prepare_buf),
11236         (gst_base_transform_handle_buffer):
11237         * gst/base/gstbasetransform.h:
11238           Some more basetransform changes and fixes to enable sub-classes
11239           that modify buffer metadata only.
11240         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11241         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11242         (gst_capsfilter_prepare_buf):
11243           If the output pad has fixed allowed caps and input buffers 
11244           don't have any, set the fixed caps on outgoing buffers.
11245
11246 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
11247         * check/elements/identity.c: (GST_START_TEST):
11248           Make the error a little clearer when the test fails because
11249           identity made a copy of the buffer.
11250         * docs/gst/gstreamer-sections.txt:
11251           New symbols in gstbasetransform.h
11252         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11253         (gst_base_transform_init), (gst_base_transform_transform_size),
11254         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11255         (gst_base_transform_default_prepare_buf),
11256         (gst_base_transform_get_unit_size),
11257         (gst_base_transform_buffer_alloc),
11258         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11259         (gst_base_transform_change_state),
11260         (gst_base_transform_set_passthrough),
11261         (gst_base_transform_set_in_place),
11262         (gst_base_transform_is_in_place):
11263         * gst/base/gstbasetransform.h:
11264           Change BaseTransform to separate in_place operate from same_caps
11265           output. in_place implies that the element can perform the transform
11266           on incoming buffers in-place, even if the caps on the output are
11267           different.
11268           Sub-class elements can now implement special buffer allocation
11269           methods for outgoing buffers if they wish to.
11270           Big documentation addition.
11271         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11272         * gst/elements/gstelements.c:
11273           Changes for basetransform modifications.
11274         * gst/elements/Makefile.am:
11275         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11276           Compile fix. Extra debug output.
11277
11278 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11279
11280         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11281         (gst_pad_suite):
11282           add tests for valid pad naming
11283         * gst/check/gstcheck.c: (gst_check_log_message_func),
11284         (gst_check_log_critical_func):
11285           add ASSERT_WARNING
11286           remove printing of code, it is fragile when the code contains
11287           % and the line number is enough info
11288         * gst/check/gstcheck.h:
11289         * gst/gstpad.c: (gst_pad_template_new):
11290           fix memleaks
11291
11292 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11293
11294         * configure.ac:
11295           say what CHECK flags we use
11296         * docs/libs/gstreamer-libs.types:
11297         * libs/gst/controller/Makefile.am:
11298         * libs/gst/controller/gst-controller.c:
11299         * libs/gst/controller/gst-controller.h:
11300         * libs/gst/controller/gst-helper.c:
11301         * libs/gst/controller/gst-interpolation.c:
11302         * libs/gst/controller/gstcontroller.c:
11303         * libs/gst/controller/gsthelper.c:
11304         * libs/gst/controller/gstinterpolation.c:
11305         * tools/gst-inspect.c: (print_plugin_info):
11306           we don't use dashes in header names
11307
11308 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11309
11310         * check/Makefile.am:
11311         * check/gst/.cvsignore:
11312         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11313         (gst_pipeline_suite), (main):
11314           adding a test for pipelines and state changes
11315         * gst/gstutils.c: (get_state_func):
11316           add some debugging
11317         * gstreamer.spec.in:
11318           fix up spec file
11319
11320 2005-09-08  Michael Smith <msmith@fluendo.com>
11321
11322         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11323         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11324         (gst_file_src_is_seekable), (gst_file_src_get_size),
11325         (gst_file_src_start):
11326         * gst/elements/gstfilesrc.h:
11327           Various fixes for unseekable, unmmapable, and non-normal files, so
11328           that fallback to read() rather than mmap() works.
11329         * gst/gstevent.c: (gst_event_new_newsegment):
11330           Allow newsegment events with segment_start == segment_end, as will
11331           correctly happen if you use filesrc on a zero-size file, for
11332           example.
11333
11334 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11335
11336         * gst/gstplugin.c: (gst_plugin_load_file):
11337           Call g_module_close when we don't load the module
11338
11339         * gst/registries/gstlibxmlregistry.c:
11340         (gst_xml_registry_get_property):
11341           Port leak fix from 0.8
11342
11343 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11344
11345         * docs/gst/gstreamer-docs.sgml:
11346         * docs/gst/tmpl/.cvsignore:
11347         * docs/gst/tmpl/gsttrace.sgml:
11348         * docs/gst/tmpl/gsttrashstack.sgml:
11349         * gst/Makefile.am:
11350         * gst/gst.h:
11351         * gst/gstelement.h:
11352         * gst/gstevent.h:
11353         * gst/gstmessage.c:
11354         * gst/gstmessage.h:
11355         * gst/gsttag.c:
11356         * gst/gsttag.h:
11357         * gst/gsttaginterface.c:
11358         * gst/gsttaginterface.h:
11359         * gst/gsttaglist.c:
11360         * gst/gsttaglist.h:
11361         * gst/gsttagsetter.c:
11362         * gst/gsttagsetter.h:
11363         * gst/gsttrace.c:
11364         * gst/gsttrace.h:
11365         * gst/gsttrashstack.c:
11366           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11367           inlined docs for gsttrace, gsttrashstack
11368
11369 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11370
11371         * gst/Makefile.am:
11372         * gst/elements/gstbufferstore.h:
11373         * gst/elements/gsttypefindelement.c:
11374         * gst/elements/gsttypefindelement.h:
11375         * gst/gst.h:
11376         * gst/gsttypefind.c:
11377         * gst/gsttypefind.h:
11378         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11379         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11380         (gst_type_find_factory_dispose),
11381         (gst_type_find_factory_unload_thyself),
11382         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11383         (gst_type_find_factory_get_caps),
11384         (gst_type_find_factory_get_extensions),
11385         (gst_type_find_factory_call_function):
11386         * gst/gsttypefindfactory.h:
11387         * gst/registries/gstlibxmlregistry.c:
11388         * gst/registries/gstxmlregistry.c:
11389           splitted gsttypefind into gsttypefind, gsttypefindfactory
11390
11391 2005-09-07  Andy Wingo  <wingo@pobox.com>
11392
11393         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11394         condition whereby the pad's task function is entered before the
11395         pad_mode variable was set.
11396
11397 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11398
11399         * gst/gstpad.c: (gst_pad_alloc_buffer):
11400           Catch misbehaving pad_alloc functions that don't
11401           set up caps and do it for them.
11402
11403 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11404
11405         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11406           test for pipe!=NULL
11407         * docs/gst/tmpl/.cvsignore:
11408         * docs/gst/tmpl/gstmemchunk.sgml:
11409         * docs/gst/tmpl/gstparse.sgml:
11410         * docs/gst/tmpl/gsttaglist.sgml:
11411         * docs/gst/tmpl/gsttagsetter.sgml:
11412         * docs/gst/tmpl/gsttypefind.sgml:
11413         * docs/gst/tmpl/gsttypefindfactory.sgml:
11414         * gst/gstmemchunk.c:
11415         * gst/gstparse.c:
11416         * gst/gsttag.c:
11417         * gst/gsttaginterface.c:
11418         * gst/gsttypefind.c:
11419         * gst/gsttypefind.h:
11420           inlined more docs
11421
11422 === release 0.9.2 ===
11423
11424 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11425
11426         * NEWS:
11427         * RELEASE:
11428         * configure.ac:
11429           releasing 0.9.2, "South"
11430
11431 2005-09-05  Andy Wingo  <wingo@pobox.com>
11432
11433         * gst/registries/gstxmlregistry.h:
11434         * gst/registries/gstxmlregistry.c: Um... resurrect...
11435         
11436         * gst/registries/gstxmlregistry.h:
11437         * gst/registries/gstxmlregistry.c: and update to newer API.
11438         Incidentally they should be a bit faster now that they don't have
11439         to parse the caps.
11440         
11441 2005-09-05  Andy Wingo  <wingo@pobox.com>
11442
11443         * gst/registries/gstxmlregistry.h:
11444         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11445         replaced by the libxml registry a while back
11446
11447 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11448
11449         * docs/gst/tmpl/gstplugin.sgml:
11450         * gst/elements/gstelements.c:
11451         * gst/gst.c:
11452         * gst/gstplugin.c: (gst_plugin_register_func),
11453         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11454         (gst_plugin_get_source):
11455         * gst/gstplugin.h:
11456         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11457         (gst_xml_registry_save_plugin):
11458         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11459         (gst_xml_registry_save_plugin):
11460         * tools/gst-inspect.c: (print_plugin_info):
11461           add a "source" plugin description field, to represent the source
11462           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11463           will set it to PACKAGE, which is automake's idea of the name of
11464           the source project.
11465
11466 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11467
11468         * Makefile.am:
11469         * autogen.sh:
11470         * configure.ac:
11471         * docs/Makefile.am:
11472         * docs/faq/Makefile.am:
11473         * docs/gst/tmpl/gstelement.sgml:
11474         * docs/gst/tmpl/gsttypes.sgml:
11475         * docs/htmlinstall.mak:
11476         * docs/manual/Makefile.am:
11477         * docs/pwg/Makefile.am:
11478           reorganize doc build a little
11479           split out docbook and gtk-doc stuff
11480           have two separate --enable's and enable them through autogen
11481           but disable by default in configure (to be similar to other
11482           projects)
11483         * gstreamer.spec.in:
11484           clean up docs install
11485         * po/af.po:
11486         * po/az.po:
11487         * po/ca.po:
11488         * po/cs.po:
11489         * po/de.po:
11490         * po/en_GB.po:
11491         * po/fr.po:
11492         * po/it.po:
11493         * po/nb.po:
11494         * po/nl.po:
11495         * po/ru.po:
11496         * po/sq.po:
11497         * po/sr.po:
11498         * po/sv.po:
11499         * po/tr.po:
11500         * po/uk.po:
11501         * po/vi.po:
11502           translation updates
11503
11504 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11505
11506         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11507           Add comment.
11508           
11509         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11510         (gst_fake_sink_change_state):
11511           Make state change function thread-safe.
11512           
11513         * gst/gstpad.c: (gst_pad_alloc_buffer):
11514           Set offset on generic buffer allocated by fallback.
11515
11516 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11517
11518         * docs/gst/gstreamer-sections.txt:
11519         * docs/gst/tmpl/gstelement.sgml:
11520         * gst/gstpad.c:
11521         * libs/gst/controller/gst-controller.c:
11522         (gst_controlled_property_set_interpolation_mode),
11523         (gst_controlled_property_new),
11524         (gst_controller_find_controlled_property):
11525          run the wingo-magic script against the docs
11526
11527 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11528
11529         * docs/gst/gstreamer-docs.sgml:
11530         * docs/gst/gstreamer-sections.txt:
11531         * docs/gst/tmpl/.cvsignore:
11532         * docs/gst/tmpl/gstelementdetails.sgml:
11533         * docs/gst/tmpl/gstelementfactory.sgml:
11534         * gst/gst.c:
11535         * gst/gstbus.c:
11536         * gst/gstelementfactory.c:
11537         * gst/gstelementfactory.h:
11538           merged elementdetails docs into elementfactory docs
11539           inlined both
11540
11541 2005-09-02  Andy Wingo  <wingo@pobox.com>
11542
11543         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11544         consider this enum an enum and not a flags.
11545
11546 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11547
11548         * docs/gst/gstreamer-docs.sgml:
11549         * docs/gst/tmpl/.cvsignore:
11550         * docs/gst/tmpl/gstghostpad.sgml:
11551         * docs/gst/tmpl/gstiterator.sgml:
11552         * docs/gst/tmpl/gstmacros.sgml:
11553         * docs/gst/tmpl/gstrealpad.sgml:
11554         * docs/gst/tmpl/gstregistry.sgml:
11555         * docs/gst/tmpl/gstregistrypool.sgml:
11556         * docs/gst/tmpl/gststructure.sgml:
11557         * docs/gst/tmpl/gstsystemclock.sgml:
11558         * docs/gst/tmpl/gsttrace.sgml:
11559         * gst/gstghostpad.c:
11560         * gst/gstmacros.h:
11561         * gst/gstmemchunk.c:
11562         * gst/gstmemchunk.h:
11563         * gst/gstqueue.c:
11564         * gst/gstregistry.c:
11565         * gst/gstregistrypool.c:
11566         * gst/gststructure.c:
11567         * gst/gstsystemclock.c:
11568           more docs inlined
11569
11570 2005-09-02  Andy Wingo  <wingo@pobox.com>
11571
11572         * gst/gstelement.h (GstState): Renamed from GstElementState,
11573         changed to be a normal enum instead of flags.
11574         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11575         munged to be GST_STATE_CHANGE_*.
11576         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11577         work with the new state representation.
11578         (GstStateChange): New enumeration of possible state transitions.
11579         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11580         (GstElementClass::change_state): Pass the GstStateChange along as
11581         an argument. Helps language bindings, so they don't have to use
11582         tricky lock-needing macros like GST_STATE_CHANGE ().
11583
11584         * scripts/update-states (file): New script. Run it on a file to
11585         update it for state naming and API changes. Updates files in
11586         place.
11587
11588         * All files updated for the new API.
11589
11590 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11591
11592         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11593         * gst/gstutils.c: (gst_util_set_value_from_string),
11594         (gst_util_set_object_arg):
11595           fix a bunch of unchecked return values
11596         * tools/gst-complete.c: (main):
11597         * gstreamer.spec.in:
11598           clean up a little
11599
11600 2005-09-01  Wim Taymans  <wim@fluendo.com>
11601
11602         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11603         (gst_base_sink_event), (gst_base_sink_do_sync),
11604         (gst_base_sink_handle_event):
11605         * gst/base/gstbasesink.h:
11606         Handle newsegments more correctly.
11607
11608         * gst/gstbus.c:
11609         Fix docs.
11610
11611         * gst/gstevent.c: (gst_event_new_newsegment):
11612         A newsegment cannot have a start_time of -1
11613
11614 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11615
11616         * win32/gstenumtypes.c:
11617         * win32/gstenumtypes.h:
11618           Update
11619
11620 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11621
11622         * libs/gst/controller/gst-controller.c:
11623         (gst_controlled_property_set_interpolation_mode),
11624         (gst_controlled_property_new):
11625          fixed boolean again
11626
11627 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11628
11629         * docs/faq/gst-uninstalled:
11630           add -good
11631         * gst/gstevent.c:
11632         * gst/gstevent.h:
11633           remove wrong docs
11634         * gst/gstutils.c: (gst_element_link_filtered):
11635         * gst/gstutils.h:
11636           add gst_element_link_filtered
11637
11638 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11639
11640         * docs/gst/gstreamer-docs.sgml:
11641         * docs/gst/gstreamer-sections.txt:
11642         * docs/gst/tmpl/.cvsignore:
11643         * docs/gst/tmpl/gsterror.sgml:
11644         * docs/gst/tmpl/gstfilter.sgml:
11645         * docs/gst/tmpl/gsturihandler.sgml:
11646         * docs/gst/tmpl/gsturitype.sgml:
11647         * docs/gst/tmpl/gstutils.sgml:
11648         * docs/gst/tmpl/gstxml.sgml:
11649         * gst/gsterror.c:
11650         * gst/gsterror.h:
11651         * gst/gstfilter.c:
11652         * gst/gsturi.c:
11653         * gst/gsturitype.c:
11654         * gst/gstutils.c:
11655         * gst/gstxml.c:
11656           inlined more docs, fixed double id-ref
11657
11658 2005-08-31  Wim Taymans  <wim@fluendo.com>
11659
11660         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11661         (gst_base_transform_handle_buffer):
11662         Passthrough elements don't need the caps as they don't care.
11663
11664 2005-08-31  Wim Taymans  <wim@fluendo.com>
11665
11666         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11667         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11668         Don't leak refcounts on buffers.
11669
11670 2005-08-31  Wim Taymans  <wim@fluendo.com>
11671
11672         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11673         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11674         (gst_base_transform_chain), (gst_base_transform_change_state):
11675         * gst/base/gstbasetransform.h:
11676         Handle the case where we are not negotiated more gracefully.
11677
11678 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
11679
11680         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11681         (gst_file_src_map_region):
11682           Set READONLY flag on mmap'ed buffers, otherwise
11683           gst_buffer_make_writable() won't work properly (#314708).
11684
11685 2005-08-31  Wim Taymans  <wim@fluendo.com>
11686
11687         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11688         passthrough elements can even do inplace on non writable
11689         buffers (as they don't touch them).
11690
11691 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11692
11693         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11694         (gst_test_mono_source_set_property),
11695         (gst_test_mono_source_class_init), (GST_START_TEST),
11696         (gst_controller_suite):
11697           more tests (hehe I have the most)
11698         * gst/gstbus.c:
11699           describe popping messages whenusing mulltiple sources
11700         * libs/gst/controller/gst-controller.c:
11701         (gst_controlled_property_set_interpolation_mode),
11702         (gst_controlled_property_new):
11703         * libs/gst/controller/gst-controller.h:
11704         * libs/gst/controller/gst-interpolation.c:
11705           implement boolean properties
11706
11707 2005-08-31  Wim Taymans  <wim@fluendo.com>
11708
11709         * gst/gstminiobject.c: (gst_mini_object_ref):
11710         Cannot assert that the refcount has to be positive
11711         since a disposed object can be resurrected.
11712
11713 2005-08-31  Wim Taymans  <wim@fluendo.com>
11714
11715         * gst/gstpad.c: (gst_pad_init):
11716         Revert change, need to first fix badly behaving 
11717         apps.
11718
11719 2005-08-30  Wim Taymans  <wim@fluendo.com>
11720
11721         * check/elements/fakesrc.c: (setup_fakesrc):
11722         * check/elements/identity.c: (setup_identity):
11723         Activate pads before using them.
11724
11725 2005-08-30  Wim Taymans  <wim@fluendo.com>
11726
11727         * gst/base/gstadapter.c: (gst_adapter_flush):
11728         Flushing out 0 bytes is ok for this function.
11729
11730         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11731         no newsegment gives a warning and sets the start/stop to 
11732         invalid.
11733
11734         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11735         (gst_base_transform_set_passthrough):
11736         Some debug info.
11737
11738         * gst/gstminiobject.c: (gst_mini_object_ref):
11739         Check refcount here too.
11740
11741         * gst/gstpad.c: (gst_pad_init):
11742         Pads are initially flushing and refusing data.
11743
11744         * gst/gstutils.c: (gst_element_link_pads_filtered):
11745         When adding a capsfilter element make sure it has the
11746         same state as the parent bin.
11747
11748 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11749
11750         * docs/gst/tmpl/.cvsignore:
11751         * docs/gst/tmpl/gstformat.sgml:
11752         * docs/gst/tmpl/gstversion.sgml:
11753         * gst/gstbus.h:
11754         * gst/gstformat.c:
11755         * gst/gstformat.h:
11756         * gst/gstversion.h.in:
11757           more docs and two more inlined
11758
11759 2005-08-30  Wim Taymans  <wim@fluendo.com>
11760
11761         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11762         Don't sync to clock.
11763
11764 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11765
11766         * docs/gst/gstreamer-sections.txt:
11767           ultral33t func10ns deserve to appear in the docs actually
11768         * docs/gst/tmpl/.cvsignore:
11769         * docs/gst/tmpl/gstcompat.sgml:
11770         * docs/gst/tmpl/gstconfig.sgml:
11771         * gst/check/gstcheck.c:
11772         * gst/gstcompat.h:
11773         * gst/gstconfig.h.in:
11774           inlined more docs
11775
11776 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11777
11778         * docs/gst/tmpl/.cvsignore:
11779         * docs/gst/tmpl/gstquery.sgml:
11780         * docs/gst/tmpl/gstutils.sgml:
11781         * gst/gstquery.c:
11782         * gst/gstquery.h:
11783           inlined and extended docs
11784
11785 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11786
11787         * check/gst-libs/controller.c: (GST_START_TEST),
11788         (gst_controller_suite):
11789           more tests
11790         * docs/gst/tmpl/gstutils.sgml:
11791         * docs/libs/gstreamer-libs-sections.txt:
11792         * docs/libs/tmpl/gstdataprotocol.sgml:
11793           include path fixes
11794         * examples/controller/audio-example.c: (main):
11795           controller example works now
11796         * gst/gstclock.h:
11797           doc fixes
11798         * tools/gst-inspect.c: (print_element_properties_info):
11799           show param spec flags
11800
11801 2005-08-29  Andy Wingo  <wingo@pobox.com>
11802
11803         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
11804
11805 2005-08-28  Andy Wingo  <wingo@pobox.com>
11806
11807         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
11808         as having two arguments instead of just one. Allows superclasses
11809         to access information on subclasses -- see the terrible for() loop
11810         in gtype.c:g_type_create_instance for the reason why. All callers
11811         changed.
11812
11813 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11814
11815         * docs/design/part-messages.txt:
11816           update info
11817         * docs/gst/tmpl/.cvsignore:
11818         * docs/gst/tmpl/gstcaps.sgml:
11819         * docs/gst/tmpl/gstclock.sgml:
11820         * gst/gstbus.c:
11821         * gst/gstcaps.c:
11822         * gst/gstcaps.h:
11823         * gst/gstclock.c:
11824         * gst/gstclock.h:
11825         * gst/gstmessage.c:
11826           added descriptions for bus and message
11827           inline caps and clock docs
11828
11829 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11830
11831         * gst/gstmessage.c:
11832         * gst/gstmessage.h:
11833           doc fixes
11834
11835 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11836
11837         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11838           fix div-by-zero
11839
11840 2005-08-26  Andy Wingo  <wingo@pobox.com>
11841
11842         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11843         element_set_state's return val.
11844         (test_2_elements): Add test that's been disabled for months.
11845
11846         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11847         can-activate-pull properties.
11848
11849         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11850         can-activate-pull properties. Implement is_seekable so fakesrc can
11851         operate in pull mode.
11852
11853         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11854         properties.
11855         (gst_base_sink_activate, gst_base_sink_activate_pull)
11856         (gst_base_sink_activate_push): Make activation mode choosing work.
11857         Cleanups.
11858         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11859         is right. Make pull mode work. Post an eos before pausing in pull
11860         mode.
11861         (gst_base_sink_change_state): Pay attention to the core's
11862         change_state() return val.
11863         
11864         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11865         has-getrange properties. Cleanups.
11866         
11867         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11868         has_getrange and replace with can_activate_pull and
11869         can_activate_push.
11870
11871         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11872         locking comments. Remove has_loop, has_chain and replace with
11873         can_activate_pull and can_activate_push.
11874
11875 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
11876
11877         * configure.ac:
11878         * examples/Makefile.am:
11879         * examples/metadata/Makefile.am:
11880         * examples/metadata/read-metadata.c: (message_loop),
11881         (have_pad_handler), (make_pipeline), (print_tag), (main):
11882           Add metadata reading example that loops over a list of filenames,
11883           dumping any tags found.
11884
11885         * gst/gstbus.c: (gst_bus_dispose):
11886         * gst/gstelement.c: (gst_element_dispose):
11887           Release a few potentially-held references in dispose.
11888
11889 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11890
11891         * docs/gst/tmpl/gstminiobject.sgml:
11892           do *not* add tmpl/*.sgml files to CVS!
11893
11894 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11895
11896         * libs/gst/bytestream/.cvsignore:
11897         * libs/gst/bytestream/Makefile.am:
11898         * libs/gst/bytestream/adapter.c:
11899         * libs/gst/bytestream/adapter.h:
11900         * libs/gst/bytestream/bytestream.c:
11901         * libs/gst/bytestream/bytestream.h:
11902         * libs/gst/bytestream/filepad.c:
11903         * libs/gst/bytestream/filepad.h:
11904           removing obsolete files
11905
11906 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11907
11908         * docs/gst/gstreamer-docs.sgml:
11909         * docs/libs/gstreamer-libs-docs.sgml:
11910           disabed additional index entries again, as this makes docs-gen just
11911           slow and they aren't useful yet
11912         * docs/libs/gstreamer-libs-sections.txt:
11913           little -section.txt cleanup for libs
11914
11915 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11916
11917         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11918         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11919           fix up some debugging
11920         (gst_base_transform_get_unit_size),
11921         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11922         (gst_base_transform_handle_buffer):
11923         * gst/base/gstbasetransform.h:
11924           handle and store timed NEWSEGMENT events so that subclasses that
11925           calculate time by counting samples have a segment_start time they
11926           need to add to their timestamps - see audioresample
11927
11928 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11929
11930         * gst/gstbin.h:
11931           removed ';' from the end of macro defs
11932         * docs/gst/gstreamer-docs.sgml:
11933         * docs/gst/gstreamer-sections.txt:
11934         * docs/gst/tmpl/.cvsignore:
11935         * gst/gstbus.h:
11936         * gst/gstelement.c: (gst_element_class_init),
11937         (gst_element_set_state), (activate_pads),
11938         (gst_element_save_thyself):
11939         * gst/gstevent.c: (gst_event_new_newsegment):
11940         * gst/gstevent.h:
11941         * gst/gstiterator.c:
11942         * gst/gstiterator.h:
11943         * gst/gstpad.c:
11944         * gst/gstprobe.h:
11945         * gst/gstutils.c: (gst_pad_query_convert):
11946         * gst/gstutils.h:
11947           fixed parameter name mismatches between source, header and docs
11948           added some more docs, resolved the last batch of unused elements in
11949           docs (now someone needs to doc them)
11950
11951 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11952
11953         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11954         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11955           don't walk through the plugins backwards.  Where is all this
11956           reversed logic coming from ?
11957
11958 2005-08-25  Wim Taymans  <wim@fluendo.com>
11959
11960         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11961         (gst_base_transform_transform_size),
11962         (gst_base_transform_configure_caps),
11963         (gst_base_transform_get_unit_size),
11964         (gst_base_transform_buffer_alloc),
11965         (gst_base_transform_change_state):
11966         * gst/base/gstbasetransform.h:
11967         Cache caps unit_size.
11968         Make sure we cannot negotiate up and downstream at the
11969         same time.
11970
11971 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11972
11973         * gst/gst.c: (init_pre), (init_post):
11974           register the installed plugin path after the env var
11975         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
11976         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
11977           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
11978           directories, so the tests can prefer uninstalled over installed
11979
11980 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11981
11982         * gst/base/gstbasetransform.h:
11983           comment
11984         * gst/gstpad.c:
11985           add to docs
11986
11987 2005-08-25  Wim Taymans  <wim@fluendo.com>
11988
11989         * gst/gstbin.c: (bin_bus_handler):
11990         Be a bit more conservative about the posted message.
11991         
11992         * gst/gstbus.c: (gst_bus_post):
11993         Some cleanups, warn wrong return values.
11994
11995 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
11996
11997         * check/gst/gstbin.c: (GST_START_TEST):
11998         * gst/gstbin.c: (bin_bus_handler):
11999         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12000         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12001         (gst_message_new_warning), (gst_message_new_tag),
12002         (gst_message_new_state_changed), (gst_message_new_segment_start),
12003         (gst_message_new_segment_done), (gst_message_new_custom):
12004         * gst/gstmessage.h:
12005         * tools/gst-launch.c: (event_loop):
12006         * tools/gst-md5sum.c: (event_loop):
12007           Revert unpopular change for GST_MESSAGE_SRC to GObject.
12008
12009 2005-08-25  Wim Taymans  <wim@fluendo.com>
12010
12011         * check/generic/states.c: (GST_START_TEST):
12012         Cleanup can be done at the end.
12013
12014         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12015         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12016         (gst_task_get_state), (gst_task_start), (gst_task_pause):
12017         Oh boy.. Thanks for finding this, Thomas. 
12018
12019 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12020
12021         * docs/gst/gstreamer.types:
12022           added missing types
12023
12024 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12025
12026         * docs/gst/gstreamer-docs.sgml:
12027         * docs/gst/gstreamer-sections.txt:
12028         * docs/gst/tmpl/.cvsignore:
12029         * gst/gstbin.c:
12030         * gst/gstiterator.c:
12031         * gst/gstutils.c:
12032         * gst/registries/gstxmlregistry.h:
12033           added missing classes and symbols (123 more to go)
12034           removed removed symbols from section file
12035           fixed many doc-comments
12036
12037 2005-08-24  Wim Taymans  <wim@fluendo.com>
12038
12039         * check/generic/states.c: (GST_START_TEST):
12040         Make sure all tasks are stopped.
12041
12042         * check/gst/gstbin.c: (GST_START_TEST):
12043         Unref after usage for proper valgrinding.
12044
12045         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12046         Really wait for the task to stop before destroying the
12047         mutex.
12048
12049         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12050         (gst_queue_src_activate_push):
12051         Small cleanups. Don't stop the task when we did not start
12052         it.
12053
12054         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12055         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12056         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12057         (gst_task_join):
12058         * gst/gsttask.h:
12059         Protect the stream lock with the object lock.
12060         Disallow setting the stream lock when running.
12061         Add cleanup_all to wait for the threadpool to finish.
12062         Remove code to autoallocate a mutex if none was provided.
12063         Add _join() to wait for a task to stop.
12064         Protect the thread pool with a global lock.
12065
12066 2005-08-24  Wim Taymans  <wim@fluendo.com>
12067
12068         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12069         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12070         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12071         * gst/base/gstbasesink.h:
12072         Handle newsegment events correctly.
12073         Drop buffers out of the segment range.
12074
12075 2005-08-22  Andy Wingo  <wingo@pobox.com>
12076
12077         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12078         macro, implements an interface and gstimplementsinterface for a
12079         new type.
12080
12081 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12082
12083         * check/Makefile.am:
12084         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12085           add a test that does a bunch of state changes on elements
12086           needs some fixing for valgrind
12087         * check/states/sinks.c: (gst_object_suite):
12088           whitespace
12089         * gst/gstcaps.h:
12090           add prototype for gst_caps_is_equal_fixed
12091         * gst/gstplugin.c:
12092         * gst/gstregistrypool.c:
12093           doc fixes
12094
12095 2005-08-24  Andy Wingo  <wingo@pobox.com>
12096
12097         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12098         convert a negative value. Doesn't make much sense. Mostly this is
12099         here to force callers to ensure -1 maps to -1.
12100
12101 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12102
12103         * docs/pwg/advanced-types.xml:
12104           Well done to Michael for catching my deliberate introduction
12105           of this spelling mistake. 
12106         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12107         * gst/gstelement.h:
12108           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12109           unlink pads before removing the element from the bin.
12110
12111 2005-08-24  Andy Wingo  <wingo@pobox.com>
12112
12113         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12114         the same thing as GST_DEBUG=*:4.
12115         (parse_debug_level, parse_debug_category): New helper parsers.
12116
12117 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12118
12119         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12120         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12121         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12122         (gst_base_transform_buffer_alloc),
12123         (gst_base_transform_handle_buffer):
12124           use gboolean return values and pointers to size so we can use the
12125           full GST_BUFFER_SIZE range (guint) for buffer sizes
12126           use GstPadDirection for transform_caps
12127         * gst/base/gstbasetransform.h:
12128           rename get_size to get_unit_size since that's what it is
12129         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12130           use GstPadDirection for transform_caps
12131         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12132         * gst/gstutils.h:
12133           cleanup and debugging
12134
12135 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12136
12137         * gst/gstelement.c: (gst_element_class_init),
12138         (gst_element_set_state), (activate_pads),
12139         (gst_element_save_thyself):
12140         * tools/gst-compprep.c: (main):
12141         * tools/gst-inspect.c: (print_element_properties_info):
12142         * tools/gst-xmlinspect.c: (print_element_properties):
12143           Fixed long standing mem-leak
12144
12145 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12146
12147         * check/gst/gstbin.c: (GST_START_TEST):
12148         * gst/gstbin.c: (bin_bus_handler):
12149         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12150         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12151         (gst_message_new_warning), (gst_message_new_tag),
12152         (gst_message_new_state_changed), (gst_message_new_segment_start),
12153         (gst_message_new_segment_done), (gst_message_new_custom):
12154         * gst/gstmessage.h:
12155         * tools/gst-launch.c: (event_loop):
12156         * tools/gst-md5sum.c: (event_loop):
12157           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12158           that applications can sensibly post custom messages with references
12159           to their own objects.
12160
12161 2005-08-24  Andy Wingo  <wingo@pobox.com>
12162
12163         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12164         already.
12165
12166 2005-08-24  Wim Taymans  <wim@fluendo.com>
12167
12168         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12169         (gst_base_transform_transform_caps),
12170         (gst_base_transform_transform_size),
12171         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12172         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12173         (gst_base_transform_handle_buffer):
12174         * gst/base/gstbasetransform.h:
12175         Many fixes and new features added by Thomas. Can now also do
12176         transforms with variable sizes and a custom fixate_caps function.
12177
12178 2005-08-24  Wim Taymans  <wim@fluendo.com>
12179
12180         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12181         Some debugging.
12182
12183         * gst/gstclock.h:
12184         Cast to ClockTime before formatting to time.
12185
12186         * gst/gstutils.h:
12187         Cleanups.
12188
12189 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12190
12191         * check/gst-libs/controller.c: (GST_START_TEST),
12192         (gst_controller_suite):
12193         * docs/gst/tmpl/gstcaps.sgml:
12194         * docs/gst/tmpl/gstghostpad.sgml:
12195         * docs/gst/tmpl/gstquery.sgml:
12196         * docs/gst/tmpl/gstutils.sgml:
12197         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12198         (gst_object_sink_values), (gst_object_get_value_arrays),
12199         (gst_object_get_value_array):
12200           gracefully handle helper method calls to objects that are not beeing
12201           controlled, added test case for that          
12202
12203 2005-08-23  Wim Taymans  <wim@fluendo.com>
12204
12205         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12206         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12207         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12208         (gst_event_parse_qos), (gst_event_new_seek),
12209         (gst_event_parse_seek):
12210         * gst/gstevent.h:
12211         Some more debugging output and doc cleanups.
12212
12213         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12214         Fix possible deadlock.
12215
12216 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12217
12218         * docs/gst/gstreamer-docs.sgml:
12219         * docs/gst/gstreamer-sections.txt:
12220         * docs/gst/gstreamer.types:
12221         * docs/gst/tmpl/.cvsignore:
12222         * gst/gstbin.h:
12223         * gst/gstbus.c:
12224         * gst/gstelement.c:
12225         * gst/gstevent.h:
12226           added 100 symbols from gstreamer-unused.txt to the right sections
12227           fixed more broken comments
12228           added GstBus to docs
12229
12230 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12231
12232         * docs/gst/gstreamer-sections.txt:
12233         * docs/gst/tmpl/.cvsignore:
12234         * docs/gst/tmpl/gstbin.sgml:
12235         * docs/gst/tmpl/gstbuffer.sgml:
12236         * gst/base/gstbasesrc.c:
12237         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12238         * gst/gstbuffer.c:
12239         * gst/gstbuffer.h:
12240         * tools/gst-launch.1.in:
12241           inlined more doc comments, added missing comments and fixed comments
12242           fixed typos
12243
12244 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12245
12246         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12247           some debugging
12248         * gst/gstcaps.h:
12249           whitespace fixes
12250         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12251           more debugging
12252         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12253         * gst/gststructure.h:
12254           add a fixate function for booleans; add a FIXME that these func
12255           names should probably be gst_structure_fixate_*
12256
12257 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12258
12259         * docs/gst/gstreamer-docs.sgml:
12260         * docs/gst/gstreamer-sections.txt:
12261         * gst/Makefile.am:
12262         * gst/gstbin.c: (gst_bin_get_type),
12263         (gst_bin_child_proxy_get_child_by_index),
12264         (gst_bin_child_proxy_get_children_count),
12265         (gst_bin_child_proxy_init):
12266         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12267         (gst_child_proxy_get_child_by_index),
12268         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12269         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12270         (gst_child_proxy_get), (gst_child_proxy_set_property),
12271         (gst_child_proxy_set_valist), (gst_child_proxy_set),
12272         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12273         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12274         * gst/gstchildproxy.h:
12275         * gst/parse/grammar.y:
12276         * tools/gst-inspect.c: (print_interfaces),
12277         (print_element_properties_info), (print_element_info):
12278           ported gstchildproxy over from 0.8
12279           ported gst-inspect fixes and enhancements over from 0.8
12280
12281 2005-08-22  Wim Taymans  <wim@fluendo.com>
12282
12283         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12284         (gst_base_transform_handle_buffer):
12285         Also call the transform function if we have ANY caps.
12286
12287         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12288         Fix debug info.
12289
12290 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12291
12292         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12293           Don't pretend to handle seek events if the source is not seekable
12294
12295 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12296
12297         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12298           Remove extra parameter to debug output
12299
12300         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12301         (gst_base_src_do_seek), (gst_base_src_activate_push):
12302           Fix seek event handling.
12303
12304         * gst/gstpipeline.c: (gst_pipeline_change_state):
12305         * gst/gstqueue.c: (gst_queue_handle_sink_event),
12306         (gst_queue_src_activate_push):
12307           Don't start the src pad task on FLUSH_STOP if the pad
12308           isn't linked.
12309           Debug changes.
12310
12311 2005-08-22  Wim Taymans  <wim@fluendo.com>
12312
12313         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12314         Added check for gst_static_caps_get() refcounting.
12315
12316 2005-08-22  Wim Taymans  <wim@fluendo.com>
12317
12318         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12319         Make _static_caps_get() refcounting sane.
12320         
12321         * gst/gstelement.c: (gst_element_set_state):
12322         Add g_return_val_if_fail() to protect against segfaults.
12323
12324 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
12325
12326         * docs/gst/tmpl/gstevent.sgml:
12327         * gst/gstevent.c:
12328         * gst/gstevent.h:
12329           inlined remaining docs, added missing doc comments
12330
12331 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12332
12333         * check/gst/gstbin.c: (GST_START_TEST):
12334           since we don't know when preroll is done, use refcount range
12335           check for the sink
12336         * gst/check/gstcheck.h:
12337           add macro for checking refcount range
12338
12339 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12340
12341         * check/Makefile.am:
12342           clean up environment for when registry gets built versus
12343           when actual tests are run; valgrind seems to not report
12344           leaks if GST_PLUGIN_PATH is set to some specific values
12345         * check/gst/gstbin.c: (GST_START_TEST):
12346           add more refcounting checks; maybe this exposes a
12347           preroll lock bug ?
12348         * common/check.mak:
12349         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12350         * gst/check/gstcheck.h:
12351         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12352         (gst_bin_change_state):
12353         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12354           add/fix debugging/whitespace
12355
12356 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12357
12358         * check/gst/gstevent.c: (event_probe), (test_event),
12359         (GST_START_TEST):
12360          Er, don't call gst_bin_watch_for_state_change you idiot.
12361
12362 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12363
12364         * check/Makefile.am:
12365           Use CHECK_CFLAGS and CHECK_LIBS
12366         * check/gst/gstevent.c: (event_probe), (test_event),
12367         (GST_START_TEST):
12368           Don't leak events.
12369         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12370         (gst_base_src_start), (gst_base_src_stop),
12371         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12372         (gst_base_src_change_state):
12373           Sprinkle gst_base_src_stop liberally around error paths to fix
12374           problems reusing a source after failed state changes.
12375         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12376         (helper_find_suggest), (gst_type_find_helper):
12377           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12378         * gst/gstevent.h:
12379         * docs/gst/tmpl/gstevent.sgml:
12380           Migrate part of the docs from the SGML file. Wait for ensonic to
12381           tell me how I did it wrong ;)
12382         * tools/gst-typefind.c: (main):
12383           Extra robustness to state changes between files.
12384
12385 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12386
12387         * check/Makefile.am:
12388           don't valgrind the controller test - it's leaking - Stefan, HELP
12389         * gst/check/gstcheck.c: (gst_check_message_error),
12390         (gst_check_chain_func), (gst_check_setup_element),
12391         (gst_check_teardown_element), (gst_check_setup_src_pad),
12392         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12393         (gst_check_teardown_sink_pad):
12394         * gst/check/gstcheck.h:
12395           add a bunch of methods to set up elements, and src and sink pads
12396         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12397         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12398         (GST_START_TEST):
12399           use them
12400         * gst/gstmessage.c:
12401         * gst/gsttag.h:
12402           whitespace/doc fixes
12403
12404 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12405
12406         * gst/gstelement.h:
12407           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12408           be handled by the application and not always printed as well
12409
12410 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12411
12412         * check/Makefile.am:
12413           set GST_TOOLS_DIR
12414         * gst/check/gstcheck.c: (gst_check_message_error):
12415         * gst/check/gstcheck.h:
12416           add a fail_unless_equals_int
12417           add fail_unless for error messages
12418
12419 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12420
12421         * check/Makefile.am:
12422         * check/gst.supp:
12423         * common/Makefile.am:
12424         * common/check.mak:
12425         * common/gst.supp:
12426           factor out some of the common stuff so we can use it
12427
12428 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12429
12430         * check/Makefile.am:
12431         * check/gst/gstiterator.c: (GST_START_TEST):
12432         * check/gst/gstsystemclock.c: (GST_START_TEST),
12433         (gst_systemclock_suite):
12434         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12435         * gst/gstclock.c:
12436           valgrind more tests
12437
12438 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12439
12440         * check/elements/.cvsignore:
12441         * check/elements/gstfakesrc.c:
12442           rename to name of element
12443         * check/elements/identity.c: (chain_func), (event_func),
12444         (setup_identity), (cleanup_identity), (GST_START_TEST),
12445         (identity_suite), (main):
12446           add a test for identity
12447         * check/Makefile.am:
12448         * pkgconfig/Makefile.am:
12449         * pkgconfig/gstreamer-check.pc.in:
12450         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12451         * gst/check:
12452         * gst/Makefile.am:
12453         * configure.ac:
12454           move the check stuff to a library that gets installed
12455         * check/gst-libs/controller.c: (GST_START_TEST):
12456         * check/gst-libs/gdp.c:
12457         * check/gst/gst.c: (GST_START_TEST):
12458         * check/gst/gstbin.c:
12459         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12460         * check/gst/gstbus.c:
12461         * check/gst/gstcaps.c: (GST_START_TEST):
12462         * check/gst/gstelement.c:
12463         * check/gst/gstghostpad.c:
12464         * check/gst/gstiterator.c:
12465         * check/gst/gstmessage.c:
12466         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12467         * check/gst/gstobject.c:
12468         * check/gst/gstpad.c: (GST_START_TEST):
12469         * check/gst/gststructure.c: (GST_START_TEST):
12470         * check/gst/gstsystemclock.c: (GST_START_TEST),
12471         (gst_systemclock_suite):
12472         * check/gst/gsttag.c: (gst_tag_suite):
12473         * check/gst/gstvalue.c:
12474         * check/pipelines/cleanup.c:
12475         * check/pipelines/simple_launch_lines.c:
12476         * check/states/sinks.c:
12477           change include statement
12478
12479         * docs/gst/gstreamer-sections.txt:
12480         * docs/gst/tmpl/gstpad.sgml:
12481           document more pad stuff
12482         * gst/gstminiobject.c: (gst_mini_object_ref),
12483         (gst_mini_object_unref):
12484           debug refcounting
12485
12486 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12487
12488         * docs/gst/tmpl/gst.sgml:
12489         * gst/gst.c:
12490           eliminate another tmpl file, fix spelling in the long-description
12491
12492 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12493
12494         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12495         (test_event), (timediff), (gstevents_suite):
12496           Should fix build on 64-bit arch's
12497
12498 2005-08-18  Andy Wingo  <wingo@pobox.com>
12499
12500         Make sure that when a pipeline goes to PLAYING, that data has
12501         actually hit the sink.
12502
12503         * check/states/sinks.c (test_sink): A sink that doesn't get any
12504         data shouldn't return SUCCESS for going to either PLAYING or
12505         PAUSED. Test also the return values on the way back down.
12506
12507         * gst/gstelement.c (gst_element_set_state): When changing the
12508         state of an element currently changing state asynchronously, go to
12509         lost-state after commiting the pending state. Makes future calls
12510         to get_state continue to return ASYNC.
12511
12512         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12513         ASYNC when going to PLAYING if we still don't have preroll, as can
12514         happen with live sources.
12515
12516 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12517
12518         * docs/pwg/advanced-types.xml:
12519           Hack long paragraph into 2 chunks as a workaround for buggy
12520           jadetex version in sid and breezy that loops infinitely and
12521           eats all RAM.
12522
12523 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12524
12525         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12526         (test_event), (timediff), (gstevents_suite):
12527           Provide more error margin in clock measurements to allow for 
12528           g_get_current_time inaccuracies.
12529
12530 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12531
12532         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12533         (test_event), (timediff), (gstevents_suite):
12534            Fix error message output so I might be able to tell why the
12535            test works here but fails on the build farm.
12536
12537 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12538
12539         * check/Makefile.am:
12540         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12541         (test_event), (timediff), (gstevents_suite), (main):
12542           I wrote a test!
12543
12544         * docs/design/part-seeking.txt:
12545           Spelling correction
12546
12547         * docs/gst/tmpl/gstevent.sgml:
12548         * docs/gst/tmpl/gstfakesrc.sgml:
12549           Docs updates.
12550
12551         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12552           Treat a buffer-without-newsegment the same as a receiving 
12553           a newsegment not in time format, and disable syncing to the clock
12554           with a warning.
12555
12556         * gst/gstbus.c: (gst_bus_set_sync_handler):
12557           Assert if anyone tries to replace the existing sync_handler for bus, 
12558           as only the owner should be setting it.
12559
12560         * gst/gstevent.h:
12561           Have a fixed set of custom event enums with events identified by
12562           their structure name (as in 0.8), rather than a free-for-all
12563           allowing collisions between enum values from different plugins.
12564
12565         * gst/gstpad.c: (gst_pad_class_init):
12566           Docs change.
12567           
12568         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12569           Handle out-of-band downstream events from the sending thread.
12570
12571 2005-08-17  Andy Wingo  <wingo@pobox.com>
12572
12573         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12574         play-timeout==0 to mean no timeout at all. In that case, don't
12575         bother with a get_state or a warning, just return directly, even
12576         if it's ASYNC.
12577
12578         * gst/base/gstbasetransform.c: Debug changes.
12579
12580         * gst/gstutils.h:
12581         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12582         ensure bins post state change messages. A bit of a hack but I can't
12583         think of a way to avoid it.
12584
12585         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12586
12587 2005-08-16  Andy Wingo  <wingo@pobox.com>
12588
12589         * gst/base/gstadapter.h:
12590         * gst/base/gstadapter.c (gst_adapter_take): New function, like
12591         peek() but you own the data. Not terribly efficient atm.
12592
12593 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12594
12595         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12596         (gst_element_found_tags):
12597         * gst/gstutils.h:
12598           Add two utility functions for tag handling.
12599
12600 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12601
12602         * docs/manual/advanced-dataaccess.xml:
12603         * docs/manual/basics-helloworld.xml:
12604           Fix docs to use _bin_add() before _link(), which fixes the examples
12605           with recent core versions (reported by Madhan Raj M
12606           <raj_madan@rediffmail.com>, #313199).
12607
12608 2005-08-16  Wim Taymans  <wim@fluendo.com>
12609
12610         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12611         Added subtract checks.
12612
12613         * docs/design/part-events.txt:
12614         Some more docs about newsegment
12615
12616         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12617         Fix FIXME
12618
12619         * gst/gstcaps.c: (gst_caps_to_string):
12620         Add comments, cleanups.
12621         
12622         * gst/gstelement.c: (gst_element_save_thyself):
12623         cleanups
12624         
12625         * gst/gstvalue.c: (gst_value_collect_int_range),
12626         (gst_string_unwrap), (gst_value_union_int_int_range),
12627         (gst_value_union_int_range_int_range),
12628         (gst_value_intersect_int_int_range),
12629         (gst_value_intersect_int_range_int_range),
12630         (gst_value_intersect_double_double_range),
12631         (gst_value_intersect_double_range_double_range),
12632         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12633         (gst_value_subtract_int_range_int),
12634         (gst_value_subtract_double_range_double),
12635         (gst_value_subtract_double_range_double_range),
12636         (gst_value_subtract_from_list), (gst_value_subtract_list),
12637         (gst_value_can_compare), (gst_value_compare_fraction):
12638         Cleanups, add comments, remove unneeded asserts.
12639
12640 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12641
12642         * tools/gst-launch.c: (event_loop):
12643           don't convert NULL structures to strings
12644
12645 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
12646
12647         * docs/gst/gstreamer-sections.txt:
12648           made some defines private
12649         * docs/gst/tmpl/gstconfig.sgml:
12650         * docs/gst/tmpl/gstqueue.sgml:
12651         * docs/gst/tmpl/gsttaglist.sgml:
12652         * docs/gst/tmpl/gsttypes.sgml:
12653         * docs/gst/tmpl/gstutils.sgml:
12654         * docs/pwg/appendix-porting.xml:
12655         * gst/base/gstbasesink.h:
12656         * gst/base/gstbasesrc.c:
12657         * gst/base/gstbasesrc.h:
12658         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12659         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12660         * gst/gstelement.c: (gst_element_class_init):
12661         * gst/gstpad.c: (gst_pad_class_init):
12662         * gst/gstqueue.c: (gst_queue_class_init):
12663         * gst/gstxml.c: (gst_xml_class_init):
12664           documented all undocumented signal inline
12665         * libs/gst/controller/gst-controller.h:
12666           added padding
12667
12668 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12669
12670         * docs/pwg/appendix-porting.xml:
12671           Document _set_link_function -> _set_setcaps_function.
12672
12673 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12674
12675         * check/Makefile.am:
12676           add a .check target for running the check
12677         * check/gst-libs/controller.c: (GST_START_TEST):
12678           cosmetic fixups
12679         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12680           complete checks for gstbuffer; would be nice if I could get the
12681           gcov stuff to work so I can see if I actually completed gstbuffer.c
12682         * check/gstcheck.h:
12683           add ASSERT_BUFFER_REFCOUNT
12684
12685 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
12686
12687         * docs/gst/gstreamer-sections.txt:
12688         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12689         * gst/gsttag.h:
12690           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12691           spew out a warning if a tag that is already registered
12692           is re-registered, unless it is re-registered with a 
12693           different type (#308438).
12694
12695 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
12696
12697         * docs/pwg/appendix-porting.xml:
12698         * docs/pwg/building-state.xml:
12699           Add some paragraphs about state changes in 0.9 to the PWG
12700           and the porting guide, in particular about the new meaning
12701           of GST_STATE_PAUSED and how to write state change functions
12702           with concurrent access by multiple threads in mind.
12703
12704 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
12705
12706         * docs/gst/gstreamer-docs.sgml:
12707         * docs/libs/gstreamer-libs-docs.sgml:
12708           added deprecation and since indexes
12709         * libs/gst/controller/gst-controller.c:
12710         * libs/gst/controller/gst-helper.c:
12711           added since tags
12712
12713
12714 2005-08-11  Wim Taymans  <wim@fluendo.com>
12715
12716         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12717         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12718         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12719         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12720         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12721         (gst_ghost_pad_set_target):
12722         Actually implement (re)setting the target on a ghostpad
12723         as described in the docs.
12724
12725 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12726
12727         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12728           Check whether GST_DEBUG_NO_COLOR environment variable is
12729           set and disable coloured debug output if that is the case.
12730
12731 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12732
12733         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12734         (gst_type_find_helper):
12735           The memory returned by gst_type_find_peek() needs to
12736           stay valid until the end of a typefind function, and
12737           typefind functions may keep results from different 
12738           offsets around, so we can't just unref the buffer from
12739           the previous _peek(), but have to save all buffers 
12740           returned by _peek() until typefinding is done and only
12741           free them then.
12742
12743 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12744
12745         * docs/gst/gstreamer-sections.txt:
12746         * gst/gstutils.h:
12747           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12748
12749 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12750
12751         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12752           Fix a pretty good memleak.
12753
12754 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12755
12756         * gst/gstiterator.h:
12757           Fix wrong include and 'make distcheck'.
12758
12759 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12760
12761         * gst/gstbin.c: (bin_bus_handler):
12762           Use gst_element_post_message() instead.
12763
12764 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12765
12766         * gst/base/gstadapter.h:
12767         * gst/base/gstbasesink.h:
12768         * gst/base/gstbasesrc.h:
12769         * gst/base/gstbasetransform.h:
12770         * gst/base/gstcollectpads.h:
12771         * gst/base/gstpushsrc.h:
12772         * gst/gstiterator.h:
12773           Add padding to our base elements' class and instance structs and
12774           to GstIterator (you will need to rebuild all plugins and apps!)
12775
12776 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12777
12778         * gst/gstbin.c: (bin_bus_handler):
12779           Make default message forwarding from child->bus to bin->bus
12780           threadsafe and make it not emit warnings if the parent has no bus.
12781
12782 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12783
12784         * gst/gstelement.c: (activate_pads):
12785           On paused->ready, set pad->caps to NULL, as is the documented
12786           behaviour in this state change. Fixes playback of series of
12787           media files when visualization is enabled in Totem.
12788
12789 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12790
12791         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12792           Allow NULL as filter-caps (which means "any").
12793
12794 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12795
12796         * docs/libs/gstreamer-libs-sections.txt:
12797         * libs/gst/controller/gst-controller.c:
12798         * libs/gst/controller/gst-controller.h:
12799         * libs/gst/controller/gst-helper.c:
12800           adding more entries to the docs and fix small doc-bugs
12801
12802 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12803
12804         * docs/gst/gstreamer-docs.sgml:
12805         * docs/gst/gstreamer-sections.txt:
12806         * docs/gst/gstreamer.types:
12807         * docs/gst/tmpl/gstbasesink.sgml:
12808         * docs/gst/tmpl/gstbasesrc.sgml:
12809         * docs/gst/tmpl/gstbasetransform.sgml:
12810         * docs/gst/tmpl/gstfakesrc.sgml:
12811         * gst/base/gstcollectpads.c:
12812         * gst/base/gstcollectpads.h:
12813         * libs/gst/controller/gst-controller.c:
12814         * libs/gst/controller/gst-controller.h:
12815         * libs/gst/controller/gst-helper.c:
12816         * libs/gst/controller/gst-interpolation.c:
12817         * libs/gst/controller/lib.c:
12818           added long/short desc for controller docs
12819           added collectpads base class docs
12820           added correct includes to base-class docs
12821
12822 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12823
12824         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12825         (gst_test_mono_source_set_property),
12826         (gst_test_mono_source_class_init), (GST_START_TEST),
12827         (gst_controller_suite):
12828         * docs/gst/gstreamer-docs.sgml:
12829         * docs/gst/gstreamer-sections.txt:
12830         * docs/gst/gstreamer.types:
12831         * docs/libs/gstreamer-libs-docs.sgml:
12832         * docs/libs/gstreamer-libs-sections.txt:
12833         * gst/base/gstadapter.c:
12834         * libs/gst/controller/gst-controller.c:
12835         (gst_controlled_property_new), (gst_controlled_property_free),
12836         (gst_controller_new_valist),
12837         (gst_controller_remove_properties_valist),
12838         (gst_controller_sink_values), (_gst_controller_finalize):
12839         * libs/gst/controller/gst-controller.h:
12840         * libs/gst/controller/gst-helper.c:
12841         (gst_object_control_properties), (gst_object_uncontrol_properties),
12842         (gst_object_get_controller), (gst_object_set_controller),
12843         (gst_object_sink_values), (gst_object_get_value_arrays),
12844         (gst_object_get_value_array):
12845           more tests (and fixes) for the controller
12846           more docs for the controller
12847           integrated companies docs for the adapter 
12848
12849 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12850
12851         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12852         (GST_START_TEST), (fakesrc_suite):
12853           add tests for sizetype
12854
12855 2005-08-04  Andy Wingo  <wingo@pobox.com>
12856
12857         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12858         fixes buffer_alloc proxying among other things.
12859
12860         * gst/base/gstbasetransform.c:
12861         * gst/base/gstbasetransform.h:
12862         Revert patch to gstbasetransform from 7-28 removing
12863         delay_configure.
12864
12865         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12866         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12867         Semantics changed, should return not the size of the output buffer
12868         but the byte size of a buffer with a given caps.
12869
12870         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12871         debug object.
12872         (gst_base_transform_configure_caps): Don't set out_size here: (in,
12873         out) are not the pad caps until setcaps finishes.
12874         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12875         not-in-place case as well. Deal with changing from in-place to
12876         not-in-place within calling pad_alloc_buffer. Still a bit
12877         concerned about the overhead here...
12878
12879 2005-08-03  Andy Wingo  <wingo@pobox.com>
12880
12881         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12882         fixating is an error.
12883
12884 2005-08-04  Edward Hervey  <edward@fluendo.com>
12885
12886         * gst/base/gstadapter.h: 
12887         Added gst_adapter_get_type() to the header
12888
12889 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12890
12891         * check/Makefile.am:
12892         * check/gst-libs/controller.c:
12893         * libs/gst/controller/gst-controller.c:
12894         (gst_controller_new_valist):
12895           added check test suite for the controller
12896         * gst/base/gstpushsrc.c:
12897           fixed a doc typo
12898
12899 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12900
12901         * docs/gst/Makefile.am:
12902         * docs/gst/gstreamer-docs.sgml:
12903         * docs/gst/gstreamer-sections.txt:
12904         * docs/gst/gstreamer.types:
12905         * docs/gst/tmpl/gstfakesrc.sgml:
12906         * gst/base/README:
12907         * gst/base/gstbasesink.c:
12908         * gst/base/gstbasesink.h:
12909         * gst/base/gstbasesrc.c:
12910         * gst/base/gstbasesrc.h:
12911         * gst/base/gstbasetransform.c:
12912         * gst/base/gstpushsrc.c:
12913         * gst/base/gstpushsrc.h:
12914           add short/long description docs to base classes
12915           add pushsrc to the docs
12916           remove consolidated doc fragments
12917
12918 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12919
12920         * configure.ac:
12921         * docs/libs/Makefile.am:
12922         * docs/libs/gstreamer-libs-docs.sgml:
12923         * docs/libs/gstreamer-libs-sections.txt:
12924         * docs/libs/gstreamer-libs.types:
12925         * examples/Makefile.am:
12926         * examples/controller/.cvsignore:
12927         * examples/controller/Makefile.am:
12928         * examples/controller/audio-example.c: (main):
12929         * libs/gst/Makefile.am:
12930         * libs/gst/controller/.cvsignore:
12931         * libs/gst/controller/Makefile.am:
12932         * libs/gst/controller/gst-controller.c:
12933         (on_object_controlled_property_changed), (gst_timed_value_compare),
12934         (gst_timed_value_find),
12935         (gst_controlled_property_set_interpolation_mode),
12936         (gst_controlled_property_new), (gst_controlled_property_free),
12937         (gst_controller_find_controlled_property),
12938         (gst_controller_new_valist), (gst_controller_new),
12939         (gst_controller_remove_properties_valist),
12940         (gst_controller_remove_properties), (gst_controller_set),
12941         (gst_controller_set_from_list), (gst_controller_unset),
12942         (gst_controller_get), (gst_controller_get_all),
12943         (gst_controller_sink_values), (gst_controller_get_value_arrays),
12944         (gst_controller_get_value_array),
12945         (gst_controller_set_interpolation_mode),
12946         (_gst_controller_finalize), (_gst_controller_init),
12947         (_gst_controller_class_init), (gst_controller_get_type):
12948         * libs/gst/controller/gst-controller.h:
12949         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12950         (g_object_uncontrol_properties), (g_object_get_controller),
12951         (g_object_set_controller), (g_object_sink_values),
12952         (g_object_get_value_arrays), (g_object_get_value_array):
12953         * libs/gst/controller/gst-interpolation.c:
12954         (gst_controlled_property_find_timed_value_node),
12955         (interpolate_none_get), (interpolate_trigger_get),
12956         (interpolate_trigger_get_value_array):
12957         * libs/gst/controller/lib.c: (gst_controller_init):
12958         * pkgconfig/Makefile.am:
12959         * pkgconfig/gstreamer-control-uninstalled.pc.in:
12960         * pkgconfig/gstreamer-control.pc.in:
12961         * testsuite/Makefile.am:
12962         * testsuite/controller/.cvsignore:
12963         * testsuite/controller/Makefile.am:
12964         * testsuite/controller/interpolator.c: (main):
12965           added controller code
12966           removed dparam pc files
12967
12968 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12969         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
12970         (gst_collectpads_stop):
12971           Broadcast the condition when shutting down, to make sure we wake all
12972           threads up. Shut down pads on finalize, for safety.
12973
12974 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12975         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12976         (gst_base_transform_handle_buffer),
12977         (gst_base_transform_change_state):
12978           Handle PAUSED->READY->PAUSED transition after negotiation
12979           occurred already.
12980         * gst/gstmessage.c: (gst_message_init):
12981           Extra piece of debug for new messages.
12982
12983 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
12984
12985         * configure.ac:
12986         * docs/gst/tmpl/gstbasesrc.sgml:
12987         * docs/gst/tmpl/gstelement.sgml:
12988         * docs/gst/tmpl/gstevent.sgml:
12989         * docs/gst/tmpl/gstfakesrc.sgml:
12990         * docs/gst/tmpl/gstformat.sgml:
12991         * docs/gst/tmpl/gstghostpad.sgml:
12992         * docs/gst/tmpl/gstpad.sgml:
12993         * docs/gst/tmpl/gstquery.sgml:
12994         * docs/gst/tmpl/gststructure.sgml:
12995         * docs/gst/tmpl/gsttaglist.sgml:
12996         * docs/gst/tmpl/gstvalue.sgml:
12997         * docs/libs/gstreamer-libs-docs.sgml:
12998         * docs/libs/gstreamer-libs-sections.txt:
12999         * docs/libs/gstreamer-libs.types:
13000         * libs/gst/Makefile.am:
13001         * libs/gst/control/.cvsignore:
13002         * libs/gst/control/Makefile.am:
13003         * libs/gst/control/control.c:
13004         * libs/gst/control/control.h:
13005         * libs/gst/control/dparam.c:
13006         * libs/gst/control/dparam.h:
13007         * libs/gst/control/dparam_smooth.c:
13008         * libs/gst/control/dparam_smooth.h:
13009         * libs/gst/control/dparamcommon.h:
13010         * libs/gst/control/dparammanager.c:
13011         * libs/gst/control/dparammanager.h:
13012         * libs/gst/control/dplinearinterp.c:
13013         * libs/gst/control/dplinearinterp.h:
13014         * libs/gst/control/unitconvert.c:
13015         * libs/gst/control/unitconvert.h:
13016         * testsuite/Makefile.am:
13017         * testsuite/dynparams/.cvsignore:
13018         * testsuite/dynparams/Makefile.am:
13019         * testsuite/dynparams/dparamstest.c:
13020         * tools/Makefile.am:
13021         * tools/gst-inspect.c: (print_element_info), (main):
13022         * tools/gst-xmlinspect.c: (print_element_info), (main):
13023           deactivate and remove dparams (libgstcontrol)
13024
13025 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13026
13027         * gst/elements/gsttypefindelement.c:
13028         (gst_type_find_element_have_type), (gst_type_find_element_init),
13029         (stop_typefinding), (gst_type_find_element_handle_event),
13030         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13031         * gst/elements/gsttypefindelement.h:
13032           Set caps on all outgoing buffers, not just the first one.
13033
13034 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13035
13036         * gst/elements/gsttypefindelement.c:
13037         (gst_type_find_element_have_type),
13038         (gst_type_find_element_check_set_buffer_caps),
13039         (gst_type_find_element_init), (stop_typefinding),
13040         (gst_type_find_element_handle_event),
13041         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13042         * gst/elements/gsttypefindelement.h:
13043           Set caps on first outgoing buffer when we've found the type.
13044
13045 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13046
13047         * docs/gst/gstreamer-docs.sgml:
13048         * docs/gst/gstreamer-sections.txt:
13049         * docs/gst/tmpl/gstscheduler.sgml:
13050         * docs/gst/tmpl/gstschedulerfactory.sgml:
13051           Remove some old cruft from docs.
13052
13053 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13054
13055         * gst/gstpad.h:
13056           Fix inline docs for GstPadLinkReturn.
13057           
13058         * gst/gststructure.c: (gst_structure_has_name):
13059         * gst/gststructure.h:
13060         * docs/gst/gstreamer-sections.txt:
13061           New API: gst_structure_has_name().
13062
13063 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13064
13065         * configure.ac:
13066           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13067           and _LARGEFILE_SOURCE in config.h as required. Do not 
13068           export those flags in our .pc files any longer (#142209).
13069
13070           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13071
13072         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13073         (gst_file_sink_do_seek), (gst_file_sink_event),
13074         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13075           Redo seek/tell calls with large file support in mind; add some
13076           debugging messages; add log message that tells us when large
13077           file support is unavailable or not enabled for some reason.
13078
13079         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13080           Add log message that tells us when large file support 
13081           is unavailable or not enabled for some reason.
13082
13083 2005-07-29  Wim Taymans  <wim@fluendo.com>
13084
13085         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13086         Added test for removing an element with ghostpad from a bin.
13087         Fixed test as current implementation does the right thing.
13088
13089         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13090         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13091         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13092         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13093         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13094         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13095         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13096         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13097         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13098         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13099         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13100         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13101         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13102         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13103         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13104         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13105         * gst/gstghostpad.h:
13106         Clean up ghostpads, remove properties for internal stuff.
13107         Make threadsafe.
13108         Fix refcounting.
13109         Prepare for switching targets, not all use cases work yet.
13110
13111 2005-07-29  Wim Taymans  <wim@fluendo.com>
13112
13113         * docs/design/part-gstghostpad.txt:
13114         Small update.
13115
13116         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13117         (gst_bin_remove_func):
13118         Unlinking pads while holding the bin LOCK is not a good
13119         idea.
13120
13121         * gst/gstpad.c: (gst_pad_class_init),
13122         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13123         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13124         No prob setting template after creating the pad.
13125
13126 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13127
13128         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13129         (gst_bus_peek), (gst_bus_source_dispatch),
13130         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13131         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13132           gst_bus_poll may be called from other threads. Handle
13133           this nicely by not making poll_data disappear off the
13134           stack once gst_bus_poll returns.
13135           gst_bus_peek now increments the refcount on the returned
13136           message.
13137
13138 2005-07-29  Wim Taymans  <wim@fluendo.com>
13139
13140         * docs/design/part-gstghostpad.txt:
13141         Overview of current GhostPad datastructures and use
13142         cases for changing the target.
13143
13144 2005-07-28  Wim Taymans  <wim@fluendo.com>
13145
13146         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13147         Added checks for hierarchy consistency whan adding linked
13148         elements to bins.
13149
13150         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13151         Added check to test element scheduling without bin/pipeline.
13152
13153         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13154         First add elements to bin, then link.
13155         
13156         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13157         (gst_bin_remove_func):
13158         Unlink pads from elements added/removed from bin to maintain
13159         hierarchy consistency.
13160
13161 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13162
13163         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13164         (gst_base_transform_handle_buffer):
13165         * gst/base/gstbasetransform.h:
13166           Remove broken delay_configure (fixes renegotiation of software
13167           scaling pipelines); remove some leftover printf()s.
13168
13169 2005-07-28  Wim Taymans  <wim@fluendo.com>
13170
13171         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13172         Added some more tests for wrong hierarchy
13173
13174         * docs/design/part-overview.txt:
13175         Some updates.
13176
13177         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13178         Cleanups.
13179
13180         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13181         (gst_element_dispose):
13182         Some more cleanups.
13183
13184         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13185         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13186         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13187         (gst_pad_set_caps), (gst_pad_send_event):
13188         Check for correct hierarchy when linking pads. Moving to
13189         strict requirement for ghostpads when linking elements in
13190         different bins.
13191
13192         * gst/gstpad.h:
13193         Clean ups. Added WRONG_HIERARCHY return value.
13194
13195 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13196
13197         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13198           Better debug if no transform is possible.
13199
13200 2005-07-27  Wim Taymans  <wim@fluendo.com>
13201
13202         * docs/random/wtay/network-transp:
13203         Some old doc I had.
13204
13205 2005-07-27  Wim Taymans  <wim@fluendo.com>
13206
13207         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13208         (gst_dp_event_from_packet):
13209         Fix serialization of seek events.
13210
13211 2005-07-27  Wim Taymans  <wim@fluendo.com>
13212
13213         * check/gst-libs/gdp.c: (GST_START_TEST):
13214         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13215         Fix compilation and fix event serialization.
13216
13217 2005-07-27  Wim Taymans  <wim@fluendo.com>
13218
13219         * CHANGES-0.9:
13220         * docs/design/part-TODO.txt:
13221         * docs/design/part-events.txt:
13222         Some docs updates
13223
13224         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13225         (gst_base_sink_event), (gst_base_sink_do_sync),
13226         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13227         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13228         (gst_base_src_do_seek), (gst_base_src_event_handler),
13229         (gst_base_src_loop):
13230         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13231         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13232         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13233         (gst_base_transform_event), (gst_base_transform_handle_buffer),
13234         (gst_base_transform_set_passthrough),
13235         (gst_base_transform_is_passthrough):
13236         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13237         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13238         Event updates.
13239
13240         * gst/gstbuffer.h:
13241         Use faster casts.
13242
13243         * gst/gstelement.c: (gst_element_seek):
13244         * gst/gstelement.h:
13245         Update gst_element_seek.
13246
13247         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13248         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13249         (gst_event_new_flush_start), (gst_event_new_flush_stop),
13250         (gst_event_new_eos), (gst_event_new_newsegment),
13251         (gst_event_parse_newsegment), (gst_event_new_tag),
13252         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13253         (gst_event_parse_qos), (gst_event_new_seek),
13254         (gst_event_parse_seek), (gst_event_new_navigation):
13255         * gst/gstevent.h:
13256         Make GstEvent use GstStructure. Add parsing code, make sure the
13257         API is sufficiently generic.
13258         Mark possible directions of events and serialization.
13259
13260         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13261         (_gst_message_copy), (gst_message_new_segment_start),
13262         (gst_message_new_segment_done), (gst_message_new_custom),
13263         (gst_message_parse_segment_start),
13264         (gst_message_parse_segment_done):
13265         Small cleanups.
13266
13267         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13268         (gst_pad_set_caps), (gst_pad_send_event):
13269         Update for new events. 
13270         Catch events sent in wrong directions.
13271
13272         * gst/gstqueue.c: (gst_queue_link_src),
13273         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13274         (gst_queue_handle_src_query):
13275         Event updates.
13276
13277         * gst/gsttag.c:
13278         * gst/gsttag.h:
13279         Remove event code from this file.
13280
13281         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13282         (gst_dp_event_from_packet):
13283         Event updates.
13284
13285 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13286
13287         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13288         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13289         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13290           Make debugging actually useful.
13291
13292 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13293
13294         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13295         (gst_pad_fixate_caps):
13296           Implement default fixation once again, so that gst_pad_fixate()
13297           actually does anything at all. This probably needs to be some
13298           sort of a last resort, and use profile-based fixation first, but
13299           since that doesn't exist yet, this is the best we have. Fixes
13300           visualization in Totem.
13301
13302 2005-07-22  Wim Taymans  <wim@fluendo.com>
13303
13304         * docs/design/part-events.txt:
13305         Small update.
13306
13307         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13308         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13309         (gst_base_sink_activate_pull):
13310         Some more comments.
13311
13312         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13313         (gst_fake_src_create):
13314         Fix handoff marshall.
13315
13316         * gst/elements/gstidentity.c: (gst_identity_class_init),
13317         (gst_identity_transform_ip):
13318         We're a real inplace element.
13319
13320         * gst/gstbus.c: (gst_bus_post):
13321         Added some comments.
13322
13323         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13324         * tests/muxing/case1.c: (main):
13325         * tests/sched/dynamic-pipeline.c: (main):
13326         * tests/sched/interrupt1.c: (main):
13327         * tests/sched/interrupt2.c: (main):
13328         * tests/sched/interrupt3.c: (main):
13329         * tests/sched/runxml.c: (main):
13330         * tests/sched/sched-stress.c: (main):
13331         * tests/seeking/seeking1.c: (event_received), (main):
13332         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13333         (main):
13334         * tests/threadstate/threadstate3.c: (main):
13335         * tests/threadstate/threadstate4.c: (main):
13336         * tests/threadstate/threadstate5.c: (main):
13337         Fix the tests.
13338
13339 2005-07-21  Wim Taymans  <wim@fluendo.com>
13340
13341         * docs/design/part-seeking.txt:
13342         Some small additions.
13343
13344         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13345         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13346         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13347         * gst/base/gstbasesink.h:
13348         discont values are gint64, handle the math correctly.
13349
13350         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13351         Make the basesrc report error if the source pad is not linked.
13352
13353         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13354         (gst_queue_loop), (gst_queue_handle_src_query),
13355         (gst_queue_src_activate_push):
13356         Make queue collect data even if the srcpad is not linked.
13357         Start pushing out data as soon as it is linked.
13358
13359         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13360         * gst/gstutils.h:
13361         Added gst_flow_get_name() to ease error reporting.
13362
13363 2005-07-20  Wim Taymans  <wim@fluendo.com>
13364
13365         * gst/gstmessage.c: (gst_message_new_segment_start),
13366         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13367         (gst_message_parse_segment_done):
13368         * gst/gstmessage.h:
13369         Added a bunch of messages for advanced seeking.
13370
13371         * gst/parse/grammar.y:
13372         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13373         (gst_dpman_state_changed):
13374         Fix some new-pad -> pad-added signals
13375
13376 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13377
13378         * docs/manual/appendix-porting.xml:
13379         * docs/pwg/appendix-porting.xml:
13380           Document new-pad/state-change signal renames and the FixedList
13381           type rename.
13382
13383 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13384
13385         * docs/manual/advanced-autoplugging.xml:
13386         * docs/manual/basics-helloworld.xml:
13387         * docs/manual/basics-pads.xml:
13388         * docs/random/ds/0.9-suggested-changes:
13389         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13390         * gst/gstelement.h:
13391         * gst/gstevent.h:
13392         * gst/gstformat.h:
13393         * gst/gstquery.h:
13394         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13395         (gst_structure_parse_array), (gst_structure_parse_value):
13396         * gst/gstvalue.c: (gst_type_is_fixed),
13397         (gst_value_list_prepend_value), (gst_value_list_append_value),
13398         (gst_value_list_get_size), (gst_value_list_get_value),
13399         (gst_value_transform_array_string), (gst_value_serialize_array),
13400         (gst_value_deserialize_array), (gst_value_intersect_array),
13401         (gst_value_is_fixed), (_gst_value_initialize):
13402         * gst/gstvalue.h:
13403           GstElement::new-pad -> pad-added, GstElement::state-change ->
13404           state-changed, GstValueFixedList -> GstValueArray, add format and
13405           flags as their own arguments in gst_element_seek() (should improve
13406           "bindeability"), remove function generators since they don't work
13407           under a whole bunch of compilers (they were deprecated already
13408           anyway).
13409
13410 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13411
13412         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13413         (_gst_debug_register_funcptr):
13414         * gst/gstinfo.h:
13415           Fix illegal cast on some platforms (#309253).
13416
13417 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13418
13419         * gst/gstmessage.c: (gst_message_new_custom):
13420         * gst/gstmessage.h:
13421           Add _new_custom, make _new_application a macro to _new_custom.
13422
13423 2005-07-20  Wim Taymans  <wim@fluendo.com>
13424
13425         * gst/base/gstbasesrc.c: (gst_base_src_init),
13426         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13427         * gst/base/gstbasesrc.h:
13428         Add a gboolean to decide when to push out a discont.
13429
13430         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13431         (gst_queue_loop), (gst_queue_handle_src_query),
13432         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13433         (gst_queue_set_property), (gst_queue_get_property):
13434         Some cleanups.
13435
13436         * tests/threadstate/threadstate1.c: (main):
13437         Make a thread test compile and run... very silly..
13438
13439
13440 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13441
13442         * docs/manual/appendix-porting.xml:
13443           Mention removal of libgstgconf-0.9.la and existence of gconf
13444           elements.
13445
13446 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13447
13448         * docs/pwg/advanced-clock.xml:
13449         * docs/pwg/appendix-porting.xml:
13450         * docs/pwg/intro-preface.xml:
13451         * docs/pwg/other-base.xml:
13452         * docs/pwg/other-manager.xml:
13453         * docs/pwg/other-nton.xml:
13454         * docs/pwg/other-ntoone.xml:
13455         * docs/pwg/other-oneton.xml:
13456         * docs/pwg/pwg.xml:
13457           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13458           demuxer), remove n-to-n (was never written), fix some code examples
13459           and links and update the porting section to include all this.
13460
13461 2005-07-19  Wim Taymans  <wim@fluendo.com>
13462
13463         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13464         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13465         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13466         (gst_queue_src_activate_push), (gst_queue_change_state),
13467         (gst_queue_get_property):
13468         * gst/gstqueue.h:
13469         Propagate GstFlowReturn more intelligently upstream and output
13470         an ERROR/EOS when streaming stopped due to fatal error.
13471
13472 2005-07-19  Wim Taymans  <wim@fluendo.com>
13473
13474         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13475         Don't block forever for the state change to complete, the
13476         pipeline already did with a sensible timeout.
13477
13478 2005-07-19  Wim Taymans  <wim@fluendo.com>
13479
13480         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13481         Make sure we never call the create function is we
13482         got deactivated.
13483
13484 2005-07-19  Andy Wingo  <wingo@pobox.com>
13485
13486         * gst/parse/parse.l: Attempt to solve bug #172815.
13487
13488 2005-07-19  Wim Taymans  <wim@fluendo.com>
13489
13490         * docs/design/part-clocks.txt:
13491         * docs/design/part-events.txt:
13492         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13493         Small docs updates.
13494         Only update the seeking values when we are not
13495         busy streaming.
13496
13497 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13498
13499         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13500           Oops, ignore the result of gst_pad_push_event here.
13501
13502 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13503
13504         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13505         (gst_base_src_activate_push):
13506           Send discont event from the loop function, as pads
13507           aren't activated yet in the activate_push handler.
13508
13509         * gst/gstbin.c: (bin_bus_handler):
13510           Don't leak element name.
13511
13512 2005-07-18  Andy Wingo  <wingo@pobox.com>
13513
13514         * configure.ac: Use AS_LIBTOOL_TAGS.
13515
13516 2005-07-18  Wim Taymans  <wim@fluendo.com>
13517
13518         * docs/gst/gstreamer.types:
13519         Remove deleted types.
13520
13521 2005-07-18  Wim Taymans  <wim@fluendo.com>
13522
13523         * check/elements/gstfakesrc.c: (GST_START_TEST):
13524         * configure.ac:
13525         * gst/Makefile.am:
13526         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13527         (init_popt_callback):
13528         * gst/gst.h:
13529         * gst/gst_private.h:
13530         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13531         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13532         * gst/gstbin.h:
13533         * gst/gstbus.h:
13534         * gst/gstconfig.h.in:
13535         * gst/gstelement.c: (gst_element_class_init),
13536         (gst_element_set_base_time), (gst_element_get_base_time),
13537         (iterator_fold_with_resync), (gst_element_change_state),
13538         (gst_element_dispose), (gst_element_get_bus):
13539         * gst/gstelement.h:
13540         * gst/gstelementfactory.h:
13541         * gst/gsterror.c: (_gst_core_errors_init):
13542         * gst/gsterror.h:
13543         * gst/gstevent.h:
13544         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13545         * gst/gstindex.c:
13546         * gst/gstinfo.c: (_gst_debug_init):
13547         * gst/gstmessage.c: (_gst_message_copy):
13548         * gst/gstmessage.h:
13549         * gst/gstminiobject.h:
13550         * gst/gstobject.c:
13551         * gst/gstobject.h:
13552         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13553         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13554         * gst/gstpad.h:
13555         * gst/gstparse.h:
13556         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13557         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13558         (gst_pipeline_get_last_stream_time):
13559         * gst/gstpipeline.h:
13560         * gst/gstpluginfeature.h:
13561         * gst/gstquery.h:
13562         * gst/gstscheduler.c:
13563         * gst/gstscheduler.h:
13564         * gst/gststructure.h:
13565         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13566         (gst_task_finalize), (gst_task_func), (gst_task_create),
13567         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13568         (gst_task_stop), (gst_task_pause):
13569         * gst/gsttask.h:
13570         * gst/gsttypefind.h:
13571         * gst/gsttypes.h:
13572         * gst/registries/gstlibxmlregistry.c: (load_feature),
13573         (gst_xml_registry_load), (gst_xml_registry_save_feature):
13574         * gst/registries/gstxmlregistry.c:
13575         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13576         * gst/schedulers/threadscheduler.c:
13577         * libs/gst/control/dparammanager.h:
13578         * tools/gst-inspect.c: (print_element_list),
13579         (print_plugin_features), (print_element_features):
13580         * tools/gst-xmlinspect.c: (print_element_list),
13581         (print_plugin_info), (main):
13582         Removed plugable schedulers.
13583         Removed Scheduler/Manager from elements.
13584         Removed gsttypes.h, rearranged includes.
13585         Removed dependency pad<->element, element<>pipeline, and
13586         various others,  fix includes.
13587         implement gst_pad_get_parent() with gst_object_get_parent()
13588         Make GstTask sefcontained.
13589         Fix _get_state() on GstBin, it did not return ASYNC with a 0
13590         timeout.
13591         Fix endless loop in iterator_fold_with_resync.
13592
13593
13594 2005-07-18  Wim Taymans  <wim@fluendo.com>
13595
13596         * gst/Makefile.am:
13597         * gst/gstarch.h:
13598         Remove old file.
13599
13600 2005-07-18  Wim Taymans  <wim@fluendo.com>
13601
13602         * gst/Makefile.am:
13603         No more cothreads.h
13604
13605 2005-07-18  Wim Taymans  <wim@fluendo.com>
13606
13607         * gst/cothreads.c:
13608         * gst/cothreads.h:
13609         Let's remove these.
13610
13611 2005-07-18  Wim Taymans  <wim@fluendo.com>
13612
13613         * docs/design/part-dynamic.txt:
13614         * docs/design/part-events.txt:
13615         * docs/design/part-seeking.txt:
13616         Some more docs in the works.
13617
13618         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13619         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13620         (gst_base_transform_setcaps), (gst_base_transform_get_size),
13621         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13622         (gst_base_transform_handle_buffer),
13623         (gst_base_transform_sink_activate_push),
13624         (gst_base_transform_src_activate_pull),
13625         (gst_base_transform_set_passthrough),
13626         (gst_base_transform_is_passthrough):
13627         Refcounting fixes.
13628
13629         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13630         Cleanups.
13631
13632         * gst/gstevent.c: (gst_event_finalize):
13633         Set SRC to NULL.
13634
13635         * gst/gstutils.c: (gst_element_unlink),
13636         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13637         (gst_pad_proxy_setcaps):
13638         * gst/gstutils.h:
13639         Add _get_parent_element() to get a pads parent as an element.
13640
13641 2005-07-18  Wim Taymans  <wim@fluendo.com>
13642
13643         * check/gst/gstbin.c: (GST_START_TEST):
13644         Remove bogus test.
13645
13646 2005-07-18  Wim Taymans  <wim@fluendo.com>
13647
13648         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13649         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13650         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13651         (gst_base_sink_event), (gst_base_sink_do_sync),
13652         (gst_base_sink_chain), (gst_base_sink_loop),
13653         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13654         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13655         Refcounting fixes.
13656         Fix logic for returning ASYNC when not prerolled.
13657
13658 2005-07-18  Wim Taymans  <wim@fluendo.com>
13659
13660         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13661         Fix nasty refcount bug.
13662
13663 2005-07-16 Philippe Khalaf <burger@speedy.org>
13664
13665         * gst/elements/gstfdsrc.c:
13666         * gst/elements/gstfdsrc.h:
13667         * gst/elements/gstelements.c:
13668         * gst/elements/Makefile.am:
13669         Ported fdsrc to 0.9.
13670
13671 2005-07-16  Wim Taymans  <wim@fluendo.com>
13672
13673         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13674         (gst_base_sink_do_sync):
13675         Fix compile error.
13676
13677 2005-07-16  Wim Taymans  <wim@fluendo.com>
13678
13679         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13680         (gst_base_sink_event), (gst_base_sink_get_times),
13681         (gst_base_sink_do_sync), (gst_base_sink_change_state):
13682         * gst/base/gstbasesink.h:
13683         Store and use discont values when syncing buffers as described
13684         in design docs.
13685         
13686         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13687         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13688         (gst_base_src_activate_push):
13689         Push discont event when starting.
13690
13691         * gst/elements/gstidentity.c: (gst_identity_transform):
13692         Small cleanups.
13693
13694         * gst/gstbin.c: (gst_bin_change_state):
13695         Small cleanups in base_time  distribution.
13696
13697         * gst/gstelement.c: (gst_element_set_base_time),
13698         (gst_element_get_base_time), (gst_element_change_state):
13699         * gst/gstelement.h:
13700         Added methods for the base_time of the element.
13701         Some MT fixes.
13702
13703         * gst/gstpipeline.c: (gst_pipeline_send_event),
13704         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13705         (gst_pipeline_get_last_stream_time):
13706         * gst/gstpipeline.h:
13707         MT fixes.
13708         Handle seeking as described in design doc, remove stream_time
13709         hack.
13710         Cleanups clock and stream_time selection code. Added accessors
13711         for the stream_time.
13712         
13713
13714 2005-07-16  Andy Wingo  <wingo@pobox.com>
13715
13716         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13717         (#305291).
13718
13719 2005-07-16  Wim Taymans  <wim@fluendo.com>
13720
13721         * check/gst/gstbin.c: (GST_START_TEST):
13722         Make elements silent as the deep_notify refs the
13723         parent, which might make the test fail.
13724
13725         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13726         Don't hold the lock for too long.
13727
13728 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
13729
13730         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13731           Don't unref the caps we passed to gst_caps_make_writable() after
13732           passing them. gst_caps_make_writable() will do that for us.
13733
13734 2005-07-15  Andy Wingo  <wingo@pobox.com>
13735
13736         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13737         (#157311).
13738
13739         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13740         own marshalling function for the handoff signal. Properly type the
13741         buffer as a buffer. Fixes some warnings. Should do a more general
13742         solution.
13743         (gst_identity_class_init): Plug into the right marshaller.
13744
13745 2005-07-15  Wim Taymans  <wim@fluendo.com>
13746
13747         * docs/design/part-TODO.txt:
13748         * docs/design/part-clocks.txt:
13749         * docs/design/part-element-sink.txt:
13750         * docs/design/part-events.txt:
13751         * docs/design/part-gstpipeline.txt:
13752         Updated docs, mostly DISCONT related.
13753
13754 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
13755
13756         * docs/pwg/building-pads.xml:
13757           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13758
13759 2005-07-15  Andy Wingo  <wingo@pobox.com>
13760
13761         * tools/gst-typefind.c: Update, add copyright block.
13762
13763         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13764         Normalize and truncate caps before fixation.
13765
13766         * gst/gstcaps.h:
13767         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13768         discards all but the first structure from its argument.
13769
13770 2005-07-15  Wim Taymans  <wim@fluendo.com>
13771
13772         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13773         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13774         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13775         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13776         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13777         (gst_base_transform_chain), (gst_base_transform_change_state),
13778         (gst_base_transform_set_passthrough),
13779         (gst_base_transform_is_passthrough):
13780         * gst/base/gstbasetransform.h:
13781         Make passthrough work using the bufferpools.
13782         Changed API a bit, subclasses have to write into a buffer
13783         provided by the base class.
13784         More debug info in nego functions.
13785         
13786         * gst/elements/gstidentity.c: (gst_identity_init),
13787         (gst_identity_transform):
13788         Port to new base class.
13789
13790 2005-07-15  Wim Taymans  <wim@fluendo.com>
13791
13792         * gst/gstmessage.c: (gst_message_new_state_changed):
13793         * tools/gst-launch.c: (event_loop), (main):
13794         Totally dump messages in -launch with the -m option.
13795         Fix message name for State messages,
13796
13797 2005-07-14  Wim Taymans  <wim@fluendo.com>
13798
13799         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13800         Post error messages on errors.
13801
13802 2005-07-14  Wim Taymans  <wim@fluendo.com>
13803
13804         * gst/gstcaps.c: (gst_caps_do_simplify):
13805         Remove debug info.
13806
13807         * gst/gsterror.h:
13808         Define error for stream stopped.
13809
13810         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13811         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
13812         Do proper return values.
13813
13814         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13815         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13816         (gst_pad_get_range):
13817         Better return values.
13818
13819         * gst/gstpad.h:
13820         Reorganise return values, add macro to check for fatal errors.
13821
13822         * gst/gstqueue.c: (gst_queue_chain):
13823         Return proper GstFlowReturn values,
13824
13825 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13826
13827         * docs/gst/gstreamer-sections.txt:
13828         * docs/gst/gstreamer.types:
13829         * docs/gst/tmpl/gst.sgml:
13830         * docs/gst/tmpl/gstbasesink.sgml:
13831         * docs/gst/tmpl/gstbasesrc.sgml:
13832         * docs/gst/tmpl/gstbasetransform.sgml:
13833         * docs/gst/tmpl/gstbin.sgml:
13834         * docs/gst/tmpl/gstbuffer.sgml:
13835         * docs/gst/tmpl/gstcaps.sgml:
13836         * docs/gst/tmpl/gstclock.sgml:
13837         * docs/gst/tmpl/gstcompat.sgml:
13838         * docs/gst/tmpl/gstconfig.sgml:
13839         * docs/gst/tmpl/gstelement.sgml:
13840         * docs/gst/tmpl/gstelementdetails.sgml:
13841         * docs/gst/tmpl/gstelementfactory.sgml:
13842         * docs/gst/tmpl/gstenumtypes.sgml:
13843         * docs/gst/tmpl/gsterror.sgml:
13844         * docs/gst/tmpl/gstevent.sgml:
13845         * docs/gst/tmpl/gstfakesink.sgml:
13846         * docs/gst/tmpl/gstfakesrc.sgml:
13847         * docs/gst/tmpl/gstfilesink.sgml:
13848         * docs/gst/tmpl/gstfilesrc.sgml:
13849         * docs/gst/tmpl/gstfilter.sgml:
13850         * docs/gst/tmpl/gstformat.sgml:
13851         * docs/gst/tmpl/gstghostpad.sgml:
13852         * docs/gst/tmpl/gstimplementsinterface.sgml:
13853         * docs/gst/tmpl/gstindex.sgml:
13854         * docs/gst/tmpl/gstindexfactory.sgml:
13855         * docs/gst/tmpl/gstinfo.sgml:
13856         * docs/gst/tmpl/gstiterator.sgml:
13857         * docs/gst/tmpl/gstmacros.sgml:
13858         * docs/gst/tmpl/gstmemchunk.sgml:
13859         * docs/gst/tmpl/gstminiobject.sgml:
13860         * docs/gst/tmpl/gstobject.sgml:
13861         * docs/gst/tmpl/gstpad.sgml:
13862         * docs/gst/tmpl/gstpadtemplate.sgml:
13863         * docs/gst/tmpl/gstparse.sgml:
13864         * docs/gst/tmpl/gstpipeline.sgml:
13865         * docs/gst/tmpl/gstplugin.sgml:
13866         * docs/gst/tmpl/gstpluginfeature.sgml:
13867         * docs/gst/tmpl/gstquery.sgml:
13868         * docs/gst/tmpl/gstqueue.sgml:
13869         * docs/gst/tmpl/gstregistry.sgml:
13870         * docs/gst/tmpl/gstregistrypool.sgml:
13871         * docs/gst/tmpl/gstscheduler.sgml:
13872         * docs/gst/tmpl/gstschedulerfactory.sgml:
13873         * docs/gst/tmpl/gststructure.sgml:
13874         * docs/gst/tmpl/gstsystemclock.sgml:
13875         * docs/gst/tmpl/gsttaglist.sgml:
13876         * docs/gst/tmpl/gsttagsetter.sgml:
13877         * docs/gst/tmpl/gsttrace.sgml:
13878         * docs/gst/tmpl/gsttrashstack.sgml:
13879         * docs/gst/tmpl/gsttypefind.sgml:
13880         * docs/gst/tmpl/gsttypefindfactory.sgml:
13881         * docs/gst/tmpl/gsttypes.sgml:
13882         * docs/gst/tmpl/gsturihandler.sgml:
13883         * docs/gst/tmpl/gsturitype.sgml:
13884         * docs/gst/tmpl/gstutils.sgml:
13885         * docs/gst/tmpl/gstvalue.sgml:
13886         * docs/gst/tmpl/gstversion.sgml:
13887         * docs/gst/tmpl/gstxml.sgml:
13888         * docs/libs/tmpl/gstcontrol.sgml:
13889         * docs/libs/tmpl/gstdataprotocol.sgml:
13890         * docs/libs/tmpl/gstdparam.sgml:
13891         * docs/libs/tmpl/gstdplinint.sgml:
13892         * docs/libs/tmpl/gstdpman.sgml:
13893         * docs/libs/tmpl/gstdpsmooth.sgml:
13894         * docs/libs/tmpl/gstgetbits.sgml:
13895         * docs/libs/tmpl/gstunitconvert.sgml:
13896         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13897         (gst_push_src_base_init), (gst_push_src_class_init),
13898         (gst_push_src_init), (gst_push_src_create):
13899         * gst/base/gstpushsrc.h:
13900         * gst/elements/gstelements.c:
13901         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13902         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13903         (gst_fake_sink_init), (gst_fake_sink_set_property),
13904         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13905         (gst_fake_sink_event), (gst_fake_sink_preroll),
13906         (gst_fake_sink_render), (gst_fake_sink_change_state):
13907         * gst/elements/gstfakesink.h:
13908         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13909         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13910         (gst_fake_src_base_init), (gst_fake_src_class_init),
13911         (gst_fake_src_init), (gst_fake_src_event_handler),
13912         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13913         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13914         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13915         (gst_fake_src_create_buffer), (gst_fake_src_create),
13916         (gst_fake_src_start), (gst_fake_src_stop):
13917         * gst/elements/gstfakesrc.h:
13918         * gst/elements/gstfilesink.c: (_do_init),
13919         (gst_file_sink_base_init), (gst_file_sink_class_init),
13920         (gst_file_sink_init), (gst_file_sink_dispose),
13921         (gst_file_sink_set_location), (gst_file_sink_set_property),
13922         (gst_file_sink_get_property), (gst_file_sink_open_file),
13923         (gst_file_sink_close_file), (gst_file_sink_query),
13924         (gst_file_sink_event), (gst_file_sink_render),
13925         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13926         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13927         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13928         * gst/elements/gstfilesink.h:
13929         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13930         (gst_file_src_class_init), (gst_file_src_init),
13931         (gst_file_src_finalize), (gst_file_src_set_location),
13932         (gst_file_src_set_property), (gst_file_src_get_property),
13933         (gst_file_src_map_region), (gst_file_src_map_small_region),
13934         (gst_file_src_create_mmap), (gst_file_src_create_read),
13935         (gst_file_src_create), (gst_file_src_is_seekable),
13936         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13937         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13938         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13939         (gst_file_src_uri_handler_init):
13940         * gst/elements/gstfilesrc.h:
13941           more autistic cleanliness in functions/names/defines
13942
13943 2005-07-13  Andy Wingo  <wingo@pobox.com>
13944
13945         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13946         source couldn't negotiate.
13947
13948         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13949         connections again.
13950
13951         * gst/gstutils.h:
13952         * gst/gstutils.c (gst_element_link_pads_filtered): New old
13953         function. I am channeling Hades. Put your boots on suckers!!!
13954
13955 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13956
13957         * testsuite/caps/Makefile.am:
13958         * testsuite/caps/value_compare.c:
13959         * testsuite/caps/value_intersect.c:
13960         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13961           move two testsuite apps over to the check dir
13962
13963 2005-07-12  Wim Taymans  <wim@fluendo.com>
13964
13965         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13966         Added more debug info in the negotiate process.
13967
13968         * gst/gstmessage.h:
13969         Prepare for segment playback.
13970
13971         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
13972         Better debugging.
13973
13974         * gst/gstutils.c:
13975         Some more docs.
13976
13977         * tools/gst-launch.c: (main):
13978         NULL pipeline on errors.
13979
13980 2005-07-12  Andy Wingo  <wingo@pobox.com>
13981
13982         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
13983         not it comes from a malloc region. Make sure our copy gets freed.
13984
13985 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13986
13987         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13988         * check/gst/gstmessage.c: (GST_START_TEST):
13989         * check/gst/gststructure.c: (GST_START_TEST),
13990         (gst_structure_suite), (main):
13991           more testing
13992         * gst/gstelement.c: (gst_element_message_full):
13993           clean up GError and debug string now that they get copied
13994         * gst/gstmessage.c: (gst_message_new_error),
13995         (gst_message_new_warning), (gst_message_parse_error),
13996         (gst_message_parse_warning):
13997           use GST_TYPE_G_ERROR for structure_new, and take copies of
13998           arguments, so that we don't mess up refcounting
13999
14000 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14001
14002         * check/Makefile.am:
14003           add per-test valgrind targets
14004         * check/gst-libs/gdp.c: (GST_START_TEST),
14005         (gst_data_protocol_suite), (main):
14006           clean up
14007
14008 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14009
14010         * check/Makefile.am:
14011           instate more valgrindable tests
14012         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14013         (GST_START_TEST), (fakesrc_suite):
14014         * check/gst/gstpad.c: (GST_START_TEST):
14015         * check/gst/gststructure.c: (GST_START_TEST):
14016           fix test leaks
14017         * docs/gst/tmpl/gstminiobject.sgml:
14018         * gst/gstpad.c: (gst_pad_finalize):
14019           fix the static mutex leak
14020
14021 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14022
14023         * check/Makefile.am:
14024           add two more tests for valgrinding
14025         * check/gst/gstvalue.c: (GST_START_TEST):
14026           test refcount of deserialized buffer, found a leak
14027         * docs/gst/gstreamer-docs.sgml:
14028         * docs/gst/gstreamer-sections.txt:
14029         * docs/gst/gstreamer.types:
14030         * docs/gst/tmpl/gstminiobject.sgml:
14031           add miniobject to docs
14032         * gst/gstminiobject.c:
14033           add some docs
14034         * gst/gstvalue.c: (gst_value_deserialize_buffer),
14035         (gst_string_unwrap):
14036           fix a hard-to-find invalid write for one of the tests
14037           fix a leak for deserialized buffers
14038
14039 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14040
14041         * docs/pwg/advanced-events.xml:
14042         * docs/pwg/advanced-request.xml:
14043         * docs/pwg/advanced-scheduling.xml:
14044         * docs/pwg/appendix-porting.xml:
14045         * docs/pwg/building-boiler.xml:
14046         * docs/pwg/intro-preface.xml:
14047         * docs/pwg/other-ntoone.xml:
14048           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14049           of example code and explanation for pad activation, loop() and
14050           getrange() functions and a bit more. Remove old comments pointing
14051           to loop-functions.
14052         * examples/pwg/Makefile.am:
14053           Add loop/getrange examples.
14054
14055 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14056
14057         * configure.ac:
14058           check for valgrind binary + some fixes
14059         * check/gst.supp:
14060           valgrind suppressions for the tests
14061         * check/Makefile.am:
14062           add a valgrind: target that valgrinds the unit tests
14063         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14064         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14065         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14066         * check/gst/gstghostpad.c:
14067           added some cleanup
14068         * check/gst/gstdata.c:
14069           removed
14070         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14071         (thread_unref), (gst_mini_object_suite), (main):
14072           added
14073         * gst/gst.c: (gst_deinit):
14074         * gst/gst.h:
14075           add a method to clean up.
14076         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14077         (gst_system_clock_obtain):
14078           allow for disposing the system clock.
14079         * tools/gst-launch.c: (main):
14080           deinit
14081
14082 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14083
14084         * docs/gst/tmpl/gstbasesrc.sgml:
14085         * docs/gst/tmpl/gstfakesrc.sgml:
14086         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14087         (gst_base_src_init), (gst_base_src_set_property),
14088         (gst_base_src_get_property), (gst_base_src_get_range),
14089         (gst_base_src_start):
14090         * gst/base/gstbasesrc.h:
14091           add num-buffers property
14092         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14093         (gst_fakesrc_init), (gst_fakesrc_set_property),
14094         (gst_fakesrc_get_property), (gst_fakesrc_create),
14095         (gst_fakesrc_start):
14096           remove num-buffers property
14097
14098 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14099
14100         * docs/gst/gstreamer-sections.txt:
14101         * docs/gst/tmpl/gstbasesink.sgml:
14102         * docs/gst/tmpl/gstbasesrc.sgml:
14103         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14104         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14105         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14106         (gst_base_sink_set_property), (gst_base_sink_get_property),
14107         (gst_base_sink_handle_object), (gst_base_sink_event),
14108         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14109         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14110         (gst_base_sink_loop), (gst_base_sink_deactivate),
14111         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14112         (gst_base_sink_change_state):
14113         * gst/base/gstbasesink.h:
14114         * gst/base/gstbasesrc.h:
14115         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14116         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14117         (gst_filesink_init):
14118           more macro splitting
14119
14120 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14121
14122         * gst/gstelement.c: (gst_element_get_bus):
14123           add debug
14124         * tools/gst-launch.c: (check_intr), (event_loop):
14125           fix bus leaks
14126
14127 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14128
14129         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14130           fix a caps leak
14131
14132 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14133
14134         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14135         (gst_base_src_finalize):
14136           add finalize method and clean up properly
14137         * gst/gstpipeline.c: (gst_pipeline_dispose):
14138           add debug
14139
14140 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14141
14142         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14143         (gst_bin_suite):
14144           add more things to check
14145         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14146         * gst/gstelement.c:
14147           more debug
14148
14149 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14150
14151         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14152         (GST_START_TEST), (fakesrc_suite):
14153         * check/gst-libs/gdp.c: (GST_START_TEST):
14154         * check/gst/gst.c: (GST_START_TEST):
14155         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14156         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14157         * check/gst/gstbus.c: (GST_START_TEST):
14158         * check/gst/gstcaps.c: (GST_START_TEST):
14159         * check/gst/gstdata.c: (GST_START_TEST):
14160         * check/gst/gstelement.c: (GST_START_TEST):
14161         * check/gst/gstghostpad.c: (GST_START_TEST):
14162         * check/gst/gstiterator.c: (GST_START_TEST):
14163         * check/gst/gstmessage.c: (GST_START_TEST):
14164         * check/gst/gstobject.c: (GST_START_TEST):
14165         * check/gst/gstpad.c: (GST_START_TEST):
14166         * check/gst/gststructure.c: (GST_START_TEST):
14167         * check/gst/gstsystemclock.c: (GST_START_TEST),
14168         (gst_systemclock_suite):
14169         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14170         * check/gst/gstvalue.c: (GST_START_TEST):
14171         * check/pipelines/cleanup.c: (GST_START_TEST):
14172         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14173         * check/states/sinks.c: (GST_START_TEST):
14174         * check/gstcheck.c: (gst_check_init):
14175         * check/gstcheck.h:
14176           add debugging category
14177           use GST_START_TEST now, so we add a debug line
14178
14179 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14180
14181         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14182           add test for state change message on a bin
14183         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14184           add another test
14185         * gst/gstbin.c: (gst_bin_init):
14186         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14187         * gst/gstelement.c: (gst_element_post_message),
14188         (gst_element_set_state):
14189         * gst/gstelementfactory.c: (gst_element_factory_create):
14190         * gst/gstmessage.c: (gst_message_new):
14191         * gst/gstscheduler.c:
14192           various debugging additions and cleanups
14193
14194 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14195
14196         * check/Makefile.am:
14197         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14198         (main):
14199           adding tests for elements
14200         * gst/gstelement.c: (gst_element_dispose):
14201
14202 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14203
14204         * gst/registries/gstlibxmlregistry.c: (load_feature):
14205           plug more leaks.  A simple gst_init() now is leakfree, yay.
14206
14207 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14208
14209         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14210         (gst_xml_registry_load):
14211           plug another memleak
14212
14213 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14214
14215         * configure.ac:
14216           use GST_SET_ERROR_CFLAGS
14217         * docs/faq/cvs.xml:
14218           change to ERROR_CFLAGS
14219
14220 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14221
14222         * configure.ac:
14223           make GST_ERROR_CFLAGS overridable and re-enable Werror
14224         * docs/faq/cvs.xml:
14225           add a note about error CFLAGS
14226         * docs/gst/tmpl/gstfakesrc.sgml:
14227         * gst/elements/gstfakesrc.c:
14228           comment out some unused code
14229         * gst/gst.c: (split_and_iterate):
14230         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14231         (load_feature):
14232           plug some memleaks
14233
14234 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14235
14236         * common/Makefile.am:
14237         * common/gtk-doc.mak:
14238         * docs/gst/Makefile.am:
14239           factor out gtk-doc.mak
14240
14241 2005-07-07  Wim Taymans  <wim@fluendo.com>
14242
14243         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14244         (gst_thread_scheduler_dispose):
14245         Unlock the STREAM_LOCK completely.
14246
14247 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14248
14249         * check/Makefile.am:
14250         * check/elements/.cvsignore:
14251         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14252         (START_TEST), (fakesrc_suite), (main):
14253         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14254         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14255         (gst_fakesrc_create), (gst_fakesrc_start):
14256         * gst/elements/gstfakesrc.h:
14257           adding a first element test
14258
14259 2005-07-07  Andy Wingo  <wingo@pobox.com>
14260
14261         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14262         debug message.
14263
14264 2005-07-07  Wim Taymans  <wim@fluendo.com>
14265
14266         * gst/gstquery.c:
14267         * gst/gstquery.h:
14268         Remove old types
14269
14270 2005-07-07  Wim Taymans  <wim@fluendo.com>
14271
14272         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14273         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14274         Allow subclasses to implement their own negotiation.
14275
14276 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14277
14278         * docs/design/part-gstbin.txt:
14279         * docs/design/part-gstpipeline.txt:
14280           Update design notes to reflect the movement of
14281           responsibility for bus handling from GstPipeline to
14282           GstBin
14283
14284 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14285
14286         * configure.ac:
14287           Remove unnecessary queue2/3/4 examples.
14288
14289 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14290
14291         * examples/Makefile.am:
14292         * examples/helloworld/helloworld.c: (event_loop), (main):
14293         * examples/queue/queue.c: (event_loop), (main):
14294         * examples/queue2/queue2.c: (main):
14295           Update a couple of the examples to work again.
14296
14297         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14298         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14299          Spelling corrections and extra debug.
14300         
14301         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14302         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14303         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14304         * gst/gstbin.h:
14305         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14306         (gst_pipeline_change_state):
14307         * gst/gstpipeline.h:
14308           Move the bus handler for children to the GstBin, and create a
14309           separate bus for receiving messages from children to the one the
14310           bus sends 'upwards' on.
14311
14312 2005-07-06  Wim Taymans  <wim@fluendo.com>
14313
14314         * gst/base/README:
14315         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14316         (gst_base_sink_handle_object), (gst_base_sink_loop),
14317         (gst_base_sink_change_state):
14318         * gst/base/gstbasesink.h:
14319         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14320         (gst_base_src_init), (gst_base_src_setcaps),
14321         (gst_base_src_getcaps), (gst_base_src_loop),
14322         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14323         (gst_base_src_start), (gst_base_src_change_state):
14324         * gst/base/gstbasesrc.h:
14325         Make basesrc negotiate.
14326         Handle the case where preroll fails in basesink.
14327         Update README.
14328
14329 2005-07-06  Wim Taymans  <wim@fluendo.com>
14330
14331         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14332         Implement the fixate function.
14333         Clean up acceptcaps.
14334
14335 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14336
14337         * docs/pwg/building-filterfactory.xml:
14338         * docs/pwg/pwg.xml:
14339           Remove never-written filter-factory chapter; I'll add the various
14340           base classes to part 4 ("other element types") later on.
14341
14342 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14343
14344         * docs/pwg/advanced-negotiation.xml:
14345         * docs/pwg/building-boiler.xml:
14346         * docs/pwg/building-pads.xml:
14347         * docs/pwg/pwg.xml:
14348         * examples/pwg/Makefile.am:
14349           Add a chapter on caps negotiation, simplify the original code
14350           samples a bit w.r.t. caps negotiation, add link to the advanced
14351           section. Add a bunch of examples showing different use cases of
14352           different types of caps negotiation. Upstream renegotiation isn't
14353           fully documented yet since nobody knows how that works.
14354
14355 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14356
14357         * check/gst/gstpad.c:
14358         * check/gstcheck.c:
14359         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14360           if pad has no parent, return NULL as list of internal links
14361
14362 2005-07-05  Andy Wingo  <wingo@pobox.com>
14363
14364         * gst/elements/gstfilesrc.c:
14365         * gst/elements/gstfakesrc.c: 
14366         * gst/base/gstpushsrc.c:
14367         * gst/base/gstbasesrc.h: 
14368         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14369         
14370 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14371
14372         * Makefile.am:
14373           better report generation target (lcov needs a patch)
14374
14375 2005-07-05  Andy Wingo  <wingo@pobox.com>
14376
14377         * gst/elements, testsuite: Null if we got it...
14378
14379 2005-07-05  Wim Taymans  <wim@fluendo.com>
14380
14381         * configure.ac:
14382         * libs/gst/dataprotocol/Makefile.am:
14383         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14384         * libs/gst/dataprotocol/dataprotocol.h:
14385         * pkgconfig/Makefile.am:
14386         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14387         * pkgconfig/gstreamer-dataprotocol.pc.in:
14388         Ported dataprotol to 0.9. 
14389         Added pkgconfig files.
14390
14391 2005-07-05  Andy Wingo  <wingo@pobox.com>
14392
14393         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14394         Default to returning TRUE for the case when tranform_caps returns
14395         a fixed caps, like for identity or volume.
14396
14397         * check/gst/gstbus.c (pound_bus_with_messages): 
14398         * check/gst/gstmessage.c (START_TEST): 
14399         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14400         message API change.
14401
14402         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14403         logic weaks here: always run transform_caps, trying passthrough
14404         operation only if the original caps intersects with the transform.
14405
14406         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14407         source and sink caps.
14408
14409         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14410         Intersect the peer caps with the pad template before going into
14411         transform_caps.
14412         (gst_base_transform_transform_caps): More debugging.
14413
14414         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14415         src argument.
14416
14417 2005-07-04  Edward Hervey  <edward@fluendo.com>
14418
14419         * gst/gstutils.c:
14420         * gst/gstutils.h:
14421         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14422         in bindings.
14423
14424 2005-07-04  Andy Wingo  <wingo@pobox.com>
14425
14426         * check/gst/gstpad.c: Only set explicit caps on pads.
14427
14428 2005-07-01  Andy Wingo  <wingo@pobox.com>
14429
14430         * tests/network-clock.scm: Commentary update.
14431
14432         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14433         Didn't really make sense, not implementable with basetransform,
14434         etc.
14435         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14436         attempt at implementing the sync property, needs an unlock method.
14437
14438         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14439         New func, by default returns the same caps (the identity
14440         transformation).
14441         (gst_base_transform_getcaps): Uses transform_caps to return
14442         something sensible.
14443         (gst_base_transform_setcaps): Complicated logic to get caps on
14444         both pads, even if they are different, and to call set_caps once
14445         for every time both pads get their caps set.
14446         (gst_base_transform_handle_buffer): Give the ref to the transform
14447         function. Allows in-place modification of the buffer.
14448
14449         * gst/base/gstbasetransform.h (transform_caps): New class method.
14450         Given caps on one side, what can I do on the other.
14451         (set_caps): Take two caps, one for each side of the element.
14452
14453         * gst/gstpad.h:
14454         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14455         caps in place. This is safe because we can check the mutability of
14456         the caps, and a good idea because fixate functions are just called
14457         as a matter of last resort. (Not actually implemented.)
14458         (gst_pad_set_caps): If the caps we're setting is actually the same
14459         as the existing pad caps, just update the pointer without calling
14460         setcaps. Assert that caps is either NULL or fixed, as per the
14461         docs.
14462
14463         * gst/gstghostpad.c: Update for fixate changes.
14464
14465 2005-07-02  Andy Wingo  <wingo@pobox.com>
14466
14467         * gst/gstcaps.c:
14468         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14469         two refcounts makes it immutable, which is enough. Doc more.
14470
14471 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14472
14473         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14474           Put the mini_object into GValue as a mini_object,
14475           not a gpointer, since that's how we declared
14476           the signal.
14477
14478 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14479
14480         * examples/pwg/Makefile.am:
14481           Fix buildbot again.
14482
14483 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14484
14485         * docs/pwg/building-testapp.xml:
14486           Add extra check.
14487         * examples/pwg/Makefile.am:
14488           Fix buildbot.
14489
14490 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14491
14492         * configure.ac:
14493         * examples/Makefile.am:
14494         * examples/pwg/Makefile.am:
14495         * examples/pwg/extract.pl:
14496           Enable building the PWG examples.
14497         * docs/pwg/advanced-interfaces.xml:
14498           Add URI interface stub.
14499         * docs/pwg/advanced-types.xml:
14500         * docs/pwg/other-autoplugger.xml:
14501         * docs/pwg/appendix-porting.xml:
14502         * docs/pwg/pwg.xml:
14503           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14504         * docs/pwg/building-boiler.xml:
14505         * docs/pwg/building-chainfn.xml:
14506         * docs/pwg/building-pads.xml:
14507         * docs/pwg/building-props.xml:
14508         * docs/pwg/building-state.xml:
14509         * docs/pwg/building-testapp.xml:
14510           Update the building-*.xml parts for 0.9 changes. All examples
14511           code blocks compile in examples/pwg/*.
14512
14513 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14514
14515         * docs/manual/advanced-autoplugging.xml:
14516         * docs/manual/appendix-checklist.xml:
14517         * docs/manual/appendix-integration.xml:
14518         * docs/manual/highlevel-components.xml:
14519           Fix playbin/decodebin examples, update docs a bit, mention bus
14520           instead of signals in various places, mention kmplayer and
14521           kaffeine since they have a working GStreamer backend in the KDE
14522           section.
14523
14524 2005-06-30  Wim Taymans  <wim@fluendo.com>
14525
14526         * CHANGES-0.9:
14527         * docs/design/draft-ghostpads.txt:
14528         * docs/design/draft-push-pull.txt:
14529         * docs/design/draft-query.txt:
14530         * docs/design/part-TODO.txt:
14531         * docs/design/part-query.txt:
14532         Added CHANGES-0.9 doc, updated status of other docs.
14533         
14534         * gst/gstquery.h:
14535         Remove "hmm" macro
14536
14537 2005-06-30  Wim Taymans  <wim@fluendo.com>
14538
14539         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14540         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14541         (gst_base_sink_change_state):
14542         * gst/base/gstbasesink.h:
14543         Some tweaks, only EOS and a buffer complete a preroll.
14544
14545 2005-06-30  Andy Wingo  <wingo@pobox.com>
14546
14547         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14548         activate_push down to the internal pad as well.
14549
14550 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14551
14552         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14553
14554         * gst/gsttaginterface.c:
14555           Some documentation fixes (#307394 and #307397).
14556
14557 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
14558
14559         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14560
14561         * gst/gstvalue.c: (gst_value_intersect_list):
14562           Fix memleak (#309125).
14563
14564 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14565
14566         * docs/manual/advanced-dataaccess.xml:
14567           Fix fakesrc example to compile; doesn't work, bug somewhere...?
14568         * docs/manual/basics-pads.xml:
14569           Add reference for filtered caps to above chapter.
14570
14571 2005-06-30  Wim Taymans  <wim@fluendo.com>
14572
14573         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14574         (gst_bin_change_state):
14575         Probes are gone.
14576         Lame attempt at making the state change function a bit
14577         more readable.
14578
14579 2005-06-30  Wim Taymans  <wim@fluendo.com>
14580
14581         * docs/design/part-clocks.txt:
14582         * docs/design/part-element-sink.txt:
14583         * docs/design/part-events.txt:
14584         * docs/design/part-preroll.txt:
14585         * docs/design/part-states.txt:
14586         Some more tweeks and additions to the docs.
14587
14588 2005-06-30  Wim Taymans  <wim@fluendo.com>
14589
14590         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14591         (default_have_data), (gst_pad_class_init), (gst_pad_init),
14592         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14593         (gst_pad_check_pull_range), (gst_pad_get_range),
14594         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14595         * gst/gstpad.h:
14596         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14597         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14598         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14599         (gst_pad_remove_buffer_probe):
14600         Removed atomic operations, use existing LOCK.
14601         Move exception handling out of main code path.
14602
14603 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14604
14605         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14606         (silly_return_true_function), (gst_pad_class_init),
14607         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14608         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14609         (gst_pad_send_event):
14610           Fix accumulator, add default value by using _emitv() instead
14611           of _emit() for signal emission.
14612
14613 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14614
14615         * docs/manual/advanced-dataaccess.xml:
14616         * examples/manual/Makefile.am:
14617           Add probe example.
14618         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14619           Make work (??).
14620
14621 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
14622
14623         * gst/elements/gstfilesink.c: (gst_filesink_render):
14624           Simplify code so that we don't have to handle short
14625           writes and return GST_FLOW_ERROR if an error occured.
14626
14627 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14628
14629         * docs/gst/gstreamer-docs.sgml:
14630           Remove probes more.
14631
14632 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14633
14634         * docs/gst/gstreamer-sections.txt:
14635         * docs/gst/tmpl/gstpad.sgml:
14636         * docs/gst/tmpl/gstprobe.sgml:
14637         * gst/Makefile.am:
14638         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14639         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14640         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14641         (gst_pad_push_event), (gst_pad_send_event):
14642         * gst/gstpad.h:
14643         * gst/gstutils.c: (gst_pad_add_data_probe),
14644         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14645         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14646         (gst_pad_remove_buffer_probe):
14647         * gst/gstutils.h:
14648           Remove old probes, add new g-signal-based probes and some utility
14649           functions.
14650
14651 2005-06-29  Edward Hervey  <edward@fluendo.com>
14652
14653         * gst/gstelementfactory.c:
14654         * gst/gstutils.h:
14655         * gst/gstutils.c:
14656         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14657         the definition to the header file.
14658
14659 2005-06-29  Andy Wingo  <wingo@pobox.com>
14660
14661         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14662         plugins from the source directory.
14663
14664 2005-06-29  Wim Taymans  <wim@fluendo.com>
14665
14666         * docs/gst/tmpl/gstbuffer.sgml:
14667         * docs/gst/tmpl/gstclock.sgml:
14668         Some fixings for blantently wrong text.
14669
14670 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14671
14672         * check/Makefile.am:
14673         * gst/gst.c: (add_path_func), (init_pre):
14674         * gst/gstregistry.c: (gst_registry_add_path):
14675           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14676           only scan the GST_PLUGIN_PATH locations, and not add
14677           system locations
14678
14679 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14680
14681         * docs/gst/gstreamer-sections.txt:
14682         * docs/gst/tmpl/gstbasesrc.sgml:
14683         * gst/gstelement.c:
14684         * gst/gstelement.h:
14685         * gst/gstevent.c:
14686         * gst/gstutils.c:
14687           doc fixes
14688
14689 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14690
14691         * docs/manual/advanced-autoplugging.xml:
14692           Fix autoplugging example.
14693
14694 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14695
14696         * docs/manual/advanced-autoplugging.xml:
14697         * docs/manual/mime-world.fig:
14698           Try to get autoplugging working, fix type detection. Fix text
14699           in hello-world image.
14700
14701 2005-06-29  Wim Taymans  <wim@fluendo.com>
14702
14703         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14704         (gst_base_sink_change_state):
14705         Small debug line.
14706
14707         * gst/gstclock.h:
14708         map SIGNAL and BROADCAST to the right function.
14709
14710         * gst/gstobject.h:
14711         Remove redundant braces.
14712
14713         * gst/gstpad.c: (gst_pad_set_caps):
14714         Don't call setcaps function when reseting caps to NULL.
14715
14716         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14717         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14718         (gst_system_clock_id_unschedule):
14719         Use BROADCAST as this is what we do.
14720
14721 2005-06-29  Wim Taymans  <wim@fluendo.com>
14722
14723         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14724         We are actually prerolling before commiting the state
14725         change. 
14726
14727 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14728
14729         * docs/manual/advanced-clocks.xml:
14730         * docs/manual/advanced-interfaces.xml:
14731         * docs/manual/advanced-metadata.xml:
14732         * docs/manual/advanced-position.xml:
14733         * docs/manual/advanced-schedulers.xml:
14734         * docs/manual/advanced-threads.xml:
14735         * docs/manual/appendix-porting.xml:
14736         * docs/manual/basics-bins.xml:
14737         * docs/manual/basics-bus.xml:
14738         * docs/manual/basics-elements.xml:
14739         * docs/manual/basics-helloworld.xml:
14740         * docs/manual/basics-pads.xml:
14741         * docs/manual/highlevel-components.xml:
14742         * docs/manual/manual.xml:
14743         * docs/manual/thread.fig:
14744           Update (until threads/scheduling) Application Development Manual;
14745           remove GstThread, add GstBus, add simple porting checklist, add
14746           documentation for tag writing, clocks, make all examples until this
14747           part compile and run.
14748         * examples/manual/Makefile.am:
14749           Update from changes to Application Development Manual; add bus
14750           example, remove thread example.
14751
14752 2005-06-28  Wim Taymans  <wim@fluendo.com>
14753
14754         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14755         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14756         (gst_bus_source_dispatch):
14757         Add debugging messages.
14758         Make internal methods static.
14759         Handle the case where the bus is flushed in the handler.
14760         
14761         * gst/gstelement.c: (gst_element_get_bus):
14762         Fix refcount in _get_bus();
14763
14764         * gst/gstpipeline.c: (gst_pipeline_change_state),
14765         (gst_pipeline_get_clock_func):
14766         Clock refcounting fixes.
14767         Handle the case where preroll timed out more gracefully.
14768         
14769         * gst/gstsystemclock.c: (gst_system_clock_dispose):
14770         Clean up the internal thread in dispose. This is needed
14771         for subclasses that actually get disposed.
14772         
14773         * gst/schedulers/threadscheduler.c:
14774         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14775         (gst_thread_scheduler_dispose):
14776         Free thread pool in dispose.
14777
14778 2005-06-28  Andy Wingo  <wingo@pobox.com>
14779
14780         * tests/network-clock-utils.scm (debug, print-event): New utils.
14781
14782         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14783         (*packet-loss*): Unified loss probability.
14784         (network-time): Report out-of-band events.
14785
14786         * tests/plot-data: Add support for out-of-band events. Hack it
14787         into this script instead of passing it down the pipe; should fix
14788         this later.
14789
14790 2005-06-28  Wim Taymans  <wim@fluendo.com>
14791
14792         * docs/gst/gstreamer.types:
14793         * docs/gst/tmpl/gstbasesrc.sgml:
14794         * docs/gst/tmpl/gstpad.sgml:
14795         Docs fixes.
14796
14797 2005-06-28  Wim Taymans  <wim@fluendo.com>
14798
14799         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14800         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
14801         (gst_proxy_pad_do_fixatecaps):
14802         Correctly proxy the check_pull_range function.
14803
14804 2005-06-28  Andy Wingo  <wingo@pobox.com>
14805
14806         * tests/network-clock.scm: Removed need for slib.
14807         
14808 2005-06-28  Wim Taymans  <wim@fluendo.com>
14809
14810         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
14811         (gst_basesink_preroll_queue_flush):
14812         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
14813         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14814         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14815         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14816         (gst_proxy_pad_set_property):
14817         * gst/gstpad.c:
14818         * gst/gstpad.h:
14819         * gst/gstqueue.c: (gst_queue_init):
14820         The deprecated pad loop function is removed now.
14821
14822 2005-06-28  Andy Wingo  <wingo@pobox.com>
14823
14824         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
14825         New parameters, simulate network packet loss.
14826
14827         * tests/network-clock-utils.scm: Initialize the RNG.
14828
14829 2005-06-28  Wim Taymans  <wim@fluendo.com>
14830
14831         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
14832         (gst_basesink_event), (gst_basesink_deactivate):
14833         Flushing the preroll queue always needs to unlock the waiters.
14834
14835 2005-06-28  Edward Hervey  <edward@fluendo.com>
14836
14837         * gst/gstpipeline.c: (gst_pipeline_send_event): 
14838         Wheen a seek was successful on a pipeline, set the stream_time to the
14839         seek offset in order to have a synchronized stream_time.
14840
14841 2005-06-28  Wim Taymans  <wim@fluendo.com>
14842
14843         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14844         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14845         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14846         (gst_proxy_pad_do_fixatecaps):
14847         Call wrapper function instead of just calling the function
14848         pointers. This takes care of any locking and whatmore.
14849
14850 2005-06-28  Wim Taymans  <wim@fluendo.com>
14851
14852         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14853         (gst_pad_pull_range):
14854         * gst/gstpad.h:
14855         CONNECTED -> LINKED.
14856
14857 2005-06-28  Andy Wingo  <wingo@pobox.com>
14858
14859         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14860         source-munging commit!!!
14861
14862         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
14863         (gst_object_sink): Take gpointer arguments, not GstObject --
14864         avoids casts. Like GLib.
14865
14866         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14867         activate.
14868
14869 2005-06-27  Andy Wingo  <wingo@pobox.com>
14870
14871         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14872         remaining buffer.
14873
14874         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14875         returns a sorted copy of the trace list.
14876         (gst_alloc_trace_print_live): New API, only prints traces with
14877         live objects. Sort the list.
14878         (gst_alloc_trace_print_all): Sort the list.
14879         (gst_alloc_trace_print): Align columns.
14880
14881         * gst/elements/gstttypefindelement.c:
14882         * gst/elements/gsttee.c:
14883         * gst/base/gstbasesrc.c:
14884         * gst/base/gstbasesink.c:
14885         * gst/base/gstbasetransform.c:
14886         * gst/gstqueue.c: Adapt for pad activation changes.
14887
14888         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14889         sched.
14890         (gst_pipeline_dispose): Drop ref on sched.
14891
14892         * gst/gstpad.c (gst_pad_init): Set the default activate func.
14893         (gst_pad_activate_default): Push mode by default.
14894         (pre_activate_switch, post_activate_switch): New stubs, things to
14895         do before and after switching activation modes on pads.
14896         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14897         the pad's activate function to choose which mode to activate.
14898         Shortcut on deactivation and call the right function directly.
14899         (gst_pad_activate_pull): New API, (de)activates a pad in pull
14900         mode.
14901         (gst_pad_activate_push): New API, same for push mode.
14902         (gst_pad_set_activate_function) 
14903         (gst_pad_set_activatepull_function) 
14904         (gst_pad_set_activatepush_function): Setters for new API.
14905
14906         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14907         Trace all miniobjects.
14908         (gst_mini_object_make_writable): Unref the arg if we copy, like
14909         gst_caps_make_writable.
14910
14911         * gst/gstmessage.c (_gst_message_initialize): No trace init.
14912
14913         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
14914         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14915         Adapt for new pad API.
14916
14917         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14918
14919         * gst/gstelement.h:
14920         * gst/gstelement.c (gst_element_iterate_src_pads) 
14921         (gst_element_iterate_sink_pads): New API functions.
14922         
14923         * gst/gstelement.c (iterator_fold_with_resync): New utility,
14924         should fold into gstiterator.c in some form.
14925         (gst_element_pads_activate): Simplified via use of fold and
14926         delegation of decisions to gstpad->activate.
14927
14928         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14929         help in debugging.
14930
14931         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14932         class once in init, like gstmessage. Didn't run into this issue
14933         but it seems correct. Don't initialize a trace, gstminiobject does
14934         that.
14935
14936         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14937         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14938         to the bus.
14939         (assert_live_count): New util function, uses alloc traces to check
14940         cleanup.
14941
14942         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14943         To be modified when unlink drops the internal pad.
14944
14945 2005-06-27  Wim Taymans  <wim@fluendo.com>
14946
14947         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14948         (gst_bin_change_state):
14949         Cleanup the get_state() function a little, make sure it
14950         iterates the same set of elements.
14951         Added stub iterate_state_order().
14952
14953 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14954
14955         * docs/gst/gstreamer-docs.sgml:
14956         * docs/gst/gstreamer-sections.txt:
14957         * docs/gst/gstreamer.types:
14958         * docs/gst/tmpl/gstbasesink.sgml:
14959         * docs/gst/tmpl/gstbasesrc.sgml:
14960         * docs/gst/tmpl/gstbasetransform.sgml:
14961         * docs/gst/tmpl/gstelement.sgml:
14962         * docs/gst/tmpl/gstiterator.sgml:
14963         * gst/base/gstbasesrc.c:
14964         * gst/base/gstbasesrc.h:
14965         * gst/base/gstbasetransform.h:
14966         * gst/gstelement.c:
14967         * gst/gstiterator.h:
14968           adding basetransform and iterator docs
14969
14970 2005-06-27  Andy Wingo  <wingo@pobox.com>
14971
14972         * docs/design/part-activation.txt: Notes on how activation should
14973         work -- not quite implemented yet.
14974
14975 2005-06-25  Wim Taymans  <wim@fluendo.com>
14976
14977         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
14978         At least get the chain function correct, needs more
14979         fixing.
14980
14981 2005-06-25  Wim Taymans  <wim@fluendo.com>
14982
14983         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14984         (gst_basesink_handle_object), (gst_basesink_event),
14985         (gst_basesink_do_sync), (gst_basesink_handle_event),
14986         (gst_basesink_change_state):
14987         * gst/gsttask.h:
14988         Right, two problems here: ghostpads don't take locks and
14989         glib _rec_mutex_lock_full() with depth==0 still locks.
14990         Catch illegal locking and g_warn them.
14991
14992 2005-06-25  Wim Taymans  <wim@fluendo.com>
14993
14994         * check/states/sinks.c: (START_TEST), (gst_object_suite):
14995         Have to check for completion now...
14996
14997 2005-06-25  Wim Taymans  <wim@fluendo.com>
14998
14999         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15000         (gst_basesink_handle_object), (gst_basesink_event),
15001         (gst_basesink_do_sync), (gst_basesink_handle_event),
15002         (gst_basesink_change_state):
15003         * gst/gstpad.h:
15004         Unlock STREAM_LOCK whatever the recursion was.
15005
15006 2005-06-25  Wim Taymans  <wim@fluendo.com>
15007
15008         * gst/base/gstbasesink.c: (gst_basesink_set_property),
15009         (gst_basesink_preroll_queue_empty),
15010         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
15011         (gst_basesink_event), (gst_basesink_do_sync),
15012         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15013         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15014         (gst_basesink_change_state):
15015         Reworked the base sink, handle event and buffer serialisation
15016         correctly and removed possible deadlock.
15017         Handle EOS correctly.
15018
15019 2005-06-25  Wim Taymans  <wim@fluendo.com>
15020
15021         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15022         (gst_pipeline_change_state):
15023         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15024         Allow elements to post EOS in the state change function.
15025         Fix up -launch, make it exit the poll loop when the
15026         pipeline actually changed state.
15027         Fix up warning parsing in -launch.
15028
15029 2005-06-25  Wim Taymans  <wim@fluendo.com>
15030
15031         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15032         (gst_tee_sink_activate):
15033         Core takes STREAM_LOCK for us now.
15034
15035 2005-06-25  Wim Taymans  <wim@fluendo.com>
15036
15037         * gst/gstelement.c: (gst_element_get_state_func),
15038         (gst_element_set_state):
15039         * gst/gstelement.h:
15040         * gst/gstmessage.c: (gst_message_parse_error),
15041         (gst_message_parse_warning):
15042         Keep track of current target state while performing a state
15043         change so that subclasses can do something interesting.
15044         Fix parsing of warning/error messages when GError is NULL.
15045
15046 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15047
15048         * docs/gst/Makefile.am:
15049         * docs/gst/gstreamer-docs.sgml:
15050         * docs/gst/gstreamer-sections.txt:
15051         * docs/gst/gstreamer.types:
15052         * docs/gst/tmpl/gstbasesink.sgml:
15053         * docs/gst/tmpl/gstbasesrc.sgml:
15054         * docs/gst/tmpl/gstbin.sgml:
15055         * docs/gst/tmpl/gstcompat.sgml:
15056         * docs/gst/tmpl/gstfakesink.sgml:
15057         * docs/gst/tmpl/gstfakesrc.sgml:
15058         * docs/gst/tmpl/gstfilesink.sgml:
15059         * docs/gst/tmpl/gstfilesrc.sgml:
15060         * docs/gst/tmpl/gstindex.sgml:
15061         * docs/manual/appendix-quotes.xml:
15062         * gst/base/gstbasesrc.h:
15063         * gst/elements/gstfakesrc.h:
15064         * gst/gstmessage.h:
15065           start pulling in base classes and elements in our docs
15066
15067 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15068
15069         * docs/gst/Makefile.am:
15070         * docs/libs/Makefile.am:
15071           fixed make distcheck with gtk-doc 1.3
15072
15073 2005-06-23  Wim Taymans  <wim@fluendo.com>
15074
15075         * gst/gstelement.c: (gst_element_get_state_func),
15076         (gst_element_set_state), (gst_element_change_state):
15077         When the state did not change, also report NO_PREROLL
15078         when it matters.
15079
15080 2005-06-23  Wim Taymans  <wim@fluendo.com>
15081
15082         * gst/gstpad.c: (gst_pad_event_default):
15083         * gst/gstqueue.c: (gst_queue_loop):
15084         No unsafe task pausing please.
15085
15086 2005-06-23  Wim Taymans  <wim@fluendo.com>
15087
15088         * gst/schedulers/threadscheduler.c:
15089         (gst_thread_scheduler_task_start),
15090         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15091         Ref the task before pushing it on the threadpool. This
15092         makes sure that we have a ref when the threadfunction is
15093         actually called.
15094
15095 2005-06-23  Andy Wingo  <wingo@pobox.com>
15096
15097         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15098         offset is greater than the file's size.
15099
15100         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15101         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15102         * gst/gstobject.c (gst_object_class_init): Make the class lock
15103         recursive. Wim won't let me drop deep_notify. Decodebin works
15104         again, whoopdy doo.
15105
15106         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15107         internal pad, and hacks accordingly. Doesn't do it on the target
15108         pad because we change its caps. Probably catches all cases of
15109         interest tho.
15110         (gst_ghost_pad_set_property): Connect to notify::caps as
15111         appropritate.
15112
15113         * tests/network-clock.scm (plot-simulation): Pipe data to the
15114         elite python skript.
15115
15116         * tests/network-clock-utils.scm (define-parameter): New macro,
15117         defines a parameter that can be set via the command line.
15118         (set-parameter!, parse-parameter-arguments): Command line args
15119         parser.
15120
15121         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15122         stdin.
15123
15124 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15125
15126         * gst/elements/gsttypefindelement.c:
15127         (gst_type_find_element_handle_event):
15128           Don't restart typefinding on a discont.
15129         * gst/gstelement.c: (gst_element_set_state):
15130           Debug spelling fix.
15131         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15132           Allow changing mode of an active pad.
15133           Debug output fixes.
15134         * gst/registries/gstlibxmlregistry.c: (load_feature):
15135           Don't cast a static pad template to a normal pad template.
15136
15137 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15138
15139         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15140         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15141           remove gst_strtoll completely, since it didn't actually do
15142           anything more than what g_ascii_strtoull already does.
15143           check for range errors when deserializing
15144           do a cast for the unsigned cases; but further fixing needs
15145           a decision on what the interpretation of "(int)" and
15146           deserialization should be for values that fall outside the
15147           type's boundaries (ie, refuse, or interpret as casting)
15148
15149 2005-06-23  Wim Taymans  <wim@fluendo.com>
15150
15151         * check/Makefile.am:
15152         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15153         * docs/design/part-live-source.txt:
15154         * docs/design/part-states.txt:
15155         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15156         (gst_basesrc_set_live), (gst_basesrc_is_live),
15157         (gst_basesrc_get_range), (gst_basesrc_activate),
15158         (gst_basesrc_change_state):
15159         * gst/base/gstbasesrc.h:
15160         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15161         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15162         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15163         * gst/gstelement.c: (gst_element_get_state_func),
15164         (gst_element_set_state):
15165         * gst/gstelement.h:
15166         * gst/gsttypes.h:
15167         * tools/gst-launch.c: (event_loop), (main):
15168         Added support for live sources and other elements that
15169         cannot do preroll.
15170         Updated design docs, added live-source design doc.
15171         Implemented live source functionality in basesrc
15172         Fix error condition in _bin_get_state()
15173         Implement live source handling in -launch.
15174         Added check for live sources.
15175         Fixed case in GstBin where elements were changed state
15176         multiple times.
15177
15178
15179 2005-06-23  Andy Wingo  <wingo@pobox.com>
15180
15181         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15182         borken refcounting.
15183
15184         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15185         gst_caps_replace takes care of this for us.
15186
15187         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15188         gst_pad_set_caps on the target, not just its setcaps() function.
15189
15190         * tests/network-clock.scm: 
15191         * tests/network-clock-utils.scm: A network clock simulator.
15192         Something of an algorithmic testbed before doing something in C.
15193
15194 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15195
15196         * check/Makefile.am:
15197         * check/gst/capslist.h:
15198           copy over from 0.8, and add two with bitmasks specified with
15199           (int) 0xFF...
15200         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15201           add test to parse everything from capslist.h
15202         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15203         (main):
15204           add test for structure deserialization
15205         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15206           add tests for deserialization of strings to int types
15207         * gst/gststructure.c: (gst_structure_nth_field_name):
15208         * gst/gststructure.h:
15209           add a way to get the name of a field referenced by index
15210         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15211           instead of checking if the resulting long long lies between
15212           min and max, we check if the long long would fit into
15213           a number of bytes for the final type.
15214           This fixes cases where a string represents 2^32 - 1, which
15215           when cast to int would be the (valid) -1, but is bigger than
15216           G_MAXINT
15217
15218 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15219
15220         * gst/parse/grammar.y:
15221           add a log line for type deserialization
15222
15223 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15224
15225         * check/gst/gstvalue.c: (START_TEST):
15226         * gst/gstvalue.c: (gst_value_deserialize):
15227           return long long, not int, so gint64 deserialization actually
15228           works.  Is there any flag that makes the compiler check this ?
15229           Fixes #308559
15230
15231 2005-06-22  Wim Taymans  <wim@fluendo.com>
15232
15233         * gst/gstbuffer.h:
15234         Added convenience macros for setting buffers in GValue.
15235
15236 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15237
15238         * check/gst/.cvsignore:
15239         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15240           add a test deserializing int64, and comment part out because
15241           it fails, yay !
15242
15243 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15244
15245         * check/Makefile.am:
15246         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15247         * testsuite/Makefile.am:
15248         * testsuite/caps/Makefile.am:
15249         * testsuite/caps/value_serialize.c:
15250         * testsuite/test_gst_init.c:
15251           move a value_serialize test over
15252
15253 2005-06-20  Wim Taymans  <wim@fluendo.com>
15254
15255         * gst/gstpad.c:
15256         Small doc updates.
15257         
15258         * gst/gstvalue.c: (gst_value_compare_buffer),
15259         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15260         (gst_value_compare_flags), (gst_value_serialize_flags),
15261         (gst_value_deserialize_flags), (_gst_value_initialize):
15262         Fix serialisation of buffers, they are not boxed types anymore
15263
15264 2005-06-20  Wim Taymans  <wim@fluendo.com>
15265
15266         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15267         Testcase to show error in buffer-on-caps serialisation.
15268
15269 2005-06-20  Andy Wingo  <wingo@pobox.com>
15270
15271         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15272         will be adding to later.
15273
15274         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15275         if its socks fill with rocks.
15276         (gst_system_clock_obtain): Set the name on object construction.
15277         Avoid double-checked locking.
15278
15279 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
15280
15281         * gst/gsturi.c: (gst_element_make_from_uri):
15282           Fix potential endless loop.
15283
15284 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15285
15286         * check/Makefile.am:
15287           add gsttag
15288         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15289         (main):
15290           move over from testsuite dir and clean up
15291         * configure.ac:
15292         * gst/gsttag.c:
15293         * testsuite/Makefile.am:
15294         * testsuite/tags/.cvsignore:
15295         * testsuite/tags/Makefile.am:
15296         * testsuite/tags/merge.c:
15297           remove testsuite/tags
15298
15299 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15300
15301         * docs/gst/gstreamer-sections.txt:
15302         * docs/gst/tmpl/gstenumtypes.sgml:
15303         * win32/gstenumtypes.c:
15304           clean up documentation build a little
15305
15306 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15307
15308         * check/gstcheck.h:
15309           add macros for checking refcounts on objects and caps
15310         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15311           add some more unit tests
15312         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15313         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15314           fix leaked refcounts (I hope :)) so unittest works
15315         * gst/gstpad.h:
15316           whitespace removal
15317
15318 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15319
15320         * configure.ac: back to HEAD
15321
15322 === release 0.9.1 ===
15323
15324 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15325
15326         * NEWS:
15327         * RELEASE:
15328           updated
15329
15330 2005-06-17  Andy Wingo  <wingo@pobox.com>
15331
15332         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15333         assert; it's always possible that the pad gets deactivated in
15334         between the checks in gstpad.c and the implementation. Rely on
15335         finish_preroll() to return a FLUSHING or similar instead of on the
15336         assert.
15337         
15338         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15339         clock and post an EOS message if we come out of finish_preroll in
15340         the playing state.
15341
15342 2005-06-16  David Schleef  <ds@schleef.org>
15343
15344         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15345         (gst_capsfilter_set_property): Allow NULL as possible value
15346         for filter_caps property, indicating GST_CAPS_ANY.
15347
15348 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15349
15350         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15351           fix debug output
15352         * gst/schedulers/Makefile.am:
15353           use libgst prefix
15354         * gstreamer.spec.in:
15355           fix spec for it
15356
15357 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15358
15359         * gstreamer.spec.in:
15360           clean up
15361
15362 2005-06-08  Andy Wingo  <wingo@pobox.com>
15363
15364         * gst/gstutils.c: RPAD fixes all around.
15365         (gst_element_link_pads): Refcounting fixes.
15366
15367         * tools/gst-inspect.c:
15368         * tools/gst-xmlinspect.c:
15369         * parse/grammar.y:
15370         * gst/base/gsttypefindhelper.c:
15371         * gst/base/gstbasesink.c:
15372         * gst/gstqueue.c: RPAD fixes.
15373
15374         * gst/gstghostpad.h:
15375         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15376         pads. The tricky thing is they provide both source and sink
15377         interfaces, since they proxy the internal pad for the external
15378         pad, and vice versa. Implement with lower-level ProxyPad objects,
15379         with the interior proxy pad as a child of the exterior ghost pad.
15380         Should write a doc on this.
15381         
15382         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15383         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15384         gst_object API.
15385         
15386         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15387         pads are real pads. No ghost pads in this file. Not documenting
15388         the myriad s/RPAD/PAD/ and REALIZE fixes.
15389         (gst_pad_class_init): Add properties for "direction" and
15390         "template". Both are construct-only, so they can't change during
15391         the life of the pad. Fixes properly deriving from GstPad.
15392         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15393         derived objects, just set properties when creating the objects via
15394         g_object_new.
15395         (gst_pad_get_parent): Implement as a function, return NULL if the
15396         parent is not an element.
15397         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15398         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15399         
15400         * gst/gstobject.c (gst_object_class_init): Make name a construct
15401         property. Don't set it in the object init.
15402
15403         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15404         with UNKNOWN direction.
15405         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15406         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15407         (gst_element_remove_pad): Remove ghost-pad special cases.
15408         (gst_element_pads_activate): Remove rpad cruft.
15409
15410         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15411         catch the pad's-parent-not-an-element case.
15412
15413         * gst/gst.h: Include gstghostpad.h.
15414
15415         * gst/gst.c (init_post): No more real, ghost pads.
15416
15417         * gst/Makefile.am: Add gstghostpad.[ch].
15418
15419         * check/Makefile.am:
15420         * check/gst/gstbin.c:
15421         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15422         into a bin creates ghost pads, and that the refcounts are right.
15423         Partly moved from gstbin.c.
15424
15425 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15426
15427         * check/gst-libs/.cvsignore:
15428         * check/gst/.cvsignore:
15429         * check/pipelines/.cvsignore:
15430           ignore more
15431         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15432         (START_TEST), (cleanup_suite), (main):
15433           add some tests related to cleanup after running pipelines
15434
15435 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15436
15437         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15438           add a testsuite for GstBuffer
15439
15440 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15441
15442         * gst/gstminiobject.h:
15443           add defines for accessing the refcount
15444
15445 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15446
15447         * Makefile.am: added support for html unit test coverage reports
15448
15449 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15450
15451         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15452           Free existing caps if the capsfilter changes. Add a FIXME about
15453           setting those caps on the pads.
15454
15455         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15456           Before adding a ghost pad to a parent bin, check that there isn't
15457           already one for the element on the bin. Prevents infinite recursion
15458           when using decodebin in parse pipelines. Andy says he'll rewrite the
15459           way this works anyway, so ignore the hack.
15460
15461 2005-06-02  Andy Wingo  <wingo@pobox.com>
15462
15463         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15464         file size, pass it on to the type find helper.
15465
15466         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15467         segment_start and segment_end properly according to the seek
15468         method. Segment_end is still a bit flaky because offset can be
15469         negative for CUR and END cases, but it takes -1 as an "unset"
15470         value.
15471
15472 2005-06-02  Wim Taymans  <wim@fluendo.com>
15473
15474         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15475         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15476         (gst_basesink_activate):
15477         * gst/base/gstbasesink.h:
15478         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15479         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15480         (gst_pad_query), (gst_pad_start_task):
15481         * gst/gstpad.h:
15482         * gst/gstqueue.c: (gst_queue_bufferalloc),
15483         (gst_queue_handle_sink_event), (gst_queue_chain):
15484         Bufferalloc: return GstFlowReturn to more accuratly report
15485         why allocation failed.
15486
15487 2005-06-02  Wim Taymans  <wim@fluendo.com>
15488
15489         * gst/gstpipeline.c: (gst_pipeline_send_event):
15490         Take snapshot of state without blocking.
15491
15492 2005-06-02  Wim Taymans  <wim@fluendo.com>
15493
15494         * docs/design/part-TODO.txt:
15495         * docs/design/part-caps.txt:
15496         * docs/design/part-clocks.txt:
15497         * docs/design/part-negotiation.txt:
15498         * docs/design/part-preroll.txt:
15499         Small doc updates 
15500
15501 2005-05-30  Wim Taymans  <wim@fluendo.com>
15502
15503         * gst/elements/gstidentity.c: (gst_identity_event),
15504         (gst_identity_transform), (gst_identity_get_property):
15505         Protect last_message property as it is accessed from
15506         multiple threads.
15507
15508 2005-05-30  Wim Taymans  <wim@fluendo.com>
15509
15510         * gst/gstelement.c: (gst_element_init),
15511         (gst_element_pads_activate), (gst_element_change_state):
15512         Slicker pad activation code.
15513
15514 2005-05-30  Wim Taymans  <wim@fluendo.com>
15515
15516         * gst/Makefile.am:
15517         * gst/gstelement.h:
15518         * gst/gstelementfactory.h:
15519         * gst/gsttypes.h:
15520         Move elementfactory methods to separate .h file.
15521
15522 2005-05-30  Wim Taymans  <wim@fluendo.com>
15523
15524         * docs/design/part-overview.txt:
15525         * gst/gstsystemclock.h:
15526         Small typo fixes, doc updates.
15527
15528 2005-05-30  Wim Taymans  <wim@fluendo.com>
15529
15530         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15531         (init_popt_callback):
15532         Remove cpu-opt flag.
15533
15534 2005-05-30  Wim Taymans  <wim@fluendo.com>
15535
15536         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15537         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15538         * gst/gstbuffer.h:
15539         Avoid typechecking in places where not needed.
15540         Added accessor for malloc_data.
15541
15542 2005-05-30  Wim Taymans  <wim@fluendo.com>
15543
15544         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15545         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15546         (gst_pad_configure_sink), (gst_pad_configure_src),
15547         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15548         (gst_pad_start_task):
15549         Propagate errors from _set_caps() in configure_src/sink
15550         functions instead of returning TRUE.
15551         FLUSH events can travel up and downstream
15552
15553
15554 2005-05-30  Wim Taymans  <wim@fluendo.com>
15555
15556         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15557         (gst_basesink_activate):
15558         Handle EOS in preroll.
15559
15560 2005-05-30  Wim Taymans  <wim@fluendo.com>
15561
15562         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15563         (gst_queue_loop), (gst_queue_handle_src_event):
15564         Remove old pieces of code
15565         Flushing the queue in an upstream event is a very bad idea.
15566
15567 2005-05-26  Andy Wingo  <wingo@pobox.com>
15568
15569         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15570         gst_value_set_mini_object so as to add a ref on the object (which
15571         will be removed when the value is unset).
15572
15573         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15574         arg type in ::handoff.
15575
15576         * gst/gstelement.c (gst_element_change_state): Also deactivate
15577         pads in READY->NULL, just in case the element didn't make it to
15578         PAUSED. Wingo tested, Wim approved.
15579
15580 2005-05-26  Wim Taymans  <wim@fluendo.com>
15581
15582         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15583         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15584         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15585         A flushing pad cannot be used to alloc_buffer from.
15586
15587 2005-05-26  Wim Taymans  <wim@fluendo.com>
15588
15589         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15590         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15591         (gst_bus_source_dispatch), (gst_bus_source_finalize),
15592         (gst_bus_create_watch), (gst_bus_add_watch_full):
15593         * gst/gstbus.h:
15594         Implement a real GSource and use g_main_context_wakeup() to
15595         signal new messages instead of the socketpair.
15596
15597 2005-05-25  Wim Taymans  <wim@fluendo.com>
15598
15599         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15600         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15601         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15602         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15603         (gst_pad_send_event), (gst_pad_start_task):
15604         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15605         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15606         (gst_queue_sink_activate), (gst_queue_src_activate),
15607         (gst_queue_change_state):
15608         * gst/gstqueue.h:
15609         Fix state changes for non sinks. We now change sinks, then elements
15610         with unconnected srcpads, then the rest.
15611         More efficient queue unlocking in flush and state changes.
15612         Set the pad activate mode even if it does not have an activate
15613         function.
15614
15615 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15616
15617         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15618           Don't go in pull mode for non-seekable sources.
15619         * gst/elements/gsttypefindelement.h:
15620         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15621         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15622         (free_entry), (stop_typefinding),
15623         (gst_type_find_element_handle_event), (find_peek),
15624         (gst_type_find_element_chain), (do_pull_typefind),
15625         (gst_type_find_element_change_state):
15626           Allow typefinding (w/o seeking) in push-mode, simplified version
15627           of what was in 0.8.
15628         * gst/gstutils.c: (gst_buffer_join):
15629         * gst/gstutils.h:
15630           gst_buffer_join() from 0.8.
15631
15632 2005-05-25  Wim Taymans  <wim@fluendo.com>
15633
15634         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15635         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15636         (gst_pad_send_event), (gst_pad_start_task):
15637         Disable attempt at mode switching until it is figured out.
15638
15639 2005-05-25  Wim Taymans  <wim@fluendo.com>
15640
15641         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15642         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15643         (gst_basesink_finish_preroll), (gst_basesink_chain),
15644         (gst_basesink_loop), (gst_basesink_activate),
15645         (gst_basesink_change_state):
15646         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15647         (gst_basesrc_get_range), (gst_basesrc_loop),
15648         (gst_basesrc_activate):
15649         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15650         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15651         (gst_real_pad_init), (gst_real_pad_set_property),
15652         (gst_real_pad_get_property), (gst_pad_set_active),
15653         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15654         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15655         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15656         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15657         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15658         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15659         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15660         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15661         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15662         (gst_pad_stop_task):
15663         * gst/gstpad.h:
15664         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15665         (gst_queue_loop), (gst_queue_src_activate):
15666         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15667         (gst_task_get_state):
15668         * gst/gsttask.h:
15669         * gst/schedulers/threadscheduler.c:
15670         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15671         Implement gst_pad_pause/start/stop_task(), take STREAM lock
15672         in task function.
15673         Remove ACTIVE pad flag, use FLUSHING everywhere
15674         Added _pad_chain(), _pad_get_range() to call chain/getrange 
15675         functions.
15676         Add locks around IS_FLUSHING when reading.
15677         Take STREAM lock in chain(), get_range() functions so plugins
15678         don't need to take it anymore.
15679         
15680
15681
15682 2005-05-25  Wim Taymans  <wim@fluendo.com>
15683
15684         * tools/gst-launch.c: (event_loop):
15685         Unref message after using its contents instead of
15686         before.
15687
15688 2005-05-24  Wim Taymans  <wim@fluendo.com>
15689
15690         * docs/design/draft-ghostpads.txt:
15691         * docs/design/draft-push-pull.txt:
15692         * docs/design/draft-query.txt:
15693         * docs/design/part-overview.txt:
15694         Docs updates, added general overview doc.
15695
15696 2005-05-21  David Schleef  <ds@schleef.org>
15697
15698         * docs/gst/tmpl/old/GstBin.sgml:
15699         * docs/gst/tmpl/old/GstBuffer.sgml:
15700         * docs/gst/tmpl/old/GstCaps.sgml:
15701         * docs/gst/tmpl/old/GstClock.sgml:
15702         * docs/gst/tmpl/old/GstCompat.sgml:
15703         * docs/gst/tmpl/old/GstData.sgml:
15704         * docs/gst/tmpl/old/GstElement.sgml:
15705         * docs/gst/tmpl/old/GstEvent.sgml:
15706         * docs/gst/tmpl/old/GstIndex.sgml:
15707         * docs/gst/tmpl/old/GstStructure.sgml:
15708         * docs/gst/tmpl/old/GstTag.sgml:
15709         * docs/gst/tmpl/old/cothreads.sgml:
15710         * docs/gst/tmpl/old/cothreads_compat.sgml:
15711         * docs/gst/tmpl/old/gettext.sgml:
15712         * docs/gst/tmpl/old/gobject2gtk.sgml:
15713         * docs/gst/tmpl/old/grammar.tab.sgml:
15714         * docs/gst/tmpl/old/gst-i18n-app.sgml:
15715         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15716         * docs/gst/tmpl/old/gst_private.sgml:
15717         * docs/gst/tmpl/old/gstaggregator.sgml:
15718         * docs/gst/tmpl/old/gstarch.sgml:
15719         * docs/gst/tmpl/old/gstatomic_impl.sgml:
15720         * docs/gst/tmpl/old/gstbufferstore.sgml:
15721         * docs/gst/tmpl/old/gstdata_private.sgml:
15722         * docs/gst/tmpl/old/gstdisksink.sgml:
15723         * docs/gst/tmpl/old/gstdisksrc.sgml:
15724         * docs/gst/tmpl/old/gstelementfactory.sgml:
15725         * docs/gst/tmpl/old/gstextratypes.sgml:
15726         * docs/gst/tmpl/old/gstfakesink.sgml:
15727         * docs/gst/tmpl/old/gstfakesrc.sgml:
15728         * docs/gst/tmpl/old/gstfdsink.sgml:
15729         * docs/gst/tmpl/old/gstfdsrc.sgml:
15730         * docs/gst/tmpl/old/gstfilesink.sgml:
15731         * docs/gst/tmpl/old/gstfilesrc.sgml:
15732         * docs/gst/tmpl/old/gsthttpsrc.sgml:
15733         * docs/gst/tmpl/old/gstidentity.sgml:
15734         * docs/gst/tmpl/old/gstindexfactory.sgml:
15735         * docs/gst/tmpl/old/gstmarshal.sgml:
15736         * docs/gst/tmpl/old/gstmd5sink.sgml:
15737         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15738         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15739         * docs/gst/tmpl/old/gstpadtemplate.sgml:
15740         * docs/gst/tmpl/old/gstpipefilter.sgml:
15741         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15742         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15743         * docs/gst/tmpl/old/gstshaper.sgml:
15744         * docs/gst/tmpl/old/gstspider.sgml:
15745         * docs/gst/tmpl/old/gstspideridentity.sgml:
15746         * docs/gst/tmpl/old/gststatistics.sgml:
15747         * docs/gst/tmpl/old/gsttee.sgml:
15748         * docs/gst/tmpl/old/gsttimecache.sgml:
15749         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15750         * docs/gst/tmpl/old/gstxmlregistry.sgml:
15751         * docs/gst/tmpl/old/gthread-cothreads.sgml:
15752         * docs/gst/tmpl/old/types.sgml:
15753           I didn't intend to add these or check them in.
15754
15755 2005-05-19  David Schleef  <ds@schleef.org>
15756
15757         * configure.ac: Use -no-common everywhere.  In a sane world, it
15758           would be the default in libtool, because without it, you can't
15759           build DLLs on Windows.
15760         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15761         * docs/gst/gstreamer-sections.txt:
15762         * docs/gst/tmpl/gstcpu.sgml:
15763         * docs/gst/tmpl/gstdata.sgml:
15764         * docs/gst/tmpl/gstthread.sgml:
15765
15766 2005-05-19  David Schleef  <ds@schleef.org>
15767
15768         * gst/gstminiobject.c: (gst_value_set_mini_object),
15769         (gst_value_take_mini_object), (gst_value_get_mini_object):
15770         * gst/gstminiobject.h: Add GValue set/get functions.
15771
15772 2005-05-19  Wim Taymans  <wim@fluendo.com>
15773
15774         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15775         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15776         (gst_subbuffer_init), (gst_buffer_is_span_fast):
15777         * gst/gstbuffer.h:
15778         * gst/gstbus.c: (gst_bus_post):
15779         * gst/gstelement.c: (gst_element_get_random_pad):
15780         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15781         Make subbufer unref the parent in finalize.
15782         some more debugging info.
15783
15784
15785 2005-05-19  Wim Taymans  <wim@fluendo.com>
15786
15787         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15788         (gst_basesink_init), (gst_basesink_finalize),
15789         (gst_basesink_activate), (gst_basesink_change_state):
15790         Don't free preroll queue too early.
15791
15792 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15793
15794         * gst/Makefile.am:
15795         * gst/ROADMAP:
15796           Hi, I'm outdated. Please shoot me.
15797
15798 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15799
15800         * gst/gstpipeline.c: (gst_pipeline_send_event):
15801           Do not access variables after they have been deleted.
15802
15803 2005-05-19  Wim Taymans  <wim@fluendo.com>
15804
15805         * tools/gst-inspect.c: (print_plugin_features):
15806         A plugin feature does unfortunatly not use the
15807         object name yet...
15808
15809 2005-05-18  Wim Taymans  <wim@fluendo.com>
15810
15811         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
15812         Port _span() functions to new subbuffers.
15813
15814 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15815
15816         * gst/gstbin.c: (gst_bin_add_func):
15817           Fix clock settery in bins when adding kids after the clock has
15818           been selected.
15819
15820 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15821
15822         * gst/elements/gstidentity.c: (gst_identity_class_init):
15823           Workaround until signals support GstMiniObject.
15824
15825 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15826
15827         * gst/gstbuffer.c:
15828         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
15829
15830 2005-05-18  Wim Taymans  <wim@fluendo.com>
15831
15832         * gst/base/Makefile.am:
15833         * gst/base/gstadapter.c: (gst_adapter_base_init),
15834         (gst_adapter_class_init), (gst_adapter_init),
15835         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
15836         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
15837         (gst_adapter_flush), (gst_adapter_available),
15838         (gst_adapter_available_fast):
15839         * gst/base/gstadapter.h:
15840         Ported and added adapter to the base classes.
15841
15842 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15843
15844         * gst/gst.c:
15845         * gst/gstmessage.c:
15846           Make sure the class is reffed/unreffed once before threads can be
15847           used.  Fixes #304551.
15848
15849 2005-05-17  Wim Taymans  <wim@fluendo.com>
15850
15851         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15852         (gst_basesink_chain_unlocked), (gst_basesink_activate):
15853         * gst/gstminiobject.c: (gst_mini_object_get_type),
15854         (gst_mini_object_free):
15855         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15856         (gst_pad_push), (gst_pad_push_event):
15857         * gst/gstqueue.c: (gst_queue_change_state):
15858         Don't queue buffers in basesink when we are flushing.
15859         Unref buffer when flushing in basesink.
15860         Flush queue when going to READY
15861         Unref buffer when _push() returns an error.
15862         Don't free MiniObject instance when refcount is incremented
15863         in _finalize() so that we can recover objects.
15864
15865 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15866
15867         * docs/manual/advanced-schedulers.xml:
15868         * docs/manual/appendix-checklist.xml:
15869         * docs/pwg/advanced-clock.xml:
15870         * docs/pwg/advanced-interfaces.xml:
15871         * docs/pwg/advanced-request.xml:
15872         * docs/pwg/advanced-types.xml:
15873         * docs/pwg/intro-preface.xml:
15874         * examples/plugins/example.c: (gst_example_get_type),
15875         (gst_example_class_init), (gst_example_chain),
15876         (gst_example_set_property), (gst_example_get_property),
15877         (gst_example_change_state), (plugin_init):
15878         * examples/plugins/example.h:
15879           small doc fixes
15880
15881 2005-05-17  Wim Taymans  <wim@fluendo.com>
15882
15883         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15884         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15885         * gst/gstqueue.c: (gst_queue_change_state):
15886         Clear queue when going to READY.
15887         Remove IN_SETCAPS flag too.
15888
15889 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
15890
15891         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15892           Remove implicit cast from gboolean to GstElementStateReturn;
15893           make sure we still return failure in paused => ready case if
15894           the parent class fails to change state and our own stop 
15895           vfunc succeeds.
15896
15897 2005-05-17  Wim Taymans  <wim@fluendo.com>
15898
15899         * tools/gst-launch.c: (event_loop):
15900         Message was unreffed too soon.
15901
15902 2005-05-16  Andy Wingo  <wingo@pobox.com>
15903
15904         * gst/gstbin.c (sink_iterator_filter): Err... um...
15905
15906         * check/gst/gstbin.c (test_ghost_pads): New test for the
15907         ghosting-if-elements-not-in-same-bin behavior.
15908
15909 2005-05-16  David Schleef  <ds@schleef.org>
15910
15911         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15912         accessing refcount directly.
15913
15914 2005-05-15  David Schleef  <ds@schleef.org>
15915
15916         * check/Makefile.am: remove GstData checks
15917         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15918         * gst/Makefile.am: add miniobject, remove data
15919         * gst/gst.h: add miniobject, remove data
15920         * gst/gstdata.c: remove
15921         * gst/gstdata.h: remove
15922         * gst/gstdata_private.h: remove
15923         * gst/gsttypes.h: remove GstEvent and GstMessage
15924         * gst/gstelement.c: (gst_element_post_message): fix for API changes
15925         * gst/gstmarshal.list: change BOXED -> OBJECT
15926
15927         Implement GstMiniObject.
15928         * gst/gstminiobject.c:
15929         * gst/gstminiobject.h:
15930
15931         Modify to be subclasses of GstMiniObject.
15932         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15933         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15934         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15935         (gst_subbuffer_get_type), (gst_subbuffer_init),
15936         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15937         (gst_buffer_span):
15938         * gst/gstbuffer.h:
15939         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15940         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15941         (_gst_event_copy), (gst_event_new):
15942         * gst/gstevent.h:
15943         * gst/gstmessage.c: (_gst_message_initialize),
15944         (gst_message_get_type), (gst_message_class_init),
15945         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15946         (gst_message_new), (gst_message_new_error),
15947         (gst_message_new_warning), (gst_message_new_tag),
15948         (gst_message_new_state_changed), (gst_message_new_application):
15949         * gst/gstmessage.h:
15950         * gst/gstprobe.c: (gst_probe_perform),
15951         (gst_probe_dispatcher_dispatch):
15952         * gst/gstprobe.h:
15953         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15954         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15955         (_gst_query_copy), (gst_query_new):
15956
15957         Update elements for GstData -> GstMiniObject changes
15958         * gst/gstquery.h:
15959         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15960         (gst_queue_chain), (gst_queue_loop):
15961         * gst/elements/gstbufferstore.c:
15962         (gst_buffer_store_add_buffer_func),
15963         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15964         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15965         (gst_fakesink_render):
15966         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15967         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15968         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15969         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
15970         (gst_filesrc_create_read):
15971         * gst/elements/gstidentity.c: (gst_identity_class_init):
15972         * gst/elements/gsttypefindelement.c:
15973         (gst_type_find_element_src_event), (free_entry_buffers),
15974         (gst_type_find_element_handle_event):
15975         * libs/gst/dataprotocol/dataprotocol.c:
15976         (gst_dp_header_from_buffer):
15977         * libs/gst/dataprotocol/dataprotocol.h:
15978         * libs/gst/dataprotocol/dp-private.h:
15979
15980 2005-05-15  David Schleef  <ds@schleef.org>
15981
15982         * gst/elements/gstelements.c: Don't include headers that were
15983         just removed.
15984
15985 2005-05-15  David Schleef  <ds@schleef.org>
15986
15987         * gst/elements/Makefile.am: Remove some elements that don't
15988         need to be in the core (or even exist at all).
15989         * gst/elements/gstaggregator.c:
15990         * gst/elements/gstaggregator.h:
15991         * gst/elements/gstmd5sink.c:
15992         * gst/elements/gstmd5sink.h:
15993         * gst/elements/gstmultifilesrc.c:
15994         * gst/elements/gstmultifilesrc.h:
15995         * gst/elements/gstpipefilter.c:
15996         * gst/elements/gstpipefilter.h:
15997         * gst/elements/gstshaper.c:
15998         * gst/elements/gstshaper.h:
15999         * gst/elements/gststatistics.c:
16000         * gst/elements/gststatistics.h:
16001         * po/POTFILES.in: Remove above files.
16002
16003 2005-05-14  Andy Wingo  <wingo@pobox.com>
16004
16005         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
16006         so as to get the refs right.
16007         (sink_iterator_filter): New function, wraps bin_element_is_sink,
16008         unreffing objects that don't pass the filter.
16009
16010         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
16011         gst_element_set_bus.
16012         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16013         normal cases, this will destroy the bus.
16014
16015         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16016         object.
16017
16018         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16019         has no sinks.
16020
16021 2005-05-13  Andy Wingo  <wingo@pobox.com>
16022
16023         * gst/gstutils.c (gst_element_link_pads): Instead of calling
16024         gst_pad_link, call pad_link_maybe_ghosting,
16025         (pad_link_maybe_ghosting): Links pads, making sure that the
16026         elements being linked are in the same bin.
16027         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16028         Helpers for pad_link_maybe_ghosting.
16029
16030 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16031
16032         * configure.ac:
16033           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16034
16035 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16036
16037         * docs/design/part-element-source.txt:
16038           Mention GstPushSrc
16039
16040 2005-05-12  Wim Taymans  <wim@fluendo.com>
16041
16042         * gst/base/gstbasesink.c: (gst_basesink_init),
16043         (gst_basesink_activate):
16044         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16045         (gst_basesrc_is_seekable):
16046         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16047         (bin_element_is_sink), (gst_bin_change_state):
16048         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16049         * gst/gstelement.h:
16050         Identify sinks by their flag to avoid overly complicated
16051         checks (fow now).
16052         Do state changes even for elements not reachable from the
16053         sinks.
16054         BaseSink is a sink now :)
16055         Some more debugging info in the basesrc.
16056
16057
16058 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16059
16060         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16061           Implement _query on a bin, similar to _send_event.
16062
16063 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16064
16065         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16066           Discont event offset format should be GST_FORMAT_BYTES,
16067           not GST_FORMAT_TIME.
16068
16069 2005-05-12  Wim Taymans  <wim@fluendo.com>
16070
16071         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16072         Same fix as Ronald's but without the signal. 
16073
16074 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16075
16076         * gst/gstutils.c: (gst_element_query_position):
16077           No, an element is not a pad.
16078
16079 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16080
16081         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16082         (gst_bin_get_state):
16083           If a child is removed from a bin while we remove the child from
16084           the bin and while we're retrieving its state, signal this to the
16085           get_state function so we abort the wait (instead of waiting for
16086           a timeout) and can immediately re-iterate over all other elements.
16087
16088 2005-05-12  Wim Taymans  <wim@fluendo.com>
16089
16090         * gst/base/Makefile.am:
16091         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16092         (gst_basesrc_start):
16093         * gst/base/gstbasesrc.h:
16094         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16095         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16096         (gst_pushsrc_init), (gst_pushsrc_create):
16097         * gst/base/gstpushsrc.h:
16098         Added is_seekable to BaseSrc
16099         Added simple PushSrc.
16100
16101 2005-05-11  Wim Taymans  <wim@fluendo.com>
16102
16103         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16104         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16105         (gst_element_link_pads), (gst_element_query_position),
16106         (gst_element_query_convert), (intersect_caps_func),
16107         (gst_pad_query_position), (gst_pad_query_convert):
16108         Fix refcounting in utils function.
16109         No point in trying to activate a pad when it's added, it could
16110         be added from the state change function and then we deadlock, the
16111         element has to decide what to do.
16112
16113 2005-05-10  Andy Wingo  <wingo@pobox.com>
16114
16115         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16116         *all* the arguments.
16117
16118         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16119         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16120         lock (according to the docs -- if this is wrong change the docs).
16121
16122         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16123         flush messages in the NULL state.
16124
16125         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16126         message immediately and return.
16127         (gst_bus_set_flushing): New function. If a bus is flushing, it
16128         flushes out any queued messages and immediately unrefs new
16129         messages. This is so when an element goes to NULL, all of the
16130         unhandled messages coming from it can be freed, and their
16131         references to the element dropped. In other words: message source
16132         ref considered harmful :P
16133
16134         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16135         we're finished with it.
16136
16137         * gst/gstmessage.c (gst_message_new_state_changed): 
16138
16139 2005-05-10  Wim Taymans  <wim@fluendo.com>
16140
16141         * gst/gstvalue.c: (gst_value_compare_flags),
16142         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16143         (_gst_value_initialize):
16144         Added flags serialize/deserialize/compare code.
16145
16146 2005-05-09  Andy Wingo  <wingo@pobox.com>
16147
16148         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16149         Intersect the peer's caps with our caps.
16150
16151 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16152
16153         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16154         * gst/elements/gsttypefindelement.c: (find_peek):
16155           Handle negative offsets better. Fixes decodebin.
16156
16157 2005-05-09  Wim Taymans  <wim@fluendo.com>
16158
16159         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16160         (gst_base_transform_event):
16161         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16162         Implement accept_caps.
16163         Fix silly lock/unlock mismatch in base class.
16164
16165 2005-05-09  Wim Taymans  <wim@fluendo.com>
16166
16167         * docs/design/draft-push-pull.txt:
16168         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16169         * gst/elements/gstfilesink.c: (gst_filesink_init),
16170         (gst_filesink_query):
16171         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16172         (gst_type_find_handle_src_query), (find_element_get_length):
16173         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16174         * gst/gstelement.h:
16175         * gst/gstmessage.c:
16176         * gst/gstmessage.h:
16177         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16178         (gst_real_pad_get_caps_unlocked),
16179         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16180         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16181         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16182         (gst_real_pad_dispose), (gst_real_pad_finalize),
16183         (gst_pad_load_and_link), (gst_pad_save_thyself),
16184         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16185         (gst_pad_check_pull_range), (gst_pad_pull_range),
16186         (gst_pad_template_get_type), (gst_pad_template_class_init),
16187         (gst_pad_template_init), (gst_pad_template_dispose),
16188         (name_is_valid), (gst_static_pad_template_get),
16189         (gst_pad_template_new), (gst_static_pad_template_get_caps),
16190         (gst_pad_template_get_caps), (gst_pad_set_element_private),
16191         (gst_pad_get_element_private), (gst_pad_start_task),
16192         (gst_pad_pause_task), (gst_pad_stop_task),
16193         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16194         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16195         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16196         (gst_ghost_pad_new):
16197         * gst/gstpad.h:
16198         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16199         (gst_query_new_position), (gst_query_set_position),
16200         (gst_query_parse_position), (gst_query_new_convert),
16201         (gst_query_set_convert), (gst_query_parse_convert):
16202         * gst/gstquery.h:
16203         * gst/gstqueryutils.c:
16204         * gst/gstqueryutils.h:
16205         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16206         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16207         (gst_queue_handle_src_query):
16208         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16209         (gst_element_query_position), (gst_element_query_convert),
16210         (intersect_caps_func), (gst_pad_query_position),
16211         (gst_pad_query_convert):
16212         * gst/gstutils.h:
16213         * tools/gst-inspect.c: (print_pad_info):
16214         * tools/gst-xmlinspect.c: (print_element_info):
16215         Remove old query functions. Ported old code.
16216         Added position/convert helper functions to gstutils.
16217         Reordered gstpad.c code, grouping relevant things.
16218         Remove gst_message_new(), always need to speficy a specific
16219         message.
16220
16221
16222 2005-05-09  Andy Wingo  <wingo@pobox.com>
16223
16224         * gst/gstiterator.h: Add some includes.
16225
16226         * gst/gstqueryutils.h: Include more headers.
16227
16228         * gst/gstpad.h:
16229         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16230         some uses of gst_pad_query.
16231
16232         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16233         NULL out parameters.
16234         (gst_query_new_position): New proc, allocates a new position
16235         query.
16236
16237         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16238         gstqueryutils.c to the build.
16239
16240         * gst/gststructure.c (gst_structure_set_valist): Implement with
16241         the generic G_VALUE_COLLECT.
16242         
16243 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
16244
16245         * gst/Makefile.am: (gst_headers):
16246         Added gstqueryutils.h to the list of headers to install, that was
16247         a 'nachty' move wingo :)
16248
16249 2005-05-06  Andy Wingo  <wingo@pobox.com>
16250
16251         * gst/gstquery.h
16252         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16253         GstData, init a memchunk.
16254         (standard_definitions): Add a few query types, deprecate a few.
16255         (gst_query_get_type): New proc.
16256         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16257         implementation.
16258         (gst_query_new_application, gst_query_get_structure): New public
16259         procs.
16260
16261         * docs/design/draft-query.txt: Removed LINKS from the query types,
16262         because all the rest can be dispatched to other pads -- seemed
16263         ugly to have a query that couldn't be dispatched. internal_links
16264         is fine as a pad method.
16265
16266         * gst/gstpad.h: Add query2 as a pad method, add the new functions
16267         in gstpad.c, but maintain binary compatibility for the moment.
16268         Will fix before 0.9 is out.
16269
16270         * gst/gstqueryutils.c: 
16271         * gst/gstqueryutils.h: New files, implement 3 methods for each
16272         query type: parse_query, parse_response, and set. Probably need an
16273         allocator as well.
16274
16275         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16276
16277         * gst/elements/gstfilesink.c (gst_filesink_query2):
16278         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16279         query_types, and formats methods.
16280
16281         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16282         (gst_pad_set_query2_function): New functions.
16283         (gst_real_pad_init): Set query2_default as the default query2
16284         function. Basically just dispatches to internally linked pads.
16285
16286         Needs review!
16287         
16288         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16289         without using the atomic operations. Only one thread can possibly
16290         be accessing the data at this point. Changed so as to avoid
16291         gst_atomic operations.
16292
16293 2005-05-06  Wim Taymans  <wim@fluendo.com>
16294
16295         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16296         Also set caps if we use the fallback buffer alloc.
16297
16298 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
16299
16300         * docs/gst/Makefile.am:
16301         * docs/gst/gstreamer-docs.sgml:
16302         * docs/gst/gstreamer-sections.txt:
16303         * docs/gst/tmpl/gstatomic.sgml:
16304         * docs/gst/tmpl/gstmemchunk.sgml:
16305         * testsuite/elements/struct_i386.h:
16306         * win32/GStreamer.vcproj:
16307         * win32/Makefile:
16308           Purge GstAtomic stuff from docs and win32 makefiles as well
16309
16310 2005-05-06  Wim Taymans  <wim@fluendo.com>
16311
16312         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16313         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16314         * gst/gstpad.c: (gst_pad_peer_get_caps):
16315         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16316         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16317         (gst_queue_src_activate), (gst_queue_change_state):
16318         * gst/gstqueue.h:
16319         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16320         (intersect_caps_func):
16321         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16322         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16323         Some fixes for the peer_get_caps() change.
16324
16325 2005-05-06  Wim Taymans  <wim@fluendo.com>
16326
16327         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16328         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16329         (gst_basesink_activate):
16330         Actually do something with error codes returned from the push
16331         functions.
16332
16333 2005-05-06  Wim Taymans  <wim@fluendo.com>
16334
16335         * docs/design/part-element-sink.txt:
16336         * docs/design/part-element-source.txt:
16337         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16338         (gst_basesink_event), (gst_basesink_activate):
16339         * gst/base/gstbasesink.h:
16340         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16341         (gst_basesrc_activate):
16342         * gst/base/gstbasesrc.h:
16343         * gst/gstelement.c: (gst_element_pads_activate):
16344         Some more documentation.
16345         Fixed scheduling decision in _pads_activate().
16346
16347 2005-05-05  Andy Wingo  <wingo@pobox.com>
16348
16349         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16350         the test suite.
16351
16352 2005-05-05  Wim Taymans  <wim@fluendo.com>
16353
16354         * gst/base/Makefile.am:
16355         * gst/base/gstbasesink.h:
16356         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16357         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16358         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16359         (gst_collectpads_class_init), (gst_collectpads_init),
16360         (gst_collectpads_finalize), (gst_collectpads_new),
16361         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16362         (find_pad), (gst_collectpads_remove_pad),
16363         (gst_collectpads_is_active), (gst_collectpads_collect),
16364         (gst_collectpads_collect_range), (gst_collectpads_start),
16365         (gst_collectpads_stop), (gst_collectpads_peek),
16366         (gst_collectpads_pop), (gst_collectpads_available),
16367         (gst_collectpads_read), (gst_collectpads_flush),
16368         (gst_collectpads_chain):
16369         * gst/base/gstcollectpads.h:
16370         * gst/elements/Makefile.am:
16371         * gst/elements/gstelements.c:
16372         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16373         (gst_fakesink_get_times), (gst_fakesink_event),
16374         (gst_fakesink_preroll), (gst_fakesink_render):
16375         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16376         (gst_filesink_init), (gst_filesink_set_location),
16377         (gst_filesink_open_file), (gst_filesink_close_file),
16378         (gst_filesink_pad_query), (gst_filesink_event),
16379         (gst_filesink_render), (gst_filesink_change_state):
16380         * gst/elements/gstfilesink.h:
16381         Added object to help in making collect pad based elements.
16382         Ported filesink.
16383         Make event function in sink baseclass return gboolean.
16384
16385 2005-05-05  Wim Taymans  <wim@fluendo.com>
16386
16387         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16388         (gst_bin_get_by_name):
16389         * gst/gstbuffer.h:
16390         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16391         (gst_clock_finalize):
16392         * gst/gstdata.c: (gst_data_replace):
16393         * gst/gstdata.h:
16394         * gst/gstelement.c: (gst_element_request_pad),
16395         (gst_element_pads_activate):
16396         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16397         (gst_object_unref):
16398         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16399         (gst_pad_set_checkgetrange_function),
16400         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16401         (gst_pad_check_pull_range), (gst_pad_pull_range),
16402         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16403         (gst_pad_pause_task), (gst_pad_stop_task):
16404         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16405         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16406         Fix name lookup in GstBin.
16407         Added _data_replace() function and _buffer_replace()
16408         Use finalize method to clean up clock.
16409         Fix refcounting on request pads.
16410         Fix pad schedule mode error.
16411         Some more object refcounting debug info,
16412
16413
16414 2005-05-04  Andy Wingo <wingo@pobox.com>
16415
16416         * check/Makefile.am:
16417         * docs/gst/tmpl/gstatomic.sgml:
16418         * docs/gst/tmpl/gstplugin.sgml:
16419         * gst/base/gstbasesink.c: (gst_basesink_activate):
16420         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16421         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16422         (gst_basesrc_query), (gst_basesrc_set_property),
16423         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16424         (gst_basesrc_activate):
16425         * gst/base/gstbasesrc.h:
16426         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16427         (gst_base_transform_src_activate):
16428         * gst/elements/gstelements.c:
16429         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16430         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16431         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16432         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16433         (gst_type_find_element_checkgetrange),
16434         (gst_type_find_element_activate):
16435         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16436         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16437         (gst_caps_load_thyself):
16438         * gst/gstelement.c: (gst_element_pads_activate),
16439         (gst_element_save_thyself), (gst_element_restore_thyself):
16440         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16441         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16442         * gst/gstpad.h:
16443         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16444         (gst_xml_parse_file), (gst_xml_parse_memory),
16445         (gst_xml_get_element), (gst_xml_make_element):
16446         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16447         (_file_index_id_save_xml), (gst_file_index_commit):
16448         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16449         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16450         (load_paths):
16451         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16452         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16453         * tools/gst-complete.c: (main):
16454         * tools/gst-compprep.c: (main):
16455         * tools/gst-inspect.c: (print_element_properties_info):
16456         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16457         * tools/gst-xmlinspect.c: (print_element_properties):
16458         GCC 4 fixen.
16459         
16460 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16461
16462         * gst/gstplugin.c: (gst_plugin_check_module),
16463         (gst_plugin_check_file), (gst_plugin_load_file):
16464             apply patch from #172526 to make register work on MacOSX
16465
16466 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16467
16468         * docs/gst/tmpl/gstconfig.sgml:
16469         * gst/gstconfig.h.in:
16470           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16471         * testsuite/debug/printf_extension.c: (main):
16472           Do not use GST_PTR_FORMAT on pointers to types with
16473           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16474         * testsuite/elements/property.h:
16475           use correct printf format
16476
16477 2005-05-02  Wim Taymans  <wim@fluendo.com>
16478
16479         * docs/design/draft-push-pull.txt:
16480         * docs/design/draft-query.txt:
16481         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16482         (gst_basesrc_start):
16483         Added draft for new query API.
16484         Added draft for better selecting scheduling methods.
16485         Make basesrc ignore length if the subclass does not support
16486         it.
16487
16488 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16489
16490         * gst/Makefile.am:
16491           possible fixes for automake-1.5 - _LIBADD is reserved
16492
16493 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16494
16495         * docs/faq/Makefile.am:
16496         * docs/manual/Makefile.am:
16497         * docs/manuals.mak:
16498         * docs/pwg/Makefile.am:
16499         * gst/Makefile.am:
16500           possible fixes for automake-1.5
16501
16502 2005-04-28  Wim Taymans  <wim@fluendo.com>
16503
16504         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16505         (gst_basesink_pad_getcaps), (gst_basesink_init),
16506         (gst_basesink_do_sync):
16507         * gst/gstclock.c: (gst_clock_entry_new):
16508         * gst/gstevent.c: (gst_event_discont_get_value):
16509         * gst/gstpipeline.c: (pipeline_bus_handler),
16510         (gst_pipeline_change_state):
16511         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16512         Better debugging of clocking info.
16513         Allow NULL values when getting discont values.
16514
16515 2005-04-27  Wim Taymans  <wim@fluendo.com>
16516
16517         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16518         * check/gst/gstpad.c: (gst_pad_suite):
16519         Increase timeout for checks.
16520
16521 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16522
16523         * check/Makefile.am:
16524           fix the broken rule for cleanup.  Apparently this rule is
16525           only needed on FC2, so maybe this warrants further autotool
16526           inspection.
16527
16528 2005-04-26  Wim Taymans  <wim@fluendo.com>
16529
16530         * gst/gsttrashstack.h:
16531         Ooohh. a nasty one! After having a failed pop() from the stack,
16532         it's possible that the stack is empty. In that case, don't
16533         follow the NULL pointer.
16534
16535 2005-04-25  Wim Taymans  <wim@fluendo.com>
16536
16537         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16538         (gst_pad_set_checkgetrange_function),
16539         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16540         (gst_pad_check_pull_range), (gst_pad_pull_range),
16541         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16542         (gst_pad_pause_task), (gst_pad_stop_task):
16543         * gst/gstplugin.c: (gst_plugin_load):
16544         * gst/gstplugin.h:
16545         Remove gst_library_load as it does more harm than good with
16546         the new g_module flags.
16547         Revert bogus caps template check in pad linking, pad caps
16548         are important when linking not the template, which is more
16549         general than the current caps.
16550
16551 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16552
16553         * gst/autoplug/.cvsignore:
16554         * gst/autoplug/Makefile.am:
16555         * gst/autoplug/gstsearchfuncs.c:
16556         * gst/autoplug/gstsearchfuncs.h:
16557         * gst/autoplug/gstspider.c:
16558         * gst/autoplug/gstspider.h:
16559         * gst/autoplug/gstspideridentity.c:
16560         * gst/autoplug/gstspideridentity.h:
16561         * gst/autoplug/spidertest.c:
16562           Die, spider, die.
16563
16564 2005-04-25  Wim Taymans  <wim@fluendo.com>
16565
16566         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16567         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16568         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16569         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16570         * gst/gstpad.h:
16571         Added stubs for unimplemented functions. 
16572
16573 2005-04-24  David Schleef  <ds@schleef.org>
16574
16575         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
16576         please fix.
16577
16578 2005-04-24  David Schleef  <ds@schleef.org>
16579
16580         Convert everything from GstAtomicInt to g_atomic_int_*, and
16581         remove gstatomic.
16582         * gst/Makefile.am:
16583         * gst/gstatomic.c:
16584         * gst/gstatomic.h:
16585         * gst/gstatomic_impl.h:
16586         * gst/gstbuffer.c:
16587         * gst/gstcaps.c:
16588         * gst/gstcaps.h:
16589         * gst/gstclock.c:
16590         * gst/gstclock.h:
16591         * gst/gstdata.c:
16592         * gst/gstdata.h:
16593         * gst/gstdata_private.h:
16594         * gst/gstevent.c:
16595         * gst/gstinfo.c:
16596         * gst/gstinfo.h:
16597         * gst/gstmessage.c:
16598         * gst/gstobject.c:
16599         * gst/gstobject.h:
16600         * gst/gststructure.c:
16601         * gst/gststructure.h:
16602         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16603         * gst/gstutils.h:
16604
16605 2005-04-24  David Schleef  <ds@schleef.org>
16606
16607         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16608         make the regressions tests work.  Remove some code that is no
16609         longer true.
16610         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16611         Disable warning for pads without templates.
16612
16613 2005-04-24  David Schleef  <ds@schleef.org>
16614
16615         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
16616         functions that handle filtered links.
16617         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16618         removed functions.
16619         * gst/gstutils.c: Fix/remove utility functions that handle
16620         filtered caps.
16621         * gst/gstutils.h:
16622         * gst/gstvalue.c: Add serialization/deserialization of caps
16623         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
16624         requires fixing so that the filter caps notation creates
16625         a capsfilter element and sets the filter_caps property.  I
16626         think everyone probably wants to keep the shorthand notation.
16627         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16628         * docs/gst/tmpl/gstpad.sgml:
16629
16630         * gst/elements/gstelements.c: Register capsfilter element.
16631         * gst/Makefile.am: fix spacing
16632         * docs/random/ds/0.9-suggested-changes: random
16633
16634 2005-04-23  David Schleef  <ds@schleef.org>
16635
16636         * gst/elements/Makefile.am:
16637         * gst/elements/gstcapsfilter.c: New element that acts like an
16638         identity, but filters caps.  Will eventually replace filtered
16639         caps in pad linking.
16640         * gst/gstutils.c: (gst_element_create_all_pads): New function
16641         to create all the ALWAYS pads that are registered with an
16642         element class.  This functionality should eventually be
16643         merged in with GstElement initialization.
16644         * gst/gstutils.h:
16645         * testsuite/trigger/README: part of trigger test code that should
16646         have been checked in a long time ago.
16647
16648 2005-04-23  David Schleef  <ds@schleef.org>
16649
16650         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
16651         needed with new versions of libtool (nobody will confirm this),
16652         and hard to carry around.
16653         * gst/autoplug/Makefile.am:
16654         * gst/base/Makefile.am:
16655         * gst/elements/Makefile.am:
16656         * gst/indexers/Makefile.am:
16657         * gst/schedulers/Makefile.am:
16658         * libs/gst/bytestream/Makefile.am:
16659         * libs/gst/control/Makefile.am:
16660         * libs/gst/dataprotocol/Makefile.am:
16661         * libs/gst/getbits/Makefile.am:
16662
16663 2005-04-21  Wim Taymans  <wim@fluendo.com>
16664
16665         * docs/design/draft-push-pull.txt:
16666         * docs/design/part-MT-refcounting.txt:
16667         * docs/design/part-TODO.txt:
16668         * docs/design/part-caps.txt:
16669         * docs/design/part-events.txt:
16670         * docs/design/part-gstbus.txt:
16671         * docs/design/part-gstpipeline.txt:
16672         * docs/design/part-messages.txt:
16673         * docs/design/part-push-pull.txt:
16674         * docs/design/part-query.txt:
16675         Some more docs.
16676
16677 2005-04-21  Wim Taymans  <wim@fluendo.com>
16678
16679         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16680         (gst_message_new), (gst_message_new_error),
16681         (gst_message_new_warning), (gst_message_new_tag),
16682         (gst_message_new_state_changed), (gst_message_new_application),
16683         (gst_message_get_structure):
16684         * gst/gstmessage.h:
16685         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16686         (gst_structure_copy_conditional):
16687         Use parent refcount in GstMessage to ensure GstStructure
16688         consistency.
16689         Cleaned up headers a bit.
16690         
16691
16692 2005-04-20  Wim Taymans  <wim@fluendo.com>
16693
16694         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16695         (gst_basesink_pad_getcaps), (gst_basesink_init),
16696         (gst_basesink_chain_unlocked):
16697         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16698         (gst_type_find_helper):
16699         * gst/elements/gsttypefindelement.c:
16700         (gst_type_find_element_have_type), (gst_type_find_element_init),
16701         (stop_typefinding), (gst_type_find_element_handle_event),
16702         (find_suggest), (gst_type_find_element_chain),
16703         (gst_type_find_element_checkgetrange),
16704         (gst_type_find_element_getrange), (do_typefind),
16705         (gst_type_find_element_activate):
16706         * gst/gstbuffer.c: (_gst_buffer_sub_free),
16707         (gst_buffer_default_free), (gst_buffer_default_copy),
16708         (gst_buffer_set_caps):
16709         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16710         (gst_caps_replace):
16711         * gst/gstmessage.c: (gst_message_new),
16712         (gst_message_new_state_changed):
16713         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16714         (gst_pad_set_checkgetrange_function),
16715         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16716         (gst_pad_set_caps), (gst_pad_check_pull_range),
16717         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16718         * gst/gstpad.h:
16719         * gst/gsttypefind.c: (gst_type_find_register):
16720         Make gst_caps_replace() work like other _replace() functions.
16721         Use _caps_replace() where possible.
16722         Make sure _message_new() initialises its field.
16723         Add gst_static_pad_template_get_caps()
16724
16725
16726 2005-04-18  Andy Wingo  <wingo@pobox.com>
16727
16728         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16729         on the peer, not the pad. I think that was a typo. Pass an extra
16730         arg to see if random access is possible. Activate the pads as
16731         PULL_RANGE if possible.
16732
16733         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16734
16735         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
16736         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16737         to PROP_....
16738
16739 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16740
16741         * docs/faq/using.xml:
16742           Add note on gstreamer-properties (#154996).
16743
16744 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16745
16746         * docs/random/bbb/optional-properties:
16747           Some analysis on optional properties.
16748
16749 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16750
16751         * docs/gst/tmpl/gstelementfactory.sgml:
16752         * gst/gstelement.h:
16753         * gst/gstelementfactory.c: (gst_element_factory_init),
16754         (gst_element_factory_cleanup), (gst_element_register),
16755         (__gst_element_factory_add_static_pad_template),
16756         (gst_element_factory_get_static_pad_templates),
16757         (gst_element_factory_can_src_caps),
16758         (gst_element_factory_can_sink_caps):
16759         * gst/registries/Makefile.am:
16760         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16761         (gst_xml_registry_class_init), (gst_xml_registry_init),
16762         (gst_xml_registry_new), (gst_xml_registry_set_property),
16763         (gst_xml_registry_get_property), (get_time), (make_dir),
16764         (gst_xml_registry_get_perms_func),
16765         (plugin_times_older_than_recurse), (plugin_times_older_than),
16766         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16767         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16768         (add_to_char_array), (read_string), (read_uint), (read_enum),
16769         (load_pad_template), (load_feature), (load_plugin), (load_paths),
16770         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16771         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16772         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16773         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16774         (gst_xml_registry_rebuild):
16775         * gst/registries/gstlibxmlregistry.h:
16776         * tools/gst-compprep.c: (main):
16777         * tools/gst-inspect.c: (print_pad_templates_info):
16778         * tools/gst-xmlinspect.c: (print_element_info):
16779           Use libxml2 for registry parsing, use staticpadtemplates in
16780           elementfactories. Makes gst_init() +/- 10x faster.
16781
16782 2005-04-12  Wim Taymans  <wim@fluendo.com>
16783
16784         * gst/base/Makefile.am:
16785         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16786         (gst_basesink_pad_getcaps), (gst_basesink_init),
16787         (gst_basesink_event), (gst_basesink_change_state):
16788         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16789         (gst_basesrc_init), (gst_basesrc_query),
16790         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16791         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16792         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16793         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16794         (gst_basesrc_stop), (gst_basesrc_activate),
16795         (gst_basesrc_change_state):
16796         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16797         (helper_find_suggest), (gst_type_find_helper):
16798         * gst/base/gsttypefindhelper.h:
16799         * gst/elements/Makefile.am:
16800         * gst/elements/gstelements.c:
16801         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16802         (gst_fakesink_get_times), (gst_fakesink_event),
16803         (gst_fakesink_preroll), (gst_fakesink_render):
16804         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16805         (gst_fakesrc_init), (gst_fakesrc_event_handler),
16806         (gst_fakesrc_get_property), (gst_fakesrc_create),
16807         (gst_fakesrc_start), (gst_fakesrc_stop):
16808         * gst/elements/gstfakesrc.h:
16809         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
16810         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16811         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16812         (gst_filesrc_create_read), (gst_filesrc_create),
16813         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16814         (gst_filesrc_start):
16815         * gst/elements/gsttypefindelement.c:
16816         (gst_type_find_element_have_type), (gst_type_find_element_init),
16817         (start_typefinding), (stop_typefinding), (push_buffer_store),
16818         (gst_type_find_element_handle_event),
16819         (gst_type_find_element_chain),
16820         (gst_type_find_element_checkgetrange),
16821         (gst_type_find_element_getrange), (do_typefind),
16822         (gst_type_find_element_activate),
16823         (gst_type_find_element_change_state):
16824         * gst/elements/gsttypefindelement.h:
16825         * gst/gstpipeline.c: (pipeline_bus_handler):
16826         Added typefind helper.
16827         Small preroll fix in the base sink.
16828         Disable typefind code in basesrc.
16829         Crude port of typefindelement.
16830         Fakesrc cleanups.
16831
16832
16833 2005-04-11  Wim Taymans  <wim@fluendo.com>
16834
16835         * check/gst/gstbus.c: (gstbus_suite):
16836         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
16837         * check/gstcheck.h:
16838           Fix up the timeout so that the test does not fail.
16839
16840 2005-04-06  Wim Taymans  <wim@fluendo.com>
16841
16842         * gst/base/README:
16843         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16844         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16845         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16846         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16847         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16848         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16849         (gst_basesrc_stop), (gst_basesrc_activate),
16850         (gst_basesrc_change_state), (basesrc_find_peek),
16851         (basesrc_find_suggest), (gst_basesrc_type_find):
16852         * gst/base/gstbasesrc.h:
16853         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16854         (gst_filesrc_class_init), (gst_filesrc_init),
16855         (gst_filesrc_finalize), (gst_filesrc_set_location),
16856         (gst_filesrc_set_property), (gst_filesrc_get_property),
16857         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16858         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16859         (gst_filesrc_create_read), (gst_filesrc_create),
16860         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16861         * gst/elements/gstfilesrc.h:
16862         * gst/gstelement.c: (gst_element_get_state_func),
16863         (gst_element_lost_state), (gst_element_pads_activate):
16864         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16865         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16866         (gst_pad_pull_range):
16867         * gst/gstpad.h:
16868         More work on the generic source base class, implement seeking,
16869         query.
16870         Make filesrc extend the base source class.
16871         Added gst_pad_set_checkgetrange_function to GstPad.
16872
16873 2005-04-06  Andy Wingo  <wingo@pobox.com>
16874
16875         * pkgconfig/gstreamer-base.pc.in:
16876         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16877
16878         * pkgconfig/Makefile.am:
16879         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16880
16881 2005-04-04  Wim Taymans  <wim@fluendo.com>
16882
16883         * gst/base/Makefile.am:
16884         * gst/base/README:
16885         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16886         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16887         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16888         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16889         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16890         (gst_basesrc_base_init), (gst_basesrc_class_init),
16891         (gst_basesrc_init), (gst_basesrc_get_formats),
16892         (gst_basesrc_get_query_types), (gst_basesrc_query),
16893         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16894         (gst_basesrc_set_property), (gst_basesrc_get_property),
16895         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16896         (gst_basesrc_loop), (gst_basesrc_activate),
16897         (gst_basesrc_change_state):
16898         * gst/base/gstbasesrc.h:
16899         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16900         (gst_fakesrc_class_init), (gst_fakesrc_init),
16901         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16902         (gst_fakesrc_get_property), (gst_fakesrc_create):
16903         * gst/elements/gstfakesrc.h:
16904         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16905         (gst_filesrc_open_file), (gst_filesrc_loop),
16906         (gst_filesrc_activate), (filesrc_find_peek),
16907         (gst_filesrc_type_find):
16908         Made base source class, make fakesrc extend it.
16909         Add comments to basesink class.
16910         Some filesrc cleanup.
16911
16912 2005-03-31  David Schleef  <ds@schleef.org>
16913
16914         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16915         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16916         expected to link against libgstreamer.
16917         * gst/base/Makefile.am: link against libgstreamer
16918         * gst/elements/Makefile.am: same
16919
16920 2005-03-31  Andy Wingo  <wingo@pobox.com>
16921
16922         * tests/instantiate/Makefile.am:
16923         * tests/instantiate/caps.c: Add test to test speed of caps copy
16924         and free.
16925
16926         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16927         GMemChunk to be fair.
16928
16929         * gst/gsttrashstack.h: Remove warning about using the fallback
16930         trash stack implementation, it's still faster than malloc.
16931
16932 2005-03-30  Andy Wingo  <wingo@pobox.com>
16933
16934         * tests/complexity.c: Add a copyright.
16935
16936 2005-03-31  Wim Taymans  <wim@fluendo.com>
16937
16938         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16939         (gst_base_transform_class_init), (gst_base_transform_init),
16940         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16941         (gst_base_transform_get_property),
16942         (gst_base_transform_sink_activate),
16943         (gst_base_transform_src_activate),
16944         (gst_base_transform_change_state):
16945         * gst/base/gstbasetransform.h:
16946         * gst/elements/gstidentity.c: (gst_identity_class_init),
16947         (gst_identity_event), (gst_identity_check_perfect),
16948         (gst_identity_transform), (gst_identity_start),
16949         (gst_identity_stop):
16950         Added start/stop methods to transform base class so subclasses 
16951         don't need to deal with state changes even.
16952
16953 2005-03-31  Wim Taymans  <wim@fluendo.com>
16954
16955         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16956         (gst_event_new_discontinuous), (gst_event_discont_get_value):
16957         * gst/gstevent.h:
16958         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16959         (gst_pad_pull_range):
16960         Added rate to the discont event to prepare for variable speed
16961         and reverse playback.
16962
16963 2005-03-29  David Schleef  <ds@schleef.org>
16964
16965         * configure.ac:
16966         * testsuite/trigger/Makefile.am:
16967         * testsuite/trigger/trigger.c: A little example program to show
16968         how trigger-based elements can work.
16969
16970 2005-03-29  Wim Taymans  <wim@fluendo.com>
16971
16972         * gst/base/Makefile.am:
16973         * gst/base/README:
16974         * gst/base/gstbasesink.c: (gst_basesink_get_type),
16975         (gst_basesink_base_init), (gst_basesink_class_init),
16976         (gst_basesink_pad_getcaps), (gst_basesink_init),
16977         (gst_basesink_activate), (gst_basesink_change_state):
16978         * gst/base/gstbasesink.h:
16979         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
16980         (gst_base_transform_base_init), (gst_base_transform_finalize),
16981         (gst_base_transform_class_init), (gst_base_transform_init),
16982         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
16983         (gst_base_transform_event), (gst_base_transform_getrange),
16984         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
16985         (gst_base_transform_set_property),
16986         (gst_base_transform_get_property),
16987         (gst_base_transform_sink_activate),
16988         (gst_base_transform_src_activate),
16989         (gst_base_transform_change_state):
16990         * gst/base/gstbasetransform.h:
16991         * gst/elements/gstidentity.c: (gst_identity_finalize),
16992         (gst_identity_class_init), (gst_identity_init),
16993         (gst_identity_event), (gst_identity_check_perfect),
16994         (gst_identity_transform), (gst_identity_set_property),
16995         (gst_identity_get_property), (gst_identity_change_state):
16996         * gst/elements/gstidentity.h:
16997         * gst/gstelement.c: (gst_element_get_state_func),
16998         (gst_element_lost_state), (gst_element_pads_activate):
16999         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17000         (gst_pad_check_pull_range), (gst_pad_pull_range):
17001         * gst/gstpad.h:
17002         Simplify pad activation.
17003         Added function to check if pull_range can be performed.
17004         Error out when pulling inactive or flushing pads.
17005         Removed const from refcounted types as it does not make sense.
17006         Simplify pad templates in basesink
17007         Added base class for simple 1-to-1 transforms.
17008         Make identity subclass the base transform.
17009
17010 2005-03-29  Andy Wingo  <wingo@pobox.com>
17011
17012         * docs/libs/gstreamer-libs-overrides.txt: 
17013         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17014         really don't understand what's going on, but like whatever. I want
17015         green buildbot!
17016
17017         * docs/gst/Makefile.am:
17018         * docs/libs/Makefile.am: Dist the overrides files.
17019
17020         * check/Makefile.am (clean-local): Remove .libs directories.
17021
17022         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17023         elements to EXTRA_DIST, so po/ files are happy.
17024
17025         * po/POTFILES.in: Er, remove it here.
17026
17027         * po/POTFILES: Remove gstspider.c.
17028
17029         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17030
17031         * docs/libs/gstreamer-libs-docs.sgml: 
17032         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17033         bytestream.
17034
17035         * tests/complexity.c (main): Set the length of the preroll queue
17036         on the sinks to prevent a lockup.
17037
17038         * libs/gst/dataprotocol/Makefile.am: 
17039         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17040         the same as the one in check/gst-libs/gdp.c.
17041
17042         * po/, docs/gst/: Commit automatic changes to docs and po files.
17043
17044         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17045         the versioned libgstbase.
17046
17047         * check/Makefile.am: Depend on an unversioned gst-register, seems
17048         to make autoconf happier.
17049
17050         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17051
17052 2005-03-28  Wim Taymans  <wim@fluendo.com>
17053
17054         * configure.ac:
17055         * docs/design/part-gstelement.txt:
17056         * docs/design/part-negotiation.txt:
17057         * docs/design/part-preroll.txt:
17058         * docs/design/part-scheduling.txt:
17059         * docs/design/part-states.txt:
17060         * gst/Makefile.am:
17061         * gst/base/Makefile.am:
17062         * gst/base/README:
17063         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17064         (gst_basesink_base_init), (gst_basesink_class_init),
17065         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17066         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17067         (gst_basesink_set_pad_functions),
17068         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17069         (gst_basesink_set_property), (gst_basesink_get_property),
17070         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17071         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17072         (gst_basesink_preroll_queue_push),
17073         (gst_basesink_preroll_queue_empty),
17074         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17075         (gst_basesink_event), (gst_basesink_get_times),
17076         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17077         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17078         (gst_basesink_loop), (gst_basesink_activate),
17079         (gst_basesink_change_state):
17080         * gst/base/gstbasesink.h:
17081         * gst/elements/Makefile.am:
17082         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17083         (gst_fakesink_class_init), (gst_fakesink_init),
17084         (gst_fakesink_set_property), (gst_fakesink_get_property),
17085         (gst_fakesink_get_times), (gst_fakesink_event),
17086         (gst_fakesink_preroll), (gst_fakesink_render),
17087         (gst_fakesink_change_state):
17088         * gst/elements/gstfakesink.h:
17089         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17090         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17091         * gst/gstelement.c: (gst_element_add_pad),
17092         (gst_element_get_state_func), (gst_element_abort_state),
17093         (gst_element_commit_state), (gst_element_lost_state),
17094         (gst_element_set_state), (gst_element_pads_activate):
17095         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17096         * gst/gstpipeline.c: (gst_pipeline_send_event),
17097         (gst_pipeline_change_state):
17098         Added state change code.
17099         Added/updated docs.
17100         Added sink base class, make fakesink extend the base class.
17101         Small cleanups in GstPipeline.
17102
17103 2005-03-26  David Schleef  <ds@schleef.org>
17104
17105         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17106         is broken and should be implemented in a different library.
17107         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17108         * gst/gst.h: remove gstcpu.h
17109         * gst/gstcpu.c: remove
17110         * gst/gstcpu.h: remove
17111         * gst/Makefile.am.future: Remove this file.  It's ancient.
17112
17113 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17114
17115         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17116         (gst_bin_send_event):
17117           Add default event/set_manager handlers. The set_manager handler
17118           takes care that the manager is distributed over kids that were
17119           already in the bin before the manager was set. The event handler
17120           is a utility virtual function that sends the event over all sinks,
17121           so that gst_element_send_event (bin, event); has the expected
17122           behaviour.
17123         * gst/gstpad.c: (gst_pad_event_default):
17124           Re-install default event handling for discontinuities, so that
17125           seeking works without requiring hacks in applications or extra
17126           code in sinks.
17127         * gst/gstpipeline.c: (gst_pipeline_class_init),
17128         (gst_pipeline_send_event):
17129           Half hack, half utility: set a pipeline to PAUSED for seek events,
17130           since that is the only way we can guarantee a/v sync. Means that
17131           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17132           and it "just works".
17133
17134 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17135
17136         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17137           Lock/unlock mismatch.
17138
17139 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17140
17141         * docs/faq/gst-uninstalled:
17142           add gst-plugins-base
17143         * docs/gst/Makefile.am:
17144           don't error out until docs are fixed
17145         * docs/gst/gstreamer.types:
17146           remove thread
17147
17148 2005-03-22  Wim Taymans  <wim@fluendo.com>
17149
17150         * check/Makefile.am:
17151         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17152         * gst/gststructure.c: (gst_structure_set_valist),
17153         (gst_structure_copy_conditional):
17154         Activated more tests.
17155         Added message test.
17156         Added G_TYPE_POINTER to GstStructure.
17157         
17158
17159 2005-03-22  Wim Taymans  <wim@fluendo.com>
17160
17161         * docs/design/part-TODO.txt:
17162         * docs/design/part-events.txt:
17163         * docs/design/part-gstbin.txt:
17164         * docs/design/part-gstbus.txt:
17165         * docs/design/part-gstpipeline.txt:
17166         * docs/design/part-messages.txt:
17167         * gst/gstbus.c:
17168         * gst/gstmessage.c:
17169         Docs updates
17170
17171 2005-03-21  Wim Taymans  <wim@fluendo.com>
17172
17173         * gst/gstbus.c: (gst_bus_post):
17174         Fix copy-and-paste error.
17175
17176 2005-03-21  Wim Taymans  <wim@fluendo.com>
17177
17178         * check/Makefile.am:
17179         * gst/Makefile.am:
17180         * gst/elements/Makefile.am:
17181         * gst/elements/gstelements.c:
17182         * gst/elements/gstfakesink.c: (gst_fakesink_init),
17183         (gst_fakesink_event), (gst_fakesink_chain):
17184         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17185         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17186         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17187         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17188         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17189         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17190         (gst_fakesrc_loop), (gst_fakesrc_activate),
17191         (gst_fakesrc_change_state):
17192         * gst/elements/gstfakesrc.h:
17193         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17194         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17195         (gst_filesrc_open_file), (gst_filesrc_loop),
17196         (gst_filesrc_activate), (gst_filesrc_change_state),
17197         (filesrc_find_peek), (filesrc_find_suggest),
17198         (gst_filesrc_type_find):
17199         * gst/elements/gstidentity.c: (gst_identity_finalize),
17200         (gst_identity_class_init), (gst_identity_init),
17201         (gst_identity_proxy_getcaps), (identity_queue_push),
17202         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17203         (gst_identity_getrange), (gst_identity_chain),
17204         (gst_identity_sink_loop), (gst_identity_src_loop),
17205         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17206         (gst_identity_set_property), (gst_identity_get_property),
17207         (gst_identity_change_state):
17208         * gst/elements/gstidentity.h:
17209         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17210         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17211         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17212         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17213         (gst_tee_sink_activate):
17214         * gst/elements/gsttee.h:
17215         * gst/gst.c: (gst_register_core_elements), (init_post):
17216         * gst/gst.h:
17217         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17218         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17219         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17220         (gst_bin_change_state):
17221         * gst/gstbin.h:
17222         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17223         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17224         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17225         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17226         (gst_bus_set_sync_handler), (gst_bus_create_watch),
17227         (bus_watch_callback), (bus_watch_destroy),
17228         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17229         (poll_timeout), (gst_bus_poll):
17230         * gst/gstbus.h:
17231         * gst/gstcaps.h:
17232         * gst/gstdata.h:
17233         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17234         (gst_element_post_message), (gst_element_message_full),
17235         (gst_element_get_state_func), (gst_element_get_state),
17236         (gst_element_abort_state), (gst_element_commit_state),
17237         (gst_element_lost_state), (gst_element_set_state),
17238         (gst_element_pads_activate), (gst_element_change_state),
17239         (gst_element_dispose), (gst_element_set_manager_func),
17240         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17241         (gst_element_set_manager), (gst_element_get_manager),
17242         (gst_element_set_bus), (gst_element_get_bus),
17243         (gst_element_set_scheduler), (gst_element_get_scheduler):
17244         * gst/gstelement.h:
17245         * gst/gstevent.c: (gst_event_new_segment_seek),
17246         (gst_event_new_flush):
17247         * gst/gstevent.h:
17248         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17249         (_gst_message_free), (gst_message_get_type), (gst_message_new),
17250         (gst_message_new_eos), (gst_message_new_error),
17251         (gst_message_new_warning), (gst_message_new_tag),
17252         (gst_message_new_state_changed), (gst_message_new_application),
17253         (gst_message_get_structure), (gst_message_parse_tag),
17254         (gst_message_parse_state_changed), (gst_message_parse_error),
17255         (gst_message_parse_warning):
17256         * gst/gstmessage.h:
17257         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17258         (gst_real_pad_set_property), (gst_pad_set_active),
17259         (gst_pad_is_active), (gst_pad_set_blocked_async),
17260         (gst_pad_set_blocked), (gst_pad_is_blocked),
17261         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17262         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17263         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17264         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17265         (gst_pad_link_filtered), (gst_pad_relink_filtered),
17266         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17267         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17268         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17269         (gst_pad_set_caps), (gst_pad_configure_sink),
17270         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17271         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17272         (gst_real_pad_dispose), (gst_real_pad_finalize),
17273         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17274         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17275         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17276         * gst/gstpad.h:
17277         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17278         (pipeline_bus_handler), (gst_pipeline_change_state),
17279         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17280         * gst/gstpipeline.h:
17281         * gst/gstprobe.h:
17282         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17283         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17284         (gst_queue_link_src), (gst_queue_bufferalloc),
17285         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17286         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17287         (gst_queue_loop), (gst_queue_handle_src_event),
17288         (gst_queue_handle_src_query), (gst_queue_src_activate),
17289         (gst_queue_change_state):
17290         * gst/gstqueue.h:
17291         * gst/gstscheduler.c: (gst_scheduler_init),
17292         (gst_scheduler_dispose), (gst_scheduler_create_task),
17293         (gst_scheduler_factory_create):
17294         * gst/gstscheduler.h:
17295         * gst/gststructure.c: (gst_structure_get_type),
17296         (gst_structure_copy_conditional):
17297         * gst/gststructure.h:
17298         * gst/gsttaginterface.h:
17299         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17300         (gst_task_init), (gst_task_dispose), (gst_task_create),
17301         (gst_task_get_state), (gst_task_start), (gst_task_stop),
17302         (gst_task_pause):
17303         * gst/gsttask.h:
17304         * gst/gstthread.c:
17305         * gst/gstthread.h:
17306         * gst/gsttypes.h:
17307         * gst/schedulers/Makefile.am:
17308         * gst/schedulers/cothreads_compat.h:
17309         * gst/schedulers/entryscheduler.c:
17310         * gst/schedulers/faircothreads.c:
17311         * gst/schedulers/faircothreads.h:
17312         * gst/schedulers/fairscheduler.c:
17313         * gst/schedulers/gstbasicscheduler.c:
17314         * gst/schedulers/gstoptimalscheduler.c:
17315         * gst/schedulers/gthread-cothreads.h:
17316         * gst/schedulers/threadscheduler.c:
17317         (gst_thread_scheduler_task_get_type),
17318         (gst_thread_scheduler_task_class_init),
17319         (gst_thread_scheduler_task_init),
17320         (gst_thread_scheduler_task_start),
17321         (gst_thread_scheduler_task_stop),
17322         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17323         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17324         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17325         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17326         (plugin_init):
17327         * libs/gst/Makefile.am:
17328         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17329         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17330         (gst_file_pad_parent_set):
17331         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17332         (gst_dp_event_from_packet):
17333         * tests/complexity.c: (main):
17334         * tests/mass_elements.c: (main):
17335         * testsuite/states/locked.c: (message_received), (main):
17336         * testsuite/states/parent.c: (main):
17337         * tools/gst-inspect.c: (print_element_flag_info),
17338         (print_implementation_info), (print_pad_info):
17339         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17340         (main):
17341         * tools/gst-md5sum.c: (event_loop), (main):
17342         * tools/gst-typefind.c: (main):
17343         * tools/gst-xmlinspect.c: (print_element_info):
17344         Next big merge.
17345         Added GstBus for mainloop integration.
17346         Added GstMessage for sending notifications on the bus.
17347         Added GstTask as an abstraction for pipeline entry points.
17348         Removed GstThread.
17349         Removed Schedulers.
17350         Simplified GstQueue for multithreaded core.
17351         Made _link threadsafe, removed old capsnego.
17352         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17353         Added pad blocking functions.
17354         Reworked scheduling functions in GstPad to prepare for
17355         scheduling updates soon.
17356         Moved events out of data stream.
17357         Simplified GstEvent types.
17358         Added return values to push/pull.
17359         Removed clocking from GstElement.
17360         Added prototypes for state change function for next merge.
17361         Removed iterate from bins and state change management.
17362         Fixed some elements, disabled others for now.
17363         Fixed -inspect and -launch.
17364         Added check for GstBus.
17365
17366 2005-03-10  Wim Taymans  <wim@fluendo.com>
17367
17368         * docs/design/part-MT-refcounting.txt:
17369         * docs/design/part-clocks.txt:
17370         * docs/design/part-gstelement.txt:
17371         * docs/design/part-gstobject.txt:
17372         * docs/design/part-standards.txt:
17373         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17374         (gst_bin_remove_func), (gst_bin_remove):
17375         * gst/gstbin.h:
17376         * gst/gstbuffer.c:
17377         * gst/gstcaps.h:
17378         * testsuite/clock/clock1.c: (main):
17379         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17380         (main):
17381         * testsuite/dlopen/loadgst.c: (do_test):
17382         * testsuite/refcounting/bin.c: (add_remove_test1),
17383         (add_remove_test2), (main):
17384         * testsuite/refcounting/element.c: (main):
17385         * testsuite/refcounting/element_pad.c: (main):
17386         * testsuite/refcounting/pad.c: (main):
17387         * tools/gst-launch.c: (sigint_handler_sighandler):
17388         * tools/gst-typefind.c: (main):
17389         Doc updates.
17390         Added doc about clock.
17391         removed gst_bin_iterate_recurse_up(), marked methods
17392         for removal.
17393         Fix more testsuites.
17394
17395 2005-03-09  Wim Taymans  <wim@fluendo.com>
17396
17397         * gst/gstpad.c: (gst_pad_get_direction),
17398         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17399         (gst_pad_collect_valist):
17400         * testsuite/bins/interface.c: (main):
17401         * testsuite/caps/audioscale.c: (test_caps):
17402         * testsuite/caps/caps.c: (test1), (test2), (test3):
17403         * testsuite/caps/deserialize.c: (main):
17404         * testsuite/caps/enumcaps.c: (main):
17405         * testsuite/caps/filtercaps.c: (main):
17406         * testsuite/caps/intersect2.c: (main):
17407         * testsuite/caps/random.c: (main):
17408         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17409         * testsuite/caps/sets.c: (check_caps):
17410         * testsuite/caps/simplify.c: (check_caps), (main):
17411         * testsuite/caps/subtract.c: (check_caps):
17412         Fix _pad_get_direction wrt ghostpads.
17413         Fix caps testsuite.
17414
17415 2005-03-09  Wim Taymans  <wim@fluendo.com>
17416
17417         * check/Makefile.am:
17418         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17419         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17420         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17421         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17422         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17423         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17424         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17425         (bin_element_is_sink), (gst_bin_iterate_sinks),
17426         (gst_bin_iterate_all_by_interface):
17427         * gst/gstbin.h:
17428         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17429         (gst_element_change_state), (gst_element_dispose),
17430         (gst_element_finalize), (gst_element_set_loop_function):
17431         * gst/gstelement.h:
17432         * gst/gstiterator.c: (find_custom_fold_func):
17433         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17434         (gst_pad_collectv), (gst_pad_collect_valist),
17435         (gst_pad_template_new):
17436         * gst/gstpipeline.c: (gst_pipeline_class_init),
17437         (gst_pipeline_dispose), (gst_pipeline_set_property),
17438         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17439         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17440         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17441         * gst/gstutils.h:
17442         * gst/schedulers/entryscheduler.c:
17443         * gst/schedulers/gstbasicscheduler.c:
17444         (gst_basic_scheduler_cothreaded_chain),
17445         (gst_basic_scheduler_chain_add_element):
17446         * testsuite/bins/interface.c: (main):
17447         Added GstBin test.
17448         Added GstSystemClock test.
17449         Implemented clock distribution code in GstBin.
17450         Implemented iterate sinks method for future use.
17451         Rearranged gstelement.h
17452         Fix GstIterator comparison bug.
17453         Moved some code to GstPipeline, mostly clocking related.
17454
17455 2005-03-09  Wim Taymans  <wim@fluendo.com>
17456
17457         * configure.ac:
17458         * gst/gst_private.h:
17459         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17460         (gst_bin_remove_func), (gst_bin_remove),
17461         (gst_bin_get_by_name_recurse_up):
17462         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17463         (gst_clock_id_compare_func), (gst_clock_id_wait),
17464         (gst_clock_id_wait_async), (gst_clock_init),
17465         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17466         * gst/gstelement.h:
17467         * gst/gstinfo.c: (_gst_debug_init):
17468         * gst/gstobject.h:
17469         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17470         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17471         * gst/gstpad.h:
17472         Bump version number, we're now 0.9.0
17473         Add future debugging category.
17474         Fix NULL _unref() in _get_by_name_recurse_up
17475         Rearrange gstpad.h.
17476         Update some docs.
17477
17478 2005-03-08  Wim Taymans  <wim@fluendo.com>
17479
17480         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17481         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17482         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17483         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17484         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17485         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17486         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17487         * gst/elements/gstidentity.c: (gst_identity_class_init):
17488         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17489         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17490         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17491         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17492         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17493         (gst_tee_link):
17494         * gst/gstelement.c: (gst_element_class_init),
17495         (gst_element_base_class_init), (gst_element_init),
17496         (gst_element_get_random_pad), (gst_element_wait_state_change),
17497         (gst_element_change_state), (gst_element_dispose),
17498         (gst_element_finalize), (gst_element_set_loop_function):
17499         * gst/gstelement.h:
17500         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17501         * gst/gstthread.c: (gst_thread_class_init),
17502         (gst_thread_release_children_locks), (gst_thread_change_state):
17503         * gst/schedulers/gstbasicscheduler.c:
17504         (gst_basic_scheduler_loopfunc_wrapper),
17505         (gst_basic_scheduler_chain_wrapper),
17506         (gst_basic_scheduler_src_wrapper),
17507         (gst_basic_scheduler_remove_element):
17508         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17509         Remove threadsafe properties. Fix elements because GObject
17510         complains when installing a property before declaring a
17511         set/get_property handler.
17512         Rearrange gstelement.h file, use STATE macros for state locks.
17513         Free mutexes in the finalize method instead of dispose.
17514
17515 2005-03-08  Wim Taymans  <wim@fluendo.com>
17516
17517         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17518         * gst/gstthread.c: (gst_thread_release_children_locks):
17519         Added parentage check.
17520         Fix build og GstThread again.
17521
17522 2005-03-08  Wim Taymans  <wim@fluendo.com>
17523
17524         * docs/design/part-MT-refcounting.txt:
17525         * docs/design/part-conventions.txt:
17526         * docs/design/part-gstobject.txt:
17527         * docs/design/part-relations.txt:
17528         * docs/design/part-standards.txt:
17529         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17530         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17531         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17532         (gst_bin_iterate_all_by_interface):
17533         * gst/gstbuffer.h:
17534         * gst/gstclock.h:
17535         * gst/gstelement.c: (gst_element_class_init),
17536         (gst_element_change_state), (gst_element_set_loop_function):
17537         * gst/gstelement.h:
17538         * gst/gstiterator.c:
17539         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17540         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17541         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17542         (gst_object_set_parent), (gst_object_unparent),
17543         (gst_object_check_uniqueness):
17544         * gst/gstobject.h:
17545         Docs updates, clean up some headers.
17546
17547 2005-03-07  Wim Taymans  <wim@fluendo.com>
17548
17549         * check/.cvsignore:
17550         * check/Makefile.am:
17551         * check/gst-libs/.cvsignore:
17552         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17553         * check/gst/.cvsignore:
17554         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17555         (START_TEST), (gstbus_suite), (main):
17556         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17557         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17558         (gst_data_suite), (main):
17559         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17560         (add_fold_func), (gstiterator_suite), (main):
17561         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17562         (thread_name_object), (thread_name_object_default),
17563         (gst_object_name_compare), (gst_object_suite), (main):
17564         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17565         (gst_pad_suite), (main):
17566         * check/gstcheck.c: (gst_check_log_message_func),
17567         (gst_check_log_critical_func), (gst_check_init):
17568         * check/gstcheck.h:
17569         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17570         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17571         Added checks.
17572
17573 2005-03-07  Wim Taymans  <wim@fluendo.com>
17574
17575         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17576         (gst_list_iterator_next), (gst_list_iterator_resync),
17577         (gst_list_iterator_free), (gst_iterator_new_list),
17578         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17579         (gst_iterator_free), (gst_iterator_push), (filter_next),
17580         (filter_resync), (filter_uninit), (filter_free),
17581         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17582         (gst_iterator_foreach), (find_custom_fold_func),
17583         (gst_iterator_find_custom):
17584         * gst/gstiterator.h:
17585         Added missing files.
17586
17587 2005-03-07  Wim Taymans  <wim@fluendo.com>
17588
17589         * Makefile.am:
17590         * configure.ac:
17591         * docs/design/part-MT-refcounting.txt:
17592         * docs/design/part-conventions.txt:
17593         * docs/design/part-gstobject.txt:
17594         * docs/design/part-relations.txt:
17595         * examples/mixer/mixer.c: (main):
17596         * examples/thread/thread.c: (eos), (main):
17597         * gst/Makefile.am:
17598         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17599         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17600         (gst_spider_plug_from_srcpad):
17601         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17602         (gst_spider_identity_change_state),
17603         (gst_spider_identity_sink_loop_type_finding):
17604         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17605         * gst/elements/gstidentity.c: (gst_identity_init):
17606         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17607         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17608         * gst/elements/gsttypefindelement.c: (free_entry):
17609         * gst/gst.c:
17610         * gst/gst.h:
17611         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17612         (gst_bin_set_clock_func), (gst_bin_auto_clock),
17613         (gst_bin_set_index), (gst_bin_set_element_sched),
17614         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17615         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17616         (gst_bin_iterate_elements), (iterate_child_recurse),
17617         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17618         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17619         (compare_interface), (gst_bin_get_by_interface),
17620         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17621         * gst/gstbin.h:
17622         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17623         (gst_buffer_default_free), (gst_buffer_default_copy),
17624         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17625         (gst_buffer_create_sub):
17626         * gst/gstbuffer.h:
17627         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17628         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17629         (gst_caps_unref), (gst_static_caps_get),
17630         (gst_caps_remove_and_get_structure), (gst_caps_append),
17631         (gst_caps_append_structure), (gst_caps_remove_structure),
17632         (gst_caps_copy_nth), (gst_caps_set_simple),
17633         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17634         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17635         (gst_caps_structure_intersect_field), (gst_caps_intersect),
17636         (gst_caps_structure_subtract_field), (gst_caps_subtract),
17637         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17638         (gst_caps_structure_figure_out_union),
17639         (gst_caps_switch_structures), (gst_caps_do_simplify),
17640         (gst_caps_replace), (gst_caps_from_string),
17641         (gst_caps_copy_conditional):
17642         * gst/gstcaps.h:
17643         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17644         (_gst_clock_id_free), (gst_clock_id_unref),
17645         (gst_clock_id_compare_func), (gst_clock_id_wait),
17646         (gst_clock_id_wait_async), (gst_clock_class_init),
17647         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17648         (gst_clock_get_time), (gst_clock_set_time_adjust),
17649         (gst_clock_set_property), (gst_clock_get_property):
17650         * gst/gstclock.h:
17651         * gst/gstcompat.h:
17652         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17653         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17654         * gst/gstdata.h:
17655         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17656         (gst_element_requires_clock), (gst_element_provides_clock),
17657         (gst_element_set_clock), (gst_element_clock_wait),
17658         (gst_element_wait), (gst_element_set_time_delay),
17659         (gst_element_is_indexable), (gst_element_add_pad),
17660         (gst_element_add_ghost_pad), (gst_element_remove_pad),
17661         (pad_compare_name), (gst_element_get_static_pad),
17662         (gst_element_request_pad), (gst_element_get_request_pad),
17663         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17664         (gst_element_class_get_pad_template_list),
17665         (gst_element_class_get_pad_template), (gst_element_error_func),
17666         (gst_element_get_random_pad), (gst_element_get_event_masks),
17667         (gst_element_send_event), (gst_element_seek),
17668         (gst_element_get_query_types), (gst_element_query),
17669         (gst_element_get_formats), (gst_element_convert),
17670         (gst_element_is_locked_state), (gst_element_set_locked_state),
17671         (gst_element_sync_state_with_parent), (gst_element_change_state),
17672         (gst_element_finalize), (gst_element_yield),
17673         (gst_element_interrupt), (gst_element_set_scheduler),
17674         (gst_element_get_scheduler), (gst_element_set_loop_function):
17675         * gst/gstelement.h:
17676         * gst/gstevent.h:
17677         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17678         (gst_format_get_by_nick), (gst_format_get_details),
17679         (gst_format_iterate_definitions):
17680         * gst/gstformat.h:
17681         * gst/gstindex.c: (gst_index_gtype_resolver):
17682         * gst/gstinfo.c:
17683         * gst/gstinfo.h:
17684         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17685         (gst_mem_chunk_free):
17686         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17687         (gst_object_ref), (gst_object_unref), (gst_object_sink),
17688         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17689         (gst_object_dispatch_properties_changed),
17690         (gst_object_set_name_default), (gst_object_set_name),
17691         (gst_object_get_name), (gst_object_set_name_prefix),
17692         (gst_object_get_name_prefix), (gst_object_set_parent),
17693         (gst_object_get_parent), (gst_object_unparent),
17694         (gst_object_check_uniqueness), (gst_object_save_thyself),
17695         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17696         (gst_object_set_property), (gst_object_get_property),
17697         (gst_object_get_path_string):
17698         * gst/gstobject.h:
17699         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17700         (gst_real_pad_init), (gst_real_pad_get_property),
17701         (gst_pad_custom_new), (gst_pad_get_direction),
17702         (gst_pad_set_active), (gst_pad_is_active),
17703         (gst_pad_set_event_function), (gst_pad_is_linked),
17704         (gst_pad_link_free), (gst_pad_link_intersect),
17705         (gst_pad_link_fixate), (gst_pad_set_caps),
17706         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17707         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17708         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17709         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17710         (gst_pad_get_caps), (gst_pad_peer_get_caps),
17711         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17712         (gst_pad_realize), (gst_pad_get_allowed_caps),
17713         (gst_real_pad_dispose), (gst_real_pad_finalize),
17714         (gst_pad_collectv), (gst_pad_collect_valist),
17715         (gst_pad_template_dispose), (gst_pad_template_new),
17716         (gst_pad_get_internal_links):
17717         * gst/gstpad.h:
17718         * gst/gstpipeline.c: (gst_pipeline_dispose),
17719         (gst_pipeline_change_state):
17720         * gst/gstpipeline.h:
17721         * gst/gstplugin.c:
17722         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17723         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17724         * gst/gstpluginfeature.h:
17725         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17726         * gst/gstquery.c: (_gst_query_type_initialize),
17727         (gst_query_type_register), (gst_query_type_get_by_nick),
17728         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17729         * gst/gstquery.h:
17730         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17731         * gst/gstscheduler.c: (gst_scheduler_add_element),
17732         (gst_scheduler_factory_create):
17733         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17734         (gst_structure_free), (gst_structure_set_name),
17735         (gst_structure_id_set_value), (gst_structure_set_value),
17736         (gst_structure_set_valist), (gst_structure_remove_field),
17737         (gst_structure_remove_fields),
17738         (gst_structure_remove_fields_valist),
17739         (gst_structure_remove_all_fields), (gst_structure_foreach),
17740         (gst_structure_map_in_place),
17741         (gst_caps_structure_fixate_field_nearest_int),
17742         (gst_caps_structure_fixate_field_nearest_double):
17743         * gst/gststructure.h:
17744         * gst/gstsystemclock.c: (gst_system_clock_class_init),
17745         (gst_system_clock_init), (gst_system_clock_dispose),
17746         (gst_system_clock_async_thread),
17747         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17748         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17749         * gst/gstsystemclock.h:
17750         * gst/gsttag.c: (gst_tag_list_add_value_internal),
17751         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17752         * gst/gsttaginterface.c:
17753         * gst/gstthread.c: (gst_thread_dispose),
17754         (gst_thread_release_children_locks), (gst_thread_change_state),
17755         (gst_thread_main_loop):
17756         * gst/gsttrashstack.h:
17757         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17758         * gst/gsttypes.h:
17759         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17760         (gst_element_request_pad), (gst_element_get_pad_from_template),
17761         (gst_element_request_compatible_pad),
17762         (gst_element_get_compatible_pad_filtered),
17763         (gst_element_get_compatible_pad), (gst_element_state_get_name),
17764         (gst_element_link_pads_filtered), (gst_element_link_filtered),
17765         (gst_element_link_many), (gst_element_link),
17766         (gst_element_link_pads), (gst_element_unlink_pads),
17767         (gst_element_unlink_many), (gst_element_unlink),
17768         (gst_pad_can_link_filtered), (gst_pad_can_link),
17769         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17770         (gst_object_default_error), (gst_bin_add_many),
17771         (gst_bin_remove_many), (gst_element_populate_std_props),
17772         (gst_element_class_install_std_props), (gst_buffer_merge),
17773         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17774         (link_fold_func), (gst_pad_proxy_setcaps):
17775         * gst/gstutils.h:
17776         * gst/gstvalue.c: (gst_value_deserialize_string):
17777         * gst/parse/grammar.y:
17778         * gst/schedulers/gstbasicscheduler.c:
17779         (gst_basic_scheduler_cothreaded_chain),
17780         (gst_basic_scheduler_chain_recursive_add),
17781         (gst_basic_scheduler_pad_link):
17782         * gst/schedulers/gstoptimalscheduler.c:
17783         (get_group_schedule_function),
17784         (gst_opt_scheduler_state_transition),
17785         (gst_opt_scheduler_add_element), (element_get_reachables_func):
17786         * libs/gst/bytestream/bytestream.c:
17787         * libs/gst/dataprotocol/dataprotocol.c:
17788         (gst_dp_header_from_buffer):
17789         * po/nb.po:
17790         * po/ru.po:
17791         * tests/threadstate/threadstate2.c: (eos):
17792         * tools/gst-compprep.c: (main):
17793         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17794         (print_pad_info), (print_children_info):
17795         * tools/gst-launch.c: (idle_func), (main):
17796         * tools/gst-md5sum.c: (idle_func), (main):
17797         * tools/gst-xmlinspect.c: (print_element_info):
17798         First THREADED backport attempt, focusing on adding locks and
17799         making sure the API is threadsafe. Needs more work. More docs
17800         follow this week.
17801
17802 2005-02-24  Andy Wingo  <wingo@pobox.com>
17803
17804         * tests/bench-complexity.scm:
17805         * tests/complexity.gnuplot: New files, good for running complexity
17806         benchmarks.
17807
17808         * tests/Makefile.am:
17809         * tests/complexity.c: New test, sets up N elements, at each level
17810         teeing into M streams per element. Eeeenteresting.
17811
17812         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
17813         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17814         running bench-mass_elements.scm.
17815
17816         * tests/bench-mass_elements.scm: New script, runs mass_elements
17817         for various numbers of identities, outputting the results to a
17818         file. Requires guile 1.6. Just for testing.
17819
17820 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17821
17822         * gst/schedulers/fairscheduler.c:
17823           compile with debug disabled
17824
17825 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17826
17827         * configure.ac:
17828           hunting season on 0.9 is now OPEN