Merge other changes from 0.10.19 release branch.
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * NEWS:
4         * RELEASE:
5         * gstreamer.doap:
6           Merge other changes from 0.10.19 release branch.
7
8 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
9
10         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
11
12         * configure.ac:
13         Actually build dlls when cross-compiling with mingw32.
14         Fixes bug #526247.
15
16 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
17
18         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
19
20         * gst/gstpoll.c:
21         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
22
23 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
24
25         * docs/design/draft-latency.txt:
26         Fix typo.
27
28         * docs/design/part-buffering.txt:
29         Update design docs with more buffering ideas.
30
31 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
32
33         * configure.ac:
34           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
35
36 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
37
38         * configure.ac:
39           Revert part that belongs to the preset patch.
40
41 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
42
43         * configure.ac:
44           Add qoutes to the define. Fixes # 525961.
45
46 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
47
48         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
49         (gst_file_index_load), (gst_file_index_add_id),
50         (gst_file_index_get_assoc_entry):
51         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
52         (gst_mem_index_free_id), (gst_mem_index_add_id),
53         (gst_mem_index_index_format):
54         Use GSlice when possible.
55
56 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
57
58         * libs/gst/controller/gstinterpolationcontrolsource.c:
59         (gst_control_point_free),
60         (gst_interpolation_control_source_set_internal):
61         Use GSlice for allocating the control points.
62
63 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
64
65         * plugins/elements/gsttypefindelement.c:
66         (gst_type_find_element_class_init),
67         (gst_type_find_element_set_property),
68         (gst_type_find_element_get_property),
69         (gst_type_find_element_activate):
70         * plugins/elements/gsttypefindelement.h:
71         Cleanup properties.
72         Fix pad leak when peer query fails.
73         We can still typefind when the peer returns -1.
74         Add property to force caps and bypass typefinding. This will be used in
75         uridecodebin.
76         API::force-caps
77
78 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
79
80         * configure.ac:
81         Require GLib 2.12.
82
83         * gst/glib-compat-private.h:
84         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
85         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
86         Unconditionally use GSlice for allocation.
87
88         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
89         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
90         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
91         (gst_structure_free):
92         Use GSlice for allocation.
93
94 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
95
96         * gst/parse/Makefile.am:
97         * gst/parse/grammar.tab.pre.c:
98         * gst/parse/grammar.tab.pre.h:
99         * gst/parse/lex._gst_parse_yy.pre.c:
100         Require a new enough flex and bison and remove the parser hacks to use
101         a pre-regenerated version.
102
103 2008-04-01  Julien Moutte  <julien@fluendo.com>
104
105         patch by: Jason Zhao <E3423C@motorola.com>
106
107         * configure.ac: Add a configure switch to disable option parsing
108         in gst_init.
109         Fixes #522882.
110
111 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
112
113         * configure.ac:
114         * gst/gstregistry.c:
115           MacOS has plugins under .so or under .dylib. Add detection for MacOS
116           and handle this case.
117
118         * gst/gst.c:
119           Add a comment here describing, why we stat each plugin and not try to
120           be smart.
121
122 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
123
124         * libs/gst/base/gstbasetransform.c:
125         (gst_base_transform_prepare_output_buffer):
126         Also unset the GAP flag on buffers if we're working inplace but
127         the element is not GAP-aware.
128
129         Mark a comment as FIXME 0.11.
130
131 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
132
133         * gst/gst.c:
134           Fix type in log message and add one to ease seeing how long registry
135           cache verification takes.
136
137         * gst/gstregistry.c:
138           Only test plugin filenames against G_MODULE_SUFFIX.
139
140 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
141
142         * gst/gstdebugutils.c:
143           Improve handling ghost/proxy pads.
144
145 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
146
147         * docs/gst/gstreamer-sections.txt:
148         * gst/gstpad.c:
149         * gst/gstpad.h:
150           Expose macro to docs and fix link to it.
151
152 2008-03-27  Michael Smith <msmith@fluendo.com>
153
154         * libs/gst/dataprotocol/dataprotocol.c:
155         (gst_dp_packet_from_event_1_0):
156           When calculating GDP body CRC, use the correct pointer. 
157           Fixes part of #522401.
158
159 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
160
161         Patch by: Mark Nauwelaerts <manauw at skynet be>
162
163         * plugins/elements/gstidentity.c: (gst_identity_class_init),
164         (gst_identity_init), (gst_identity_prepare_output_buffer):
165         Identity is not always a passthrough element, it can modify the buffer
166         timestamps when it has a datarate and operates in single-segment mode.
167         We therefore make it an in_place filter with a custom buffer prepare
168         function that conditionally makes the input buffer metadata writable
169         when needed.  Fixes #523985.
170
171 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
172
173         Patch by: Mark Nauwelaerts <manauw at skynet be>
174
175         * gst/gstclock.h:
176         * libs/gst/base/gstbasesrc.h:
177         * libs/gst/base/gstbasetransform.c:
178         * libs/gst/check/gstcheck.c:
179         Small documentation fixes. Fixes #523978.
180
181 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
182
183         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
184         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
185         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
186
187 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
188
189         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
190         (single_queue_underrun_cb):
191         When trying to make room in the queue, bump the max allowed buffers
192         bigger than the current amount of buffers in the queue. this fixes some
193         nasty deadlocks in multiqueue when dynamically changing the limits of
194         the queue.
195
196 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
197
198         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
199
200         * gst/gstcaps.c: (gst_caps_set_simple),
201         (gst_caps_set_simple_valist), (gst_caps_intersect):
202         * gst/gstcaps.h:
203         Constify the field gchar * params in set_simple and friends.
204         Fixes #522326.
205
206 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
207
208         * gst/gstvalue.c: (gst_value_transform_object_string):
209         Transform a GstObject to a more meaningfull string that includes the
210         object type in addition to its name.
211
212 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
213
214         * ChangeLog:
215           ChangeLog surgery to add bugnumber to commit.
216
217 2008-03-23  Rene Stadler  <mail@renestadler.de>
218
219         * libs/gst/base/gstbasetransform.c:
220         (gst_base_transform_set_gap_aware): Fix confusing documentation.
221
222 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
223
224         * gst/gstregistrybinary.c: (gst_registry_binary_write):
225         Rename constant everywhere and don't forget one occurence.
226
227 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
228
229         * gst/gstregistrybinary.c: (gst_registry_binary_write):
230         Align memory to the pointer size even if the architecture allows
231         unaligned memory access. Unaligned memory access usually comes with
232         performance penality.
233
234 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
235
236         * gst/gstregistrybinary.c: (gst_registry_binary_write),
237         (gst_registry_binary_check_magic),
238         (gst_registry_binary_load_pad_template),
239         (gst_registry_binary_load_feature),
240         (gst_registry_binary_load_plugin):
241         Align memory to the pointer size instead of always 32 bit. Fixes
242         unaligned memory accesses on ia64 and friends.
243
244         * gst/gstregistrybinary.h:
245         Bump binary registry format version for this as it changes the
246         format on those architectures that don't have unaligned access
247         and 64 bit pointers.
248
249 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
250
251         * docs/pwg/advanced-dparams.xml:
252         * docs/pwg/building-props.xml:
253         * docs/pwg/other-source.xml:
254         * gst/glib-compat.h:
255         * gst/gstbin.c: (gst_bin_class_init):
256         * gst/gstclock.c: (gst_clock_class_init):
257         * gst/gstindex.c: (gst_index_class_init):
258         * gst/gstobject.c: (gst_object_class_init):
259         * gst/gstpad.c: (gst_pad_class_init):
260         * gst/gstpipeline.c: (gst_pipeline_class_init):
261         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
262         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
263         * libs/gst/base/gstbasetransform.c:
264         (gst_base_transform_class_init):
265         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
266         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
267         (_gst_check_fault_handler_sighandler),
268         (_gst_check_fault_handler_setup), (gst_check_init):
269         * libs/gst/controller/gstcontroller.c:
270         (_gst_controller_class_init):
271         * libs/gst/controller/gstlfocontrolsource.c:
272         (gst_lfo_control_source_class_init):
273         * libs/gst/net/gstnetclientclock.c:
274         (gst_net_client_clock_class_init):
275         * libs/gst/net/gstnettimeprovider.c:
276         (gst_net_time_provider_class_init):
277         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
278         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
279         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
280         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
281         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
282         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
283         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
284         * plugins/elements/gstidentity.c: (gst_identity_class_init):
285         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
286         * plugins/elements/gstqueue.c: (gst_queue_class_init):
287         * plugins/elements/gsttee.c: (gst_tee_class_init):
288         * plugins/elements/gsttypefindelement.c:
289         (gst_type_find_element_class_init):
290         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
291         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
292         use it everywhere for GParamSpecs that use static strings (i.e. all).
293         This gives us less memory usage, fewer allocations and thus less
294         memory defragmentation. Fixes bug #523806.
295
296 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
297
298         * gst/gstminiobject.c: (gst_value_dup_mini_object),
299         (gst_param_spec_mini_object):
300         * gst/gstminiobject.h:
301         * win32/common/libgstreamer.def:
302         * docs/gst/gstreamer-sections.txt:
303         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
304         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
305         GstParamSpecMiniObject into a public header for this.
306
307         This make GstMiniObject a bit more consistent with GObject and makes
308         it possible to extend the param specs.
309
310         gst_value_dup_mini_object is mainly useful for set_property methods.
311
312         Fixes bug #523798.
313
314         * tools/gst-inspect.c: (print_element_properties_info):
315         Print something useful for GstMiniObject properties and not just
316         "unknown type".
317
318 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
319
320         * docs/gst/gstreamer-sections.txt:
321         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
322         (gst_registry_binary_check_magic):
323         * gst/gstregistrybinary.h:
324         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
325         and add it to the (private part) of the docs to fix the build.
326
327 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
328
329         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
330         (gst_registry_binary_check_magic),
331         (gst_registry_binary_read_cache):
332         * gst/gstregistrybinary.h:
333         Don't use GST_MAJORMINOR for the binary registry version. Instead
334         hardcode a value that must be changed whenever the format changes
335         in an incompatible way.
336         Also don't GST_ERROR when there is a version mismatch, just
337         regenerate the registry silently.
338
339 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
340
341         * configure.ac:
342         Back to development - 0.10.18.1
343
344 === release 0.10.18 ===
345
346 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
347
348         * configure.ac:
349           releasing 0.10.18, "So far away"
350
351 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
352
353         * configure.ac:
354         * win32/common/config.h:
355         0.10.17.4 pre-release
356
357 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
358
359         Patch by: Ole André Vadla Ravnås
360             <ole dot andre dot ravnas at tandberg dot com>
361
362         * docs/gst/gstreamer-sections.txt:
363         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
364         (gst_poll_update_winsock_event_mask),
365         (gst_poll_prepare_winsock_active_sets),
366         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
367         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
368         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
369         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
370         (gst_poll_check_ctrl_commands), (gst_poll_wait):
371         * gst/gstpoll.h:
372         * win32/common/libgstreamer.def:
373         Add new function gst_poll_fd_ignored() for improved Windows
374         compatibility.
375         Various minor fixes and cleanups. See #520808.
376
377 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
378
379         * gst/gstindex.c: (gst_index_entry_free):
380         * gst/gstindex.h:
381           Don't free key strings which we don't own. Fixes crash in
382           gst_index_entry_free() (#522741).
383
384         * tests/check/Makefile.am:
385         * tests/check/gst/.cvsignore:
386         * tests/check/gst/gstindex.c: (test_index_entries),
387           (gst_index_suite), (gst_index):
388           Add unit test for the above.
389
390 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
391
392         * win32/common/libgstreamer.def:
393         Remove symbols that were removed recently. Fixes bug #521740.
394
395 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
396
397         * configure.ac:
398         * win32/common/config.h:
399         0.10.17.3 pre-release
400
401 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
402
403         Patch by: Ole André Vadla Ravnås
404             <ole dot andre dot ravnas at tandberg dot com>
405
406         * docs/gst/gstreamer-sections.txt:
407         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
408         (gst_poll_update_winsock_event_mask), (gst_poll_new),
409         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
410         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
411         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
412         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
413         (gst_poll_fd_can_write), (gst_poll_wait),
414         (gst_poll_set_controllable), (gst_poll_restart),
415         (gst_poll_set_flushing):
416         * gst/gstpoll.h:
417         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
418         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
419         (gst_net_time_provider_new):
420         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
421         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
422         * tests/benchmarks/gstpollstress.c: (main):
423         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
424         Remove GstPollMode from the API, it does not make sense to let the
425         application control this.
426         Add support for Win32.
427         Fix the testsuite. Fixes #520671.
428
429 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
430
431         Patch by: Ole André Vadla Ravnås
432             <ole dot andre dot ravnas at tandberg dot com>
433
434         * gst/gstregistrybinary.c:
435         Include io.h for write() and close() when building with MSVC. Fixes
436         bug #520877.
437
438 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
439
440         * configure.ac:
441         * gst/gst_private.h:
442         * gst/gstconfig.h.in:
443         * gst/gstregistry.h:
444         * gst/gstregistrybinary.c:
445         * win32/common/gstconfig.h:
446           Move registry backend API to private headers where we can. Add
447           fixme-0.11 comments for the others. Add stubs for the xml backend when
448           using the binary to ensure they functions exists (they should not be
449           used though). Fixes #520756.
450
451 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
452
453         * configure.ac:
454         * win32/common/config.h:
455         0.10.17.2 prelease
456
457 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
458
459         * gst/gstregistrybinary.c: (gst_registry_binary_write),
460         (gst_registry_binary_read_cache):
461         * gst/gstregistryxml.c: (gst_registry_save):
462         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
463         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
464         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
465         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
466         Switch to using portabl gsize/gssize instead of size_t/ssize_t
467         Fixes #520152
468
469 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
470
471         * gst/gstminiobject.c:
472         Import gst_private.h before any other header that might include other
473         glib headers. This fixes the build on windows using native compilers.
474
475 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
476
477         * win32/common/gstconfig.h:
478           Add here too, just for completeness.
479
480 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
481
482         * configure.ac:
483         * gst/gstconfig.h.in:
484         * gst/gstregistry.h:
485           Fix broken use of config.h-defined preprocessor directive in a public
486           header file. Add a corresponding define to gstconfig.h, since we can't
487           really remove those function declarations from the header file now
488           (or can we? and why are they there in the first place?).
489
490 2008-03-03  Andy Wingo  <wingo@pobox.com>
491
492         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
493         the new warning.
494
495         * gst/gststructure.c (gst_structure_from_string): Warn if
496         structure_from_string didn't consume the whole string, but the
497         caller did not provide an end pointer.
498
499 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
500
501         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
502
503         * gst/gstregistryxml.c: (read_string), (load_feature):
504           Strings allocated by libxml2 should be freed with xmlFree(), not
505           with g_free(). Fixes issues on windows in certain contexts (#519698).
506
507 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
508
509         * gst/gstinterface.c: (gst_element_implements_interface):
510           Don't crash if the element supports the interface queried, but does
511           not implement GstImplementsInterface. Fixes #519584.
512
513         * tests/check/Makefile.am:
514         * tests/check/gst/.cvsignore:
515         * tests/check/gst/gstinterface.c:
516           Add unit test for the above.
517
518 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
519
520         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
521         Small doc update.
522
523 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
524
525         * gst/gstsegment.c: (gst_segment_set_seek),
526         (gst_segment_to_stream_time):
527         Improve some comment.
528         Update variables where it makes more sense.
529
530 2008-02-29  Rene Stadler  <mail@renestadler.de>
531
532         * gst/gsturi.c: (gst_uri_handler_get_protocols):
533         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
534         URIHandlers implemented using language bindings.
535
536 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
537
538         * gst/gstelementfactory.h:
539         * tests/check/elements/fakesink.c:
540         * tests/check/elements/fakesrc.c: (setup_fakesrc):
541         * tests/check/elements/fdsrc.c: (setup_fdsrc):
542         * tests/check/elements/filesink.c: (setup_filesink):
543         * tests/check/elements/filesrc.c: (setup_filesrc):
544         * tests/check/elements/identity.c: (setup_identity):
545         * tests/check/elements/tee.c:
546         * tests/check/generic/sinks.c:
547         * tests/check/generic/states.c: (setup), (teardown):
548         * tests/check/gst/gst.c:
549         * tests/check/gst/gstabi.c:
550         * tests/check/gst/gstbin.c:
551         * tests/check/gst/gstbus.c: (pull_messages):
552         * tests/check/gst/gstcaps.c:
553         * tests/check/gst/gstelement.c:
554         * tests/check/gst/gstevent.c:
555         * tests/check/gst/gstghostpad.c:
556         * tests/check/gst/gstiterator.c:
557         * tests/check/gst/gstmessage.c:
558         * tests/check/gst/gstminiobject.c: (my_foo_init):
559         * tests/check/gst/gstobject.c: (thread_name_object),
560         (gst_object_suite):
561         * tests/check/gst/gstpad.c:
562         * tests/check/gst/gstplugin.c:
563         * tests/check/gst/gstpoll.c:
564         * tests/check/gst/gstquery.c:
565         * tests/check/gst/gstsegment.c:
566         * tests/check/gst/gststructure.c:
567         * tests/check/gst/gstsystemclock.c:
568         * tests/check/gst/gsttask.c:
569         * tests/check/gst/gstutils.c:
570         * tests/check/gst/gstvalue.c:
571         * tests/check/gst/struct_hppa.h:
572         * tests/check/gst/struct_i386.h:
573         * tests/check/gst/struct_ppc32.h:
574         * tests/check/gst/struct_ppc64.h:
575         * tests/check/gst/struct_x86_64.h:
576         * tests/check/libs/adapter.c: (create_and_fill_adapter):
577         * tests/check/libs/basesrc.c:
578         * tests/check/libs/controller.c: (GST_START_TEST):
579         * tests/check/libs/gdp.c:
580         * tests/check/libs/gstnetclientclock.c:
581         * tests/check/libs/gstnettimeprovider.c:
582         * tests/check/libs/libsabi.c:
583         * tests/check/libs/struct_hppa.h:
584         * tests/check/libs/struct_i386.h:
585         * tests/check/libs/struct_ppc32.h:
586         * tests/check/libs/struct_ppc64.h:
587         * tests/check/libs/struct_x86_64.h:
588         * tests/check/pipelines/cleanup.c:
589         * tests/check/pipelines/simple-launch-lines.c:
590         * tests/check/pipelines/stress.c:
591         And correct even more valid sparse warnings.
592
593         * win32/common/libgstreamer.def:
594         Add gst_poll_fd_init to the list of symbols.
595
596 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
597
598         * gst/gstconfig.h.in:
599         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
600         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
601         (gst_check_log_critical_func), (gst_check_drop_buffers),
602         (gst_check_element_push_buffer_list):
603         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
604         (gst_controller_get_type):
605         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
606         (gst_object_get_controller), (gst_object_get_control_source):
607         * libs/gst/controller/gstinterpolationcontrolsource.c:
608         (gst_interpolation_control_source_new):
609         * libs/gst/controller/gstlfocontrolsource.c:
610         (gst_lfo_control_source_new):
611         * libs/gst/dataprotocol/dataprotocol.c:
612         (gst_dp_event_from_packet_0_2):
613         * plugins/elements/gstfdsrc.c:
614         * plugins/elements/gstmultiqueue.c:
615         * plugins/elements/gsttee.c:
616         * plugins/elements/gsttypefindelement.c:
617         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
618         (gst_file_index_add_association):
619         * plugins/indexers/gstmemindex.c:
620         * tests/benchmarks/gstpollstress.c: (mess_some_more):
621         * tests/check/elements/queue.c: (setup_queue):
622         * tests/check/gst/gstpipeline.c:
623         * tests/check/libs/collectpads.c: (setup), (teardown),
624         (gst_collect_pads_suite):
625         * tests/examples/adapter/adapter_test.c:
626         * tests/examples/metadata/read-metadata.c: (make_pipeline):
627         * tests/examples/xml/createxml.c:
628         * tests/examples/xml/runxml.c:
629         * tools/gst-inspect.c:
630         * tools/gst-run.c:
631         Correct all relevant warnings found by the sparse semantic code
632         analyzer. This include marking several symbols static, using
633         NULL instead of 0 for pointers, not using variable sized arrays
634         on the stack, moving variable declarations to the beginning of
635         a block and using "foo (void)" instead of "foo ()" for declarations.
636
637 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
638
639         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
640         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
641         Don't reset GstPollFDs, this is not necessary at all.
642
643         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
644         (delayed_restart), (delayed_control):
645         Use GST_POLL_FD_INIT.
646
647 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
648
649         * gst/gstpoll.c: (gst_poll_fd_init):
650         * gst/gstpoll.h:
651         Added Since tags.
652
653         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
654         Use some more init macros.
655
656 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
657
658         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
659         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
660         Use init macros and functions.
661
662 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
663
664         * docs/gst/gstreamer-sections.txt:
665         * gst/gstpoll.c: (gst_poll_fd_init):
666         * gst/gstpoll.h:
667         Add INIT macro and _init method for initializing the GstPollFD.
668
669 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
670
671         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
672         (gst_fd_sink_update_fd):
673         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
674         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
675         (delayed_restart), (delayed_control):
676         Initialize some uninitialized variables as spotted by valgrind.
677
678 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
679
680         * tests/benchmarks/Makefile.am:
681         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
682         (main):
683         Add poll stress test.
684
685 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
686
687         Patch by: Peter Kjellerstedt <pkj at axis dot com>
688
689         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
690         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
691         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
692         * plugins/elements/gstfdsink.h:
693         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
694         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
695         (gst_fd_src_unlock_stop), (gst_fd_src_create),
696         (gst_fd_src_uri_set_uri):
697         * plugins/elements/gstfdsrc.h:
698         Port to GstPoll. See #505417.
699
700 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
701
702         * win32/common/libgstreamer.def:
703         Add new gst_poll_ symbols to win32 defs.
704
705 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
706
707         * docs/libs/gstreamer-libs-sections.txt:
708         * libs/gst/net/gstnetclientclock.c:
709         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
710         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
711         (gst_net_client_clock_thread), (gst_net_client_clock_start),
712         (gst_net_client_clock_stop), (gst_net_client_clock_new):
713         * libs/gst/net/gstnetclientclock.h:
714         * libs/gst/net/gstnettimeprovider.c:
715         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
716         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
717         (gst_net_time_provider_start), (gst_net_time_provider_stop),
718         (gst_net_time_provider_new):
719         * libs/gst/net/gstnettimeprovider.h:
720         Use a private stuct to not break ABI.
721
722 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
723
724         Patch by: Peter Kjellerstedt <pkj at axis dot com>
725
726         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
727         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
728         (gst_net_client_clock_thread), (gst_net_client_clock_start),
729         (gst_net_client_clock_stop), (gst_net_client_clock_new):
730         * libs/gst/net/gstnetclientclock.h:
731         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
732         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
733         (gst_net_time_provider_start), (gst_net_time_provider_stop),
734         (gst_net_time_provider_new):
735         * libs/gst/net/gstnettimeprovider.h:
736         Massive code removal and cleanups because of GstPoll.
737         Fixes #505417.
738
739 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
740
741         * configure.ac:
742         Add checks for poll, ppoll and pselect.
743
744         * docs/gst/gstreamer-docs.sgml:
745         * docs/gst/gstreamer-sections.txt:
746         Add docs for GstPoll.
747
748         * gst/Makefile.am:
749         * gst/gst.h:
750         * gst/gstpoll.c: (find_index), (selectable_fds),
751         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
752         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
753         (gst_poll_set_mode), (gst_poll_get_mode),
754         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
755         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
756         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
757         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
758         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
759         (gst_poll_fd_can_write), (gst_poll_wait),
760         (gst_poll_set_controllable), (gst_poll_restart),
761         (gst_poll_set_flushing):
762         * gst/gstpoll.h:
763         Add generic poll abstraction. We ideally don't want to have this in core
764         here but in glib intead...
765         This code will be used in various network elements and ultimately for
766         the nanosecond precision monotonic clock (that's why it's here in core).
767         It'll allow us to implement cancelable socket operations for windows too.
768
769         * tests/check/Makefile.am:
770         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
771         (delayed_stop), (delayed_restart), (delayed_flush),
772         (delayed_control), (gst_poll_suite):
773         Add GstPoll unit test.
774
775 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
776
777         * gst/gstfilter.c:
778           Improve documentation of gst_filter_run(). Fixes #518627.
779
780 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
781
782         * docs/README:
783           Add a few lines about the new 'check-inspected-versions' target.
784
785 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
786
787         * tests/check/gst/gstevent.c:
788           Add qos to the event test. Rename tcase/tsuite; is not only about
789           custom events.
790
791 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
792
793         * plugins/elements/gstqueue.c:
794           Ensure that buffer metadata is writeable, before modifying. Spotted by
795           Mike.
796
797 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
798
799         * plugins/elements/gstqueue.c:
800         * plugins/elements/gstqueue.h:
801           When dropping buffers in leaky modes, mark next buffers we sent as
802           DISCONT.
803
804 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
805
806         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
807           Also, if mmap() fails that would be a READ error, not OPEN_READ.
808
809 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
810
811         * plugins/elements/Makefile.am:
812         * plugins/elements/gstbufferstore.c:
813         * plugins/elements/gstbufferstore.h:
814         * plugins/elements/gsttypefindelement.h:
815           Remove GstBufferStore, no idea why we were still building it.
816           It's not used anywhere and superseded by GstAdapter.
817
818         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
819           (gst_file_src_create_mmap):
820         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
821           Printf format fixes for 64-bit integers.
822
823 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
824
825         * configure.ac:
826         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
827         We're not in 0.8 times anymore.
828
829 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
830
831         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
832         (gst_check_element_push_buffer_list):
833         * libs/gst/check/gstcheck.h:
834         Make the declaration in the header for
835         gst_check_element_push_buffer_list match the implementation.
836
837         Fix up spelling, grammar and wording of the documentation in a few
838         places, and add the Since keyword to new API functions.
839         Use g_list_delete_link instead of g_list_remove in
840         gst_check_drop_buffers, since it's immeasurably more efficient.
841
842         * tests/check/elements/fakesrc.c: (GST_START_TEST):
843         Use new gst_check_drop_buffers function where appropriate.
844
845         * win32/common/libgstbase.def:
846         * win32/common/libgstreamer.def:
847         Add new symbols gst_collect_pads_take_buffer, 
848         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
849         exports
850
851         Changelog surgery to add API keyword to new gst_check API.
852
853 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
854
855         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
856         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
857         Update pre-generated flex files with flex 2.3.34.
858
859 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
860
861         * gst/gstminiobject.c:
862           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
863           friendly to subclasses and not require them to know all internals
864           of their parent class.
865
866 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
867
868         * docs/libs/gstreamer-libs-sections.txt:
869         * libs/gst/base/gstcollectpads.c:
870         * libs/gst/base/gstcollectpads.h:
871           Add sub-buffer functions to collectpads. Fixes #516187.
872           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
873
874 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
875
876         * gst/gstbuffer.c:
877           Copy selected buffer-flags when creating subbuffers.
878           Fixes #516395.
879
880 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
881
882         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
883         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
884         * gst/gstmessage.c: (gst_message_class_init),
885         (gst_message_finalize):
886         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
887         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
888         (gst_mmap_buffer_finalize):
889         Properly chain up finalize functions to the parent class.
890
891 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
892
893         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
894
895         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
896         (gst_index_set_resolver_full):
897         * gst/gstindex.h:
898         Add new function with option to dispose of user_data in resolver.
899         Actually call the dispose function when finalizing the object and not
900         just when changing the resolver/filter.
901         API: GstIndex::gst_index_set_resolver_full()
902
903         * docs/gst/gstreamer-sections.txt:
904         Add new function to docs. Fixes #515469.
905
906 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
907
908         * gst/gstindex.c: (gst_index_finalize):
909         Chain up finalize to the parent class. Fixes leaking the GstObject
910         name and other things.
911
912 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
913
914         * configure.ac:
915         Make DISABLE_DEPRECATED defined *only* during CVS, not during
916         pre-releases or releases.
917
918         * docs/faq/gst-uninstalled:
919         Add gst-plugins-gl
920
921         * docs/random/release:
922         Change one of the steps - we only upload core & base to Gnome FTP
923
924 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
925
926         * gst/gstconfig.h.in:
927           Add 'id' for example.
928
929         * gst/gstpad.c:
930         * gst/gstutils.c:
931         * plugins/elements/gstfdsink.c:
932           Link to signals. Doc and comment fixes.
933
934 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
935
936         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
937         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
938           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
939           unused and unimplemented; finally, it is plugin features, not
940           plugins, that have ranks.
941           
942 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
943
944         * gst/gstpluginfeature.h:
945           Clarify GstRank range docs.
946
947 2008-02-05  David Schleef  <ds@schleef.org>
948
949         * gst/gst.c: Add a separate gst_deinitialized that prevents
950           gst_init() from being called after gst_deinit().  Fixes #509559
951
952 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
953
954         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
955         (gst_bin_class_init):
956         * gst/gstelement.c: (gst_element_base_class_init),
957         (gst_element_class_add_pad_template):
958         * gst/gstpadtemplate.c: (gst_pad_template_init):
959         * gst/gstpipeline.c: (gst_pipeline_get_type),
960         (gst_pipeline_base_init), (gst_pipeline_class_init):
961         * libs/gst/base/gstbasesink.c:
962         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
963         (gst_base_src_base_init), (gst_base_src_class_init):
964         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
965         (gst_capsfilter_class_init):
966         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
967         (gst_fake_sink_class_init):
968         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
969         (gst_fake_src_class_init):
970         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
971         (gst_fd_sink_class_init):
972         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
973         (gst_fd_src_class_init):
974         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
975         (gst_file_sink_class_init):
976         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
977         (gst_file_src_class_init):
978         * plugins/elements/gstidentity.c: (gst_identity_base_init),
979         (gst_identity_class_init):
980         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
981         (gst_multi_queue_class_init):
982         * plugins/elements/gstqueue.c: (gst_queue_base_init),
983         (gst_queue_class_init):
984         * plugins/elements/gsttee.c: (gst_tee_base_init),
985         (gst_tee_class_init):
986         * plugins/elements/gsttypefindelement.c:
987         (gst_type_find_element_base_init),
988         (gst_type_find_element_class_init):
989         * tests/check/gst/gstelement.c: (gst_element_suite):
990         Revert previous changes to the behaviour of GstPadTemplates, etc
991         and the possiblity to call them in class_init as it breaks too
992         many elements. Reopens bug #491501.
993
994         Should be applied again for 0.11, thus added a few FIXME 0.11 at
995         several places.
996
997 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
998
999         * tools/gst-launch.c:
1000         Dump one graph per pipeline state-change and state change name
1001         (if GST_DEBUG_DUMP_DOT_DIR is set).
1002
1003 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
1004
1005         * gst/gstpad.c:
1006         * tests/check/gst/gstpad.c:
1007         Be sure that we have a new copy of the caps and not
1008         reffed caps from a template
1009
1010 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
1011
1012         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
1013         * gst/gstpipeline.c: (gst_pipeline_get_type),
1014         (gst_pipeline_class_init):
1015         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
1016         (gst_base_sink_class_init):
1017         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
1018         (gst_base_src_class_init):
1019         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
1020         (gst_base_transform_class_init):
1021         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1022         (gst_collect_pads_class_init):
1023         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
1024         * libs/gst/net/gstnettimeprovider.c:
1025         (gst_net_time_provider_base_init),
1026         (gst_net_time_provider_class_init):
1027         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
1028         (gst_capsfilter_class_init):
1029         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
1030         (gst_fake_sink_class_init):
1031         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
1032         (gst_fake_src_class_init):
1033         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
1034         (gst_fd_sink_class_init):
1035         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
1036         (gst_fd_src_class_init):
1037         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
1038         (gst_file_sink_class_init):
1039         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
1040         (gst_file_src_class_init):
1041         * plugins/elements/gstidentity.c: (gst_identity_base_init),
1042         (gst_identity_class_init):
1043         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
1044         (gst_multi_queue_class_init):
1045         * plugins/elements/gstqueue.c: (gst_queue_base_init),
1046         (gst_queue_class_init):
1047         * plugins/elements/gsttee.c: (gst_tee_base_init),
1048         (gst_tee_class_init):
1049         * plugins/elements/gsttypefindelement.c:
1050         (gst_type_find_element_base_init),
1051         (gst_type_find_element_class_init):
1052         Don't use base_init where not absolutely necessary. For example it's
1053         not necessary anymore for adding pad templates or setting element
1054         details.
1055
1056         Leave empty base_init functions in several places as GST_BOILERPLATE
1057         still defines and uses them.
1058
1059 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
1060
1061         * gst/gstelement.c: (gst_element_base_class_init),
1062         (gst_element_class_add_pad_template):
1063         * gst/gstpadtemplate.c:
1064         Make it possible (and recommended) to set element details and add
1065         pad templates in the class_init functions by copying the details/pad
1066         templates in GstElement's base_init.
1067
1068         Also make it possible to replace existing pad templates by adding
1069         a new one with the same name. This was done in a hackish fashion
1070         in same elements before already.
1071
1072         Don't reference pad templates that are added a second time. A
1073         new pad template has a refcount of one and is not floating anymore
1074         and to be owned by the element's class. Make this more explicit by
1075         mentioning it in the docs of gst_element_class_add_pad_template().
1076
1077         These changes are backwards compatible. Fixes bug #491501.
1078
1079         * tests/check/gst/gstelement.c:
1080         Add unit test for setting element details, adding pad templates and
1081         replacing them in a subclass.
1082
1083 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
1084
1085         * tools/gst-inspect.c: (print_interfaces),
1086         (print_element_properties_info), (print_pad_info),
1087         (print_signal_info), (print_element_info):
1088         Fix a few memory leaks.
1089
1090 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
1091
1092         * docs/libs/gstreamer-libs-sections.txt:
1093         * libs/gst/check/gstcheck.c:
1094         * libs/gst/check/gstcheck.h:
1095         Add more functions for unit testing: gst_check_drop_buffers,
1096         gst_check_caps_equal, gst_check_element_push_buffer_list,
1097         gst_check_element_push_buffer
1098         API: gst_check_drop_buffers
1099         API: gst_check_caps_equal
1100         API: gst_check_element_push_buffer_list
1101         API: gst_check_element_push_buffer
1102
1103 2008-02-01  Julien Moutte  <julien@fluendo.com>
1104
1105         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
1106         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
1107         (gst_index_finalize), (gst_index_entry_free),
1108         (gst_index_add_association): Fix memory leaks.
1109         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
1110         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
1111         (gst_mem_index_free_format), (gst_mem_index_free_id),
1112         (gst_mem_index_finalize): Fix memory leaks.
1113         * win32/common/config.h: Updated to CVS HEAD.
1114
1115 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
1116
1117         * docs/README:
1118           Some more details about how the plugin docs works.
1119
1120         * docs/plugins/gstreamer-plugins-sections.txt:
1121           Whitespace cleanup.
1122
1123 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
1124
1125         * gst/parse/grammar.tab.pre.c:
1126         * gst/parse/grammar.tab.pre.h:
1127         * gst/parse/grammar.y:
1128         * gst/parse/lex._gst_parse_yy.pre.c:
1129           Add delayed set-property. This allows to set properties on dynamicaly
1130           created objects (pads in videomxer). Fixes #509391.
1131
1132 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
1133
1134         * gst/gstutils.c:
1135         Check if caps are not NULL (fix bug #510194)
1136
1137 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1138
1139         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
1140         (gst_base_sink_get_position_paused):
1141         Add fixme regarding EOS in pull mode.
1142         Fix position reporting in PAUSED for negative rates.
1143
1144 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1145
1146         * gst/gstminiobject.c: (gst_mini_object_replace):
1147         When replacing a miniobject, do a quick equality check first so that we
1148         can avoid a ref/unref pair.
1149
1150 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1151
1152         * docs/design/part-synchronisation.txt:
1153         Update some docs.
1154
1155         * docs/plugins/Makefile.am:
1156         * docs/plugins/gstreamer-plugins-docs.sgml:
1157         * docs/plugins/gstreamer-plugins-sections.txt:
1158         * plugins/elements/gstmultiqueue.c:
1159         Add multiqueue to the docs.
1160
1161 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
1162
1163         * configure.ac:
1164           Back to CVS
1165
1166 === release 0.10.17 ===
1167
1168 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
1169
1170         * configure.ac:
1171           releasing 0.10.17, "Due Negligence"
1172
1173 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
1174
1175         * gst/gstutils.c:
1176         Revert caps != NULL check temporarily for 0.10.17 release.
1177
1178 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
1179
1180         * gst/gstutils.c:
1181         Check if caps are not NULL (fix bug #510194)
1182
1183 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
1184
1185         * gst/gstutils.c:
1186         Fix compilation on systems that have posix timers but no
1187         monotonic clock.
1188         Fixes: #512715
1189         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
1190         dot net>
1191
1192 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
1193
1194         * tools/gst-inspect.c:
1195         Revert previous commit in preparation for an impromptu 0.10.17 release
1196
1197 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
1198
1199         * tools/gst-inspect.c: (print_interfaces),
1200         (print_element_properties_info), (print_pad_info),
1201         (print_signal_info), (print_element_info):
1202         Fix a few memory leaks.
1203
1204 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
1205
1206         * configure.ac:
1207         Back to CVS
1208
1209 === release 0.10.16 ===
1210
1211 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
1212
1213         * configure.ac:
1214           releasing 0.10.16, "Special Dispensation"
1215
1216 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
1217
1218         * configure.ac:
1219           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
1220           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
1221           not fail when trying to crosscompile on OpenEmbedded (#511750).
1222
1223 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
1224
1225         * docs/manuals.mak:
1226         Use $(MAKE) instead of make to fix the build if GNU make is
1227         called different. Fixes bug #510747.
1228
1229 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
1230
1231         * gst/gstplugin.c: (_gst_plugin_initialize):
1232           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
1233           again, which I broke two commits ago when changing the API
1234           of gst_plugin_register_static(): the g_list_foreach() in
1235           _gst_plugin_register_static still assumed the old function
1236           signature and would therefore fail (re-fixes #510187).
1237
1238         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
1239           (_gst_plugin_register_static), (gst_plugin_register_static):
1240           Revert the (technically correct) change to call g_thread_init() from
1241           the pre-main() constructor. This will break programs which call
1242           g_thread_init() without an if (!g_thread_supported()) guard in their
1243           main function. We could just blame it on GLib or the application, but
1244           it's probably best to just avoid this altogether and simply not use
1245           any GLib functions here and use plain old malloc() with a simple
1246           array to store the plugins to register later when gst_init() is
1247           finally called (re-fixes #510187).
1248
1249         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
1250           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
1251           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
1252           (GST_START_TEST), (gst_plugin_suite):
1253           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
1254           works.
1255
1256 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1257
1258         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
1259           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
1260           This makes gtk-doc complain, but results in slightly better
1261           compiler errors. The old _gst_plugin_register_static() is
1262           still guarded, so there'll be a compiler warning about that
1263           instead. Fixes #510187 too.
1264
1265 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1266
1267         * gst/gst.c: (init_post):
1268         * gst/gstplugin.c: (_gst_plugin_register_static),
1269           (gst_plugin_register_static), (_gst_plugin_initialize):
1270         * gst/gstplugin.h: (GstPluginFilter):
1271           Change API of gst_plugin_register_static() to not take
1272           a GstPluginDesc, but rather just take all the arguments
1273           in a GstPluginDesc directly. This is more intuitive and
1274           avoids certain mistakes when porting code from
1275           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
1276           Fixes #510187.
1277
1278         * tests/check/gst/gstplugin.c:
1279           Fix up for changed API.
1280
1281 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1282
1283         * docs/faq/legal.xml:
1284           Update FAQ, Totem actually has an exception these days.
1285
1286 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
1287
1288         * win32/common/libgstreamer.def:
1289         Add new API declarations
1290
1291 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
1292
1293         * gst/gstminiobject.c:
1294           Spelling fixes for the API docs.
1295
1296 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
1297
1298         * libs/gst/base/gstbasetransform.c:
1299           Fix long property description for QoS.
1300
1301 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
1302
1303         * gst/gst.c:
1304         _gst_trace_on is already provided by gsttrace.h, no need to declare
1305         it ourselves.
1306
1307         * docs/libs/gstreamer-libs-sections.txt:
1308         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
1309         and remove strange tcase_add_test which is outputting a warning.
1310
1311         * libs/gst/check/gstcheck.c:
1312         * libs/gst/check/gstcheck.h:
1313         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
1314         and define them in gstcheck.c instead of having every .c file whcih
1315         includes gstcheck.h be defining its own copy and relying on symbol
1316         interposing to marry them all, which doesn't work on Solaris.
1317
1318         * tests/check/elements/identity.c: (GST_START_TEST):
1319         Don't define 'buffers' locally, it comes from libgstcheck.
1320
1321         * tests/check/generic/sinks.c: (send_buffer):
1322         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
1323
1324         * tests/check/gst/gststructure.c: (GST_START_TEST):
1325         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
1326         * tests/check/gst/gstutils.c: (GST_START_TEST):
1327         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1328         Add a bunch of casts to make various constants fit the types
1329         they're being assigned to.
1330
1331 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
1332
1333         * gst/gstchildproxy.c:
1334           Improve docs and add some ideas for making this more general-purpose.
1335
1336 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
1337
1338         * gst/gst_private.h: (GST_CAT_TYPES):
1339           Add GST_CAT_TYPES, for consistency, and so that the other
1340           debug categories don't make fun of it. Spotted by Saur on IRC.
1341
1342 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
1343
1344         * gst/parse/Makefile.am:
1345           Move types.h from EXTRA_DIST to noinst_HEADERS.
1346
1347 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
1348
1349         * autogen.sh:
1350           Add -Wno-portability to the automake parameters to stop warnings
1351           about GNU make extensions being used. We require GNU make in almost
1352           every Makefile anyway.
1353
1354         * configure.ac:
1355           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
1356           at the same time is required for per target flags.
1357
1358 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1359
1360         * gst/gstmacros.h:
1361           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
1362           __GNUC__ is defined before using it.
1363
1364 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1365
1366         * docs/gst/gstreamer-sections.txt:
1367         * gst/gst.c: (init_post):
1368         * gst/gstplugin.c: (_gst_plugin_register_static),
1369           (gst_plugin_register_static), (_gst_plugin_initialize),
1370           (gst_plugin_register_func):
1371         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
1372           API: add gst_plugin_register_static() and deprecate
1373           GST_PLUGIN_DEFINE_STATIC, since it's not portable
1374           (#498924).
1375           Also, in _gst_plugin_register_static(), make sure to call
1376           g_thread_init() before calling GLib functions such as
1377           g_list_append() if we're not initialised yet, since that
1378           may lead to random crashes with older GSlice/GLib versions.
1379
1380         * tests/check/gst/gstplugin.c:
1381           Adapt unit test to above changes.
1382
1383 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1384
1385         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
1386         * gst/gstcaps.c: (gst_caps_to_string):
1387         * gst/gststructure.c: (GST_ASCII_IS_STRING),
1388           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
1389           Yet another gratuitous GString micro-optimisation: add a (private)
1390           function that serialises a structure appending to an existing
1391           GString, so that when we serialise caps we don't need to alloc+free
1392           a throwaway GString for each structure (each of which also entailing
1393           multiple reallocs on the way); also use g_string_sized_new() in
1394           various places with an approximate string length to avoid reallocs
1395           within GString. See #500143.
1396
1397 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1398
1399         * gst/gststructure.c: (gst_structure_id_set_value):
1400           Always check UTF-8 conformance of structure strings and not only
1401           if the debugging system is enabled; reasoning: the behaviour of
1402           the actual code shouldn't really change depending on whether the
1403           debugging system is enabled or not (#508291).
1404
1405 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
1406
1407         * Makefile.am:
1408           Remove old coverage target in favour of "make lcov".
1409
1410 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1411
1412         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1413         (gst_base_src_loop):
1414         The start segment for reverse playback goes from start to last_stop.
1415
1416 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1417
1418         Patch by: Peter Kjellerstedt <pkj axis com>
1419
1420         * gst/gstclock.h:
1421         Cast the results from the timeval/spec_to_time macros to what the
1422         docs say it casts to, a GstClockTime. fixes #508175.
1423
1424 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1425
1426         * gst/gstbuffer.c:
1427         Update some comments.
1428
1429         * tools/gst-inspect.c: (print_element_properties_info):
1430         Improve printing of flags.
1431
1432 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1433
1434         * libs/gst/base/gstbasetransform.c:
1435           (gst_base_transform_transform_size):
1436           Print element name with g_warning() if there's a problem
1437           with the unit size.
1438
1439 2008-01-07  David Schleef  <ds@schleef.org>
1440
1441         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
1442
1443         * libs/gst/controller/gstcontroller.h:
1444         * libs/gst/controller/gstcontrolsource.h:
1445         * libs/gst/controller/gstinterpolationcontrolsource.h:
1446         * libs/gst/controller/gstlfocontrolsource.h:
1447         * libs/gst/dataprotocol/dataprotocol.h:
1448           Fix empty prototypes.  Fixes bug #507957.
1449
1450 2008-01-07  David Schleef  <ds@schleef.org>
1451
1452         * docs/faq/dependencies.xml: Fix typo.
1453
1454 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1455
1456         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
1457         (gst_base_src_loop):
1458         Don't update the last_stop position in do_seek, that's the position we
1459         did a seek to.
1460         Read backwards when we have a negative rate.
1461
1462         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
1463         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
1464         (filesrc_suite):
1465         Add check for reverse reading.
1466
1467 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
1468
1469         Patch by: Alexis Ballier <aballier at gentoo org>
1470
1471         * tests/check/gst/gstabi.c:
1472         * tests/check/gst/struct_ppc64.h:
1473         * tests/check/libs/libsabi.c:
1474         * tests/check/libs/struct_ppc64.h:
1475           Decide which header to include based on the userland ABI target
1476           and not the kernel/cpu. Fix up structure sizes of ppc64 header
1477           for 64-bit userland (#503590).  Might need something similar for
1478           x86 too.
1479
1480 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1481
1482         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
1483           Log the reason why fopen fails in addition to the fact that it failed.
1484           
1485 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
1486
1487         * gst/parse/parse.l:
1488         Use "%option never-interactive" to prevent useless calls to isatty()
1489         on every input when parsing. Also use "%option noinput" to not define
1490         the static input/yyinput functions which we don't use anyway. This
1491         removes a compiler warning with gcc 4.3 and saves some bytes in the
1492         library.
1493         
1494         * gst/parse/lex._gst_parse_yy.pre.c:
1495         Regenerated for the above change.
1496
1497 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1498
1499         * gst/gstpad.c: (fixate_value):
1500         Don't crash when trying to fixate and empty list.
1501         Fixes #506643.
1502
1503 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
1504
1505         * docs/faq/gst-uninstalled:
1506         Clarify the comments to make the usage of this script and what it
1507         does easier to understand.
1508
1509 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
1510
1511         * tools/gst-plot-timeline.py:
1512         Add more options to gst-plot-timeline
1513
1514 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1515
1516         * docs/design/part-synchronisation.txt:
1517         Some more info on how the stream_time in GstBaseSink is done.
1518
1519 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
1520
1521         * tests/check/generic/sinks.c: (gst_sinks_suite):
1522           Put back the tcase_set_timeout(), apparently it's needed after
1523           all; fix it up in a way that makes things work with valgrind too.
1524
1525 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
1526
1527         * gst/gstdebugutils.c:
1528           Add warning when failed to open file for writing.
1529
1530 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
1531
1532         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
1533
1534         * gst/gstvalue.c: (gst_value_is_fixed):
1535           Optimisation: bail out of the loop as early as possible (#500143).
1536
1537 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
1538
1539         * gst/gstcaps.c: (gst_caps_to_string):
1540         * gst/gstinfo.c: (gst_debug_construct_term_color):
1541         * gst/gstparse.c: (gst_parse_launchv):
1542         * gst/gstutils.c: (gst_util_dump_mem):
1543         * gst/gstvalue.c: (gst_value_serialize_any_list),
1544           (gst_value_transform_any_list_string):
1545           Bunch of gratuitous nano-optimisations.
1546
1547 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
1548
1549         * tests/check/generic/sinks.c: (async_done_func),
1550           (async_done_eos_func):
1551           Fix leak in unit test (bus sync handler must unref the message
1552           if it returns GST_BUS_DROP). Don't fiddle with the default test
1553           timeout, this is smaller than the current preconfigured value
1554           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
1555           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
1556
1557 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1558
1559         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
1560
1561         * configure.ac:
1562         Check for stdio_ext.h for the filesink changes.
1563
1564         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
1565         (gst_file_sink_class_init), (gst_file_sink_init),
1566         (gst_file_sink_dispose), (gst_file_sink_set_property),
1567         (gst_file_sink_get_property), (gst_file_sink_open_file),
1568         (gst_file_sink_close_file):
1569         * plugins/elements/gstfilesink.h:
1570         Add two properties to control the buffering mode and size.
1571         API: GstFileSink::buffer-mode
1572         API: GstFileSink::buffer-size
1573         Fixes #500150.
1574
1575 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1576
1577         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
1578         Add some more docs to explain why a FIXME was wrongly added. 
1579
1580 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
1581
1582         * gst/gstobject.c:
1583           Fix typo in the gst_object_{ref,unref} documentation.
1584
1585 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
1586
1587         * tests/check/libs/controller.c:
1588         * tests/check/libs/typefindhelper.c:
1589         * tests/check/pipelines/parse-launch.c:
1590           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
1591           going to be deprecated (see #498924).
1592
1593 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
1594
1595         * gst/gsttypefind.c: (gst_type_find_register):
1596           Make gst_type_find_register work for static typefind functions,
1597           ie. allow passing plugin == NULL (prerequisite for #498924).
1598
1599         * gst/gstelementfactory.c: (gst_element_register):
1600           Small docs addition.
1601
1602 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1603
1604         * gst/gstpad.c: (gst_pad_dispose):
1605         Really unlink the peer pad instead of setting the peer pointer to NULL
1606         when we dispose the pad.
1607         This correctly calls the unlink functions and makes sure that the peer
1608         does not have a handle to invalid memory. See #504671.
1609
1610         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1611         Add testsuite for above case.
1612
1613 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
1614
1615         Patch by: Peter Kjellerstedt <pkj axis com>
1616
1617         * libs/gst/check/gstcheck.h:
1618           Fix detection of the check version we're compiling against (would
1619           otherwise break if check goes v0.10.0); correctly report the
1620           name of the failed test again in case of failure, instead of
1621           just 'tf' (fixes #504499).
1622
1623 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1624
1625         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
1626         (gst_base_src_get_range), (gst_base_src_pad_get_range),
1627         (gst_base_src_loop), (gst_base_src_set_flushing),
1628         (gst_base_src_change_state):
1629         Allow sending EOS to the source to make it send out an EOS event from
1630         the streaming thread.
1631         Update docs and deprecate the old NULL/READY shutdown method.
1632
1633         * tests/check/libs/basesrc.c: (GST_START_TEST),
1634         (gst_basesrc_suite):
1635         Add unit test for controlled shutdown.
1636
1637 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1638
1639         * docs/design/part-synchronisation.txt:
1640         Small updates.
1641
1642         * gst/gstsegment.c: (gst_segment_set_seek),
1643         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
1644         (gst_segment_to_running_time):
1645         The seek format can be different from the segment format when the start
1646         and stop values are not to be updated, when we only do a rate change for
1647         example.
1648
1649         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1650         (gst_segment_suite):
1651         Add a testcase for the rate-only seeks, checking that the format is
1652         correctly ignored when start and stop are not updated.
1653
1654 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
1655
1656         Patch by: Matthias Bolte <photon at mail dot upb dot de>
1657
1658         * win32/vs8/grammar.vcproj:
1659         * win32/vs8/libgstcontroller.vcproj:
1660         * win32/vs8/libgstreamer.vcproj:
1661         Fix compilation with VS8 and include some missing files.
1662
1663 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
1664
1665         * gst/gsttaglist.c:
1666           Small docs addition: mention that the strings returned by
1667           gst_tag_list_get_string*() are in UTF-8 encoding.
1668
1669 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
1670
1671         * Makefile.am:
1672           The check-exports stuff moved to common/win32.mak, so include that.
1673
1674 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
1675
1676         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
1677         (gst_base_src_perform_seek), (gst_base_src_get_range),
1678         (gst_base_src_set_playing), (gst_base_src_change_state):
1679         Make _wait_playing() not check any variables so that we can call this
1680         function from subclasses. Move the checks elsewhere similar to
1681         _wait_preroll() in basesink.
1682         Add some debugging.
1683         Only signal the LIVE cond when we are going back to PLAYING.
1684
1685 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1686
1687         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
1688           Use g_remove() and g_rename(). Check result of g_rename(), and
1689           don't leak the open file descriptor if we error out when writing.
1690
1691         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
1692           Must check the return value of close() after writing out the new
1693           registry file.  Sometimes write problems such as out-of-diskspace
1694           are only reported when the file is closed and not already during
1695           the write.  This may have caused partial/broken registry files in
1696           some rare circumstances. Should fix #503675.
1697
1698 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
1699
1700         * docs/gst/.cvsignore:
1701         * docs/libs/.cvsignore:
1702         * docs/plugins/.cvsignore:
1703         Ignore files generated by new common/* modifications
1704
1705 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1706
1707         * win32/common/libgstbase.def:
1708           Yes, you can also have a <TAB> if you want.
1709
1710 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1711
1712         * win32/common/libgstbase.def:
1713           Add new basetransform API to win export file.
1714
1715 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1716
1717         * tests/check/gst/gstbin.c:
1718           Adjust the test to the refcount change two days ago.
1719
1720 2007-12-14  David Schleef  <ds@schleef.org>
1721
1722         * docs/faq/getting.xml: Fix typo.
1723
1724 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
1725
1726         * docs/libs/gstreamer-libs-sections.txt:
1727         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
1728           (gst_base_transform_prepare_output_buffer),
1729           (gst_base_transform_set_gap_aware):
1730         * libs/gst/base/gstbasetransform.h:
1731           API: Add gst_base_transform_set_gap_aware() to control whether
1732           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
1733           get buffers with this flag at all. Fixes #503231.
1734
1735 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
1736
1737         * libs/gst/base/gstbasesink.c:
1738         * libs/gst/base/gstbasesrc.c:
1739         * libs/gst/base/gstbasetransform.c:
1740           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
1741           thread. Correct log message in gstbasesrc.c.
1742
1743 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1744
1745         * gst/gstutils.c: (element_find_unconnected_pad):
1746           Fix possible compiler warning (#503417).
1747
1748 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1749
1750         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
1751           Don't use GST_CAT_EVENT here for logging, it makes no sense.
1752
1753 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
1754
1755         * tools/gst-inspect.c: (print_element_properties_info):
1756           Add support for GstFraction properties.
1757
1758 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1759
1760         * Makefile.am:
1761           Add check-exports target and run it as part of 'make check'
1762           (see #499140 and #493983).
1763
1764         * gst/gst_private.h:
1765         * gst/gstelementfactory.h:
1766         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
1767         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
1768           (_priv_gst_in_valgrind):
1769         * gst/gstinfo.h: (GstLogFunction):
1770         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
1771           (gst_type_find_register):
1772         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
1773           (gst_type_find_factory_get_type):
1774         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
1775           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
1776           (gst_controller_new_valist), (gst_controller_new_list),
1777           (_gst_controller_dispose), (_gst_controller_class_init):
1778         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
1779         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
1780           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
1781           (gst_object_get_controller), (gst_object_set_controller),
1782           (gst_object_suggest_next_sync), (gst_object_sync_values),
1783           (gst_object_set_control_source), (gst_object_get_control_source),
1784           (gst_object_get_value_arrays), (gst_object_get_value_array),
1785           (gst_object_get_control_rate), (gst_object_set_control_rate):
1786         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
1787         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
1788           Make some functions that should be static static; rename some
1789           private symbols so that they don't get exported; add some FIXME
1790           comments so we can move accidentally exported functions into
1791           our private section in 0.11.
1792
1793         * win32/common/libgstreamer.def:
1794           Add gst_utils_get_timestamp().
1795
1796 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
1797
1798         * gst/gstvalue.c:
1799         * gst/gstvalue.h:
1800           Add more missing "Since:" tags to docs.
1801
1802 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
1803
1804         * gst/gstutils.c:
1805           Add mising "Since:" to docs.
1806
1807 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1808
1809         * gst/gstplugin.c:
1810           Include "glib-compat-private.h" to fix the build on system with
1811           glib < 2.10. Fixes #503131.
1812
1813 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1814
1815         * gst/gstutils.c:
1816         * gst/gstutils.h:
1817           Actually its not PURE as it gets the time from elsewhere.
1818
1819 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1820
1821         * docs/gst/gstreamer-sections.txt:
1822         * gst/gstclock.h:
1823         * gst/gstdebugutils.c:
1824         * gst/gstinfo.c:
1825         * gst/gstutils.c:
1826         * gst/gstutils.h:
1827         * libs/gst/base/gstbasesink.c:
1828         * tools/gst-launch.c:
1829           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
1830           uses as we don't have HAVE_POSIX_TIMERS in public headers.
1831           Thanks Tim for spotting.
1832           API: gst_util_get_timestamp
1833
1834 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
1835
1836         * configure.ac:
1837           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
1838
1839 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
1840
1841         * gst/gststructure.c: (gst_structure_validate_name),
1842           (gst_structure_new_valist), (gst_structure_parse_value),
1843           (gst_structure_from_string):
1844           Don't crash in _from_string() if the structure name is not valid
1845           (fixes #501560).  Allow structure names to start with a number
1846           again (this apparently broke the ubuntu codec installer).
1847
1848         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
1849           (GST_START_TEST):
1850           Add unit test for the crash; update unit tests for new behaviour.
1851
1852 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
1853
1854         * gst/gstutils.c:
1855         Clarify gst_element_get_compatible_pad() documentation.
1856         Fixes #500919.
1857
1858 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
1859
1860         * tests/check/Makefile.am:
1861           Don't forget to dist {gst,libs}/struct_hppa.h.
1862
1863 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1864
1865         * libs/gst/base/gstbasesink.c:
1866           Use new API to get elapsed time.
1867
1868 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1869
1870         * gst/gstdebugutils.c:
1871         * gst/gstinfo.c:
1872           Fix wrong order of args in GST_CLOCK_DIFF() usage.
1873
1874         * tools/gst-launch.c:
1875           Use new API to get elapsed time.
1876
1877 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1878
1879         * docs/gst/gstreamer-sections.txt:
1880         * gst/gstclock.h:
1881         * gst/gstdebugutils.c:
1882         * gst/gstinfo.c:
1883           Rename new API + ChangeLog surgery to remove old name from last entry..
1884
1885 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1886
1887         * docs/gst/gstreamer-sections.txt:
1888         * gst/gstclock.h:
1889         * gst/gstdebugutils.c:
1890         * gst/gstinfo.c:
1891           Now hide the different clock stuff behind a macro.
1892
1893 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1894
1895         * configure.ac:
1896         * gst/gstdebugutils.c:
1897         * gst/gstinfo.c:
1898           Apply the posix-timer check from #361155. Conditionally use the posix
1899           timer for logging. This gives better timestamp precission, less
1900           overhead and no ntp jitter.
1901
1902 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
1903
1904         * gst/gstminiobject.c: (gst_mini_object_get_type),
1905         (gst_mini_object_class_init), (gst_mini_object_copy_default),
1906         (gst_mini_object_finalize), (gst_mini_object_copy),
1907         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
1908         (gst_mini_object_replace), (param_mini_object_validate),
1909         (gst_param_spec_mini_object_get_type):
1910         Some cleanup and checking against invalid function parameters.
1911
1912 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
1913
1914         * docs/gst/gstreamer-sections.txt:
1915         * gst/gstclock.h:
1916         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
1917         (gst_systemclock_suite):
1918         Start merging in the easy bits of #361155, the monotonic clock patch.
1919         This one adds a few handy macros with docs and a testsuite.
1920
1921 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
1922
1923         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
1924         Be a bit smarter when seeking, like, don't try to do a seek when it's
1925         not needed. This avoids errors when the file is not seekable.
1926         Fixes #499771.
1927
1928 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
1929
1930         * docs/gst/gstreamer-docs.sgml:
1931         * docs/gst/gstreamer-sections.txt:
1932         * docs/gst/gstreamer.types.in:
1933         * gst/Makefile.am:
1934         * gst/gst.h:
1935         * gst/gstpreset.c:
1936         * gst/gstpreset.h:
1937         * plugins/elements/gstqueue.c:
1938           Due to popular request remove preset interface again. :-(.
1939
1940 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
1941
1942         * tools/gst-inspect.c:
1943           Print 'default value' for enums and flags too.
1944
1945 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
1946
1947         * docs/random/ensonic/profiling.txt:
1948           More ideas.
1949
1950         * gst/gstbin.c:
1951           Fix typo and give better log output.
1952
1953         * gst/gstdebugutils.c:
1954         * gst/gstdebugutils.h:
1955           More ideas, make graphs a bit smaller and fix param name in macro.
1956
1957 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
1958
1959         * gst/gstpreset.c:
1960           Try harder to use the return value from fgets().
1961
1962 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
1963
1964         * gst/gstpreset.c:
1965           For theses two fgets we handle the error below.
1966
1967 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
1968
1969         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
1970         Only send upstream events upstream. Fixes #498746.
1971
1972 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
1973
1974         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
1975
1976         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1977         (gst_identity_init), (gst_identity_transform_ip),
1978         (gst_identity_set_property), (gst_identity_get_property):
1979         * plugins/elements/gstidentity.h:
1980         Add property to disable handoff signal emission. Fixes #498694.
1981         API: GstIdentity::signal-handoffs
1982
1983 2007-11-21  Julien Moutte  <julien@fluendo.com>
1984
1985         * docs/faq/gst-uninstalled: Yet another missing library for the
1986         uninstalled script (fft)
1987
1988 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
1989
1990         * docs/faq/developing.xml:
1991         Add a question about how to submit new translations.
1992
1993         * docs/random/release:
1994         Update the contact email address for the Translation Project
1995
1996         * plugins/elements/gstfdsrc.c:
1997         The parent_class for fdsrc is pushsrc, not GstElement.
1998
1999 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
2000
2001         * gst/gstpreset.c:
2002           Plug a leak and fix saving.
2003
2004 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
2005
2006         * docs/gst/gstreamer-sections.txt:
2007         Add new gst_preset__get_property_names() function to the docs
2008         to fix the build.
2009
2010 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
2011
2012         * gst/gstpreset.c:
2013         * gst/gstpreset.h:
2014           Change _get_preset_names API to return a strv with copies. Add
2015           _get_property_names to allow implementations to filter and provide
2016           good default implementation.
2017
2018 2007-11-20  Julien MOUTTE  <julien@moutte.net>
2019
2020         * docs/faq/gst-uninstalled: Add another library to the uninstalled
2021         script (sdp).
2022
2023 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
2024
2025         * gst/gstpreset.c:
2026           More cleanups, docs, and TODOs from comments that now slowly come in.
2027
2028 2007-11-19  Julien MOUTTE  <julien@moutte.net>
2029
2030         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
2031         search path.
2032
2033 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
2034
2035         * gst/gstpreset.c:
2036           Fix bogus warning and make the property type specific code more
2037           similar.
2038
2039 2007-11-19  Julien MOUTTE  <julien@moutte.net>
2040
2041         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
2042         it build on OS X.
2043
2044 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
2045
2046         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2047         (gst_bin_add_func), (gst_bin_remove_func),
2048         (gst_bin_change_state_func), (gst_bin_continue_func):
2049         Change email, cleanups add some more debug and comments.
2050         Also set bus and clock on new elements when the pipeline was in error.
2051
2052 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
2053
2054         * gst/gstbin.c:
2055         * gst/gstdebugutils.c:
2056           Fix build with --disable-gst-debug. Fixes #497859.
2057           Spotted by Sameer Naik.
2058
2059 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
2060
2061         * gst/gstevent.c:
2062           Little documentation improvment.
2063
2064         * gst/gstpreset.c:
2065           More TODO cleanups. Remove c++ comments.
2066
2067         * libs/gst/controller/gstcontroller.c:
2068           Add TODO and use quark from static string.
2069
2070         * tests/check/gst/gstmessage.c:
2071         * tests/check/gst/gststructure.c:
2072           Use quark from static string.
2073
2074 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
2075
2076         * gst/gstpreset.c:
2077           Add some comments and TODOs.
2078
2079         * gst/gstpreset.h:
2080           Add padding for future changes.
2081
2082         * plugins/elements/gstqueue.c:
2083           Implement the iface.    
2084
2085 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
2086
2087         * docs/gst/gstreamer-docs.sgml:
2088         * docs/gst/gstreamer-sections.txt:
2089         * docs/gst/gstreamer.types.in:
2090         * gst/Makefile.am:
2091         * gst/gst.h:
2092         * gst/gstpreset.c:
2093         * gst/gstpreset.h:
2094           Add the preset interface (Fixes #396779). Do some doc cleanups along.
2095
2096 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
2097
2098         * configure.ac:
2099
2100         Back to CVS
2101
2102 === release 0.10.15 ===
2103
2104 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
2105
2106         * configure.ac:
2107           releasing 0.10.15, "October"
2108
2109 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
2110
2111         * win32/vs6/libgstreamer.dsp:
2112         Convert line endings back to DOS.
2113
2114 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
2115
2116         * docs/design/draft-tagreading.txt:
2117         * docs/random/ensonic/profiling.txt:
2118         Update fast tagreading draft and performance profiling ideas.
2119
2120 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
2121
2122         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
2123         Don't hold the object lock when unreffing a buffer because it could
2124         cause a deadlock when the finalize function wants to grab the object
2125         lock too. Fixes #495133.
2126
2127 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
2128
2129         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
2130         (gst_segment_to_stream_time), (gst_segment_to_running_time):
2131         Also accumulate time correctly when doing reverse playback. Fixes
2132         #488201,
2133         When converting to running and stream time, use default values for
2134         start/stop/time/accum when comparing different formats. Fixes #494245.
2135
2136         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2137         Do running/stream time in TIME format.
2138
2139         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2140         (gst_segment_suite):
2141         2 new unit tests for segment accumulation.
2142
2143 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2144
2145         * gst/gst.c: (init_pre):
2146         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
2147           (_gst_debug_bin_to_dot_file):
2148           Move getenv() back into gst_init, so everyone can live happily
2149           ever after. Make sure the symbol isn't exported though.
2150
2151 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2152
2153         Patch by: Sebastien Moutte  <sebastien moutte net>
2154
2155         * win32/common/gstenumtypes.c:
2156         * win32/common/gstenumtypes.h:
2157           Update enum types.
2158
2159         * win32/vs6/libgstreamer.dsp:
2160           Update vs6 project files (#494343).
2161
2162 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
2163
2164         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
2165         (gst_base_src_perform_seek), (gst_base_src_default_event),
2166         (gst_base_src_set_flushing), (gst_base_src_activate_push),
2167         (gst_base_src_activate_pull):
2168         Unify flushing code, remove some old unlock code that is no longer used.
2169         Take the streaming lock when seeking to avoid races. Fixes #492729.
2170         Added some more comments.
2171
2172 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2173
2174         * gst/gst.c: (_gst_disable_segtrap):
2175           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
2176           we can use gst_segtrap_is_enabled() there now that we have that API.
2177           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
2178           to do the getenv here (and export the variable).
2179
2180         * gst/gstdebugutils.c: (debug_dump_element),
2181           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
2182           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
2183
2184         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
2185           (gst_debug_log_default):
2186           Rename _gst_info_start_time to priv_gst_info_start_time so it
2187           doesn't get exported (was never in any header).
2188
2189         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
2190           (gst_plugin_loading_mutex):
2191           Make static mutex gst_plugin_loading_mutex really static (was never
2192           in any header), and use gst_segtrap_is_enabled() instead of
2193           _gst_disable_segtrap.
2194
2195         * gst/gsttrace.c: (_gst_trace_default):
2196           Make local _gst_trace_default static (was never in any header).
2197
2198 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2199
2200         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
2201
2202         * win32/common/libgstbase.def:
2203         * win32/common/libgstcontroller.def:
2204         * win32/common/libgstdataprotocol.def:
2205         * win32/common/libgstnet.def:
2206         * win32/common/libgstreamer.def:
2207           Add more missing symbols, remove some duplicates, and sort
2208           as the 'sort' command sorts it (partially fixes #493983).
2209
2210 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
2211
2212         * gst/gstelement.c: (gst_element_set_state_func):
2213         Only change the state cookie if a different state was set on the
2214         element. See #492729.
2215
2216 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2217
2218         * gst/gstvalue.c:
2219           Remove unused and uninitialised type variables that were still
2220           exported for some reason (they were never in any header files
2221           though).
2222
2223 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
2224
2225         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2226         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
2227         (gst_base_sink_event), (gst_base_sink_get_position_last),
2228         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2229         (gst_base_sink_change_state):
2230         Don't try to report a 0 position when we don't know, return -1 and FALSE
2231         instead. This mostly happens when we are prerolling.
2232         Make sure we can report the right position before we post the ASYNC_DONE
2233         message so that a message handler can query position without races.
2234
2235         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
2236         (async_done_handoff), (async_done_func), (send_buffer),
2237         (async_done_eos_func), (gst_sinks_suite):
2238         Add two tests for the above.
2239
2240 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
2241
2242         * MAINTAINERS:
2243         Update with new email address.
2244
2245         * docs/design/part-TODO.txt:
2246         Add some more info about future pad-block and negotiation changes.
2247
2248         * docs/design/part-buffering.txt:
2249         Add some ideas about buffering reporting.
2250
2251 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
2252
2253         * tests/check/gst/gstobject.c:
2254         Disable silly racy test that always fails on this combination of CPU
2255         and kernel.
2256
2257 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2258
2259         Patch by: Murray Cumming  <murrayc@murrayc.com>
2260
2261         * gst/gstobject.c:
2262           Corrected the registration of the parent-set and parent-unset
2263           signals: The parameter is a GstObject, not a GObject (#493134).
2264
2265 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2266
2267         * gst/gst_private.h:
2268         * gst/gstbuffer.h:
2269         * gst/gstevent.h:
2270         * gst/gstformat.h:
2271         * gst/gstmessage.h:
2272         * gst/gstplugin.h:
2273         * gst/gstquery.h:
2274         * gst/gsttaglist.h:
2275         * gst/gstvalue.h:
2276           Move declaration of private _gst_foo_initialize() functions into
2277           our private header file where they should have been all along.
2278
2279 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2280
2281         * docs/plugins/gstreamer-plugins-sections.txt:
2282         * gst/gstdebugutils.h:
2283         * gst/gstxml.h:
2284         * plugins/elements/gstqueue.c:
2285           gtk-doc fixes; trailing-comma-in-enum fix.
2286
2287 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2288
2289         * gst/gst.c: (gst_deinit):
2290           Clean up on deinit (not the external ones though, doesn't seem to be
2291           needed for some reason).
2292
2293 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
2294
2295         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
2296           Remove __declspec(dllimport) for MSVC that was copied over into core
2297           from a plugin, obviously without ever having been tested (note the
2298           single underscore in _declspec in the initial commit), and that doesn't
2299           really make sense.  See #492077.
2300
2301 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
2302
2303         * gst/gst.c: (init_post):
2304         * gst/gstevent.c: (_gst_event_initialize):
2305         * gst/gstquery.c: (_gst_query_initialize):
2306         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
2307           g_type_class_ref() other types as well, see #349410 and #64764.
2308
2309         * gst/gstbuffer.c: (_gst_buffer_initialize):
2310         * gst/gstmessage.c: (_gst_message_initialize):
2311           Simplify existing g_type_class_ref().
2312
2313 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
2314
2315         * gst/gstformat.c: (_gst_format_initialize):
2316           g_type_class_ref() our GstFormat type to make sure we avoid the
2317           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
2318           bug #64764. Should fix intermittent tee unit test failures (#474823).
2319
2320 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
2321
2322         * tests/check/elements/tee.c: (test_num_buffers):
2323           Simplify, simplify, simplify - or not.  Rewrite unit test
2324           not to use gst_parse_launch(); allow N sub-streams. Increasing
2325           the number of sub-streams seems to reproduce #474823 more easily.
2326
2327 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
2328
2329         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
2330
2331         * gst/gsttrace.c:
2332         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
2333         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2334         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
2335           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
2336           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
2337           so use _pipe() directly (#492077).
2338
2339         * win32/common/dirent.c: (_treaddir):
2340           Add a couple of casts to make it build without warnings with MSVC.
2341
2342         * win32/common/libgstreamer.def:
2343           Add some more symbols that need to be exported.
2344
2345 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
2346
2347         * tests/examples/metadata/read-metadata.c: (message_loop):
2348           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
2349           arriving in a second or third tag message are added to
2350           the tag list as well.
2351
2352 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
2353
2354         * libs/gst/base/gstbasesrc.c:
2355           Its "Since:" and not "@Since:". And remove an superflous cast.
2356
2357 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
2358
2359         * docs/libs/gstreamer-libs-sections.txt:
2360         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2361         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
2362         (gst_base_sink_get_property), (gst_base_sink_render_object),
2363         (gst_base_sink_preroll_object),
2364         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
2365         (gst_base_sink_change_state):
2366         * libs/gst/base/gstbasesink.h:
2367         Add a new last-buffer property that contains the last buffer used in
2368         basesink for preroll or rendering. useful for making snapshots.
2369         API: gst_base_sink_get_last_buffer()
2370         API: GstBaseSink::last-buffer
2371
2372 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
2373
2374         * docs/gst/running.xml:
2375         * gst/gst.c:
2376         * gst/gstdebugutils.c:
2377         * gst/gstdebugutils.h:
2378         * tools/gst-launch.c:
2379           Improve bin graph dumping, by using the envvar to specify a path.
2380           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
2381
2382 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
2383
2384         * plugins/elements/gsttypefindelement.c:
2385           (gst_type_find_element_handle_event),
2386           (gst_type_find_element_activate):
2387           Post special error message if we can't determine the type of a stream
2388           because it's empty.
2389
2390 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
2391
2392         * docs/gst/running.xml:
2393         * gst/gstdebugutils.c:
2394           Document new env-var. Add one log-line after dumpng a graph.
2395
2396 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2397
2398         * configure.ac:
2399           Ugly hack to put the (recently removed and non-portable, apparently)
2400           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
2401           GNU ld, because without that 'make check' fails miserably on my debian
2402           stable box.  Someone with more knowledge of linker intricacies and
2403           portability issues than me fix this properly please.
2404
2405 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
2406
2407         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
2408         Reset last seen position after flushing so that we don't report the old
2409         position anymore.
2410
2411 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
2412
2413         * gst/gstelementfactory.c: (gst_element_register):
2414         * gst/gsturi.h:
2415         Patch from Alessandro Decina adding get_type_full and
2416         get_protocols_full private vfuncs to the URIHandler interface
2417         to allow bindings to support creating URI handlers. 
2418         Partially fixes: #339279
2419         API: GstURIHandlerInterface::get_type_full
2420         API: GstURIHandlerInterface::get_protocols_full
2421
2422 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
2423
2424         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
2425         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
2426         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
2427         Make it so that pads are considered linked until a buffer is pushed
2428         and discovered otherwise. This avoids problems with decodebin2 hanging
2429         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
2430         case.
2431
2432         Make sure we lock the multiqueue when updating the max-size properties.
2433         
2434         Fix a crash on Solaris in a debug statement in get_request_pad that
2435         passes a NULL string to GST_DEBUG. 
2436
2437         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
2438         (run_output_order_test):
2439         Fix the test to allow the first buffer on not-linked pads to come out
2440         of sequence while multiqueue discovers that they are not-linked.
2441
2442 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
2443
2444         * configure.ac:
2445         * libs/gst/check/Makefile.am:
2446         Use a custom export symbol regex for libgstcheck, as it needs
2447         to export symbols that don't match the standard GStreamer gst_*
2448         pattern, and  --export-dynamic is not portable (only works on 
2449         GNU ld)
2450
2451         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2452         (gst_check_setup_sink_pad):
2453         Make sure to pass a message parameter to the fail_* macros.
2454
2455         * tests/check/gst/gstinfo.c: (GST_START_TEST):
2456         Fix some compiler warnings.
2457
2458 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
2459
2460         * tests/check/gst/gststructure.c: (test_to_string):
2461           Disable test that checks that white spaces are not allowed
2462           in structure names or field names, since we need to
2463           support that for now for backwards compatibility reasons.
2464
2465 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
2466
2467         * docs/gst/gstreamer-sections.txt:
2468         * gst/gsttaglist.c:
2469         * gst/gsttaglist.h:
2470           API: add GST_TAG_ARTIST_SORTNAME
2471           API: add GST_TAG_ALBUM_SORTNAME
2472           API: add GST_TAG_TITLE_SORTNAME
2473           Add tag variants for sorting (#414539).
2474
2475 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
2476
2477         * gst/gststructure.c:
2478           Also allow white space for names so we don't break
2479           backwards compatibility.
2480
2481 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
2482
2483         * docs/design/part-TODO.txt:
2484         * docs/design/part-segments.txt:
2485         * docs/design/part-streams.txt:
2486         Small updates.
2487
2488 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
2489
2490         * docs/gst/gstreamer-sections.txt:
2491          Fixed documentation from my previous commit (added new API add
2492          gst_value_set_structure(), add gst_value_get_structure() and
2493          GST_VALUE_HOLDS_STRUCTURE).
2494
2495 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
2496
2497         * gst/gstdebugutils.c:
2498           Reflow code to fix uninitialized variable warning.
2499
2500 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
2501
2502         * gst/gstcaps.c: (gst_caps_to_string),
2503         (gst_caps_from_string_inplace):
2504         * gst/gststructure.c: (gst_structure_get_abbrs),
2505         (gst_structure_to_string), (gst_structure_from_string):
2506         * gst/gstvalue.c: (gst_value_set_structure),
2507         (gst_value_get_structure), (gst_value_serialize_structure),
2508         (gst_value_deserialize_structure), (_gst_value_initialize):
2509         * gst/gstvalue.h:
2510         * tests/check/gst/gststructure.c: (GST_START_TEST),
2511         (gst_structure_suite):
2512         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2513          Added GstStructure to gst_value_table and its related functions.
2514          Changed gst_structure_to_string to print ';' in the end.
2515          Changed gst_caps_to_string to not print ';' beteween its
2516          fields (structures) anymore and remove the lastes ';' from latest
2517          structure. Now it is possible to have nested structures.
2518          In addition, backward compatibilty is assured by accepting '\0' as
2519          end delimiter. Fixes: #487969.
2520          API: add gst_value_set_structure()
2521          API: add gst_value_get_structure()
2522          API: add GST_VALUE_HOLDS_STRUCTURE
2523
2524 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
2525
2526         * gst/gstbus.c:
2527           When no GSource callback has been set up, tell developer
2528           to use a function that actually exists.
2529
2530 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
2531
2532         * docs/gst/gstreamer-sections.txt:
2533         * gst/Makefile.am:
2534         * gst/gst.c:
2535         * gst/gst.h:
2536         * gst/gstdebugutils.c:
2537         * gst/gstdebugutils.h:
2538         * gst/gstinfo.c:
2539         * gst/gstinfo.h:
2540         * tools/gst-launch.c:
2541           Allow dumping pipelines as dot graphs. Fixes #456573.
2542
2543 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2544
2545         * gst/gststructure.c:
2546           Allow '+' as well, it can be part of media or mime types
2547           such as image/svg+xml.
2548
2549 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2550
2551         * docs/gst/gstreamer-sections.txt:
2552         * gst/gstbus.c:
2553         * gst/gstbus.h:
2554           API: add gst_bus_pop_filtered
2555           API: add gst_bus_timed_pop_filtered
2556           Two new functions for waiting for specific message types on the
2557           bus for a specified amount of time without iterating any main
2558           loops or main contexts.
2559
2560         * tests/check/gst/gstbus.c:
2561           Some tests for the new functions.
2562
2563 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2564
2565         * docs/libs/gstreamer-libs-sections.txt:
2566           Make gtk-doc ignore stuff it should ignore.
2567
2568 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2569
2570         * libs/gst/check/gstcheck.c:
2571         * libs/gst/check/gstcheck.h:
2572           Allow runtime selection of unit tests to run via the GST_CHECKS
2573           environment variable (test case function names, comma-separated).
2574
2575 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
2576
2577         * gst/gststructure.c:
2578         * tests/check/gst/gststructure.c:
2579           Revert serialisation change and constrain structure-names after
2580           consensus on irc. Update api documentation to reflect the change.
2581
2582 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
2583
2584         * gst/gststructure.c:
2585           Improve serialization and fix tests.
2586
2587         * tests/check/gst/gststructure.c:
2588           Add another test that covers why I actually did the previous structure
2589           change.
2590
2591 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
2592
2593         * tools/gst-inspect.c: (print_element_info):
2594         Don't crash when inspecting an element.
2595
2596 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2597
2598         * tests/check/gst/gststructure.c:
2599           Add unit test for escaping of structure name when serialising
2600           and deserialising to/from strings.
2601
2602 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
2603
2604         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2605         (gst_single_queue_new):
2606         * plugins/elements/gstqueue.c: (gst_queue_init),
2607         (gst_queue_push_one):
2608         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
2609         upstream is tricked into thinking it can suggest a format downstream
2610         while downstream does not support that format. The real problem is that
2611         core calls acceptcaps when pushing a buffer with new caps, for which we
2612         do a little workaround by setting the caps on the srcpad ourselves
2613         before pushing the buffer (until this is figured out). Fixes #486758.
2614
2615 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2616
2617         * gst/gststructure.c:
2618         * gst/gstvalue.c:
2619           Add some more comments and debug output. Quote structure name to fix
2620           deserialisation of some strings.
2621
2622 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2623
2624         * gst/gstbuffer.h:
2625           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
2626           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
2627
2628 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2629
2630         * tools/gst-inspect.c:
2631           Save approx. 400 1 byte allocs when printing. Use API to acces element
2632           details.
2633
2634         * tools/gst-run.c:
2635           Avoid a strdup.
2636
2637         * tools/gst-xmlinspect.c:
2638           Use API to acces element details.
2639
2640 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2641
2642         * gst/gstinfo.c:
2643           Fix some spelling errors.
2644
2645 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
2646
2647         * gst/gstbin.c: (bin_handle_async_done):
2648         Correctly set the next state if all of our async children commited their
2649         state. This makes sure we can actually cancel the state change in
2650         progress. Fixes a regression in Rhythmbox when seeking.
2651
2652 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2653
2654         * gst/gstbin.c:
2655           Don't shadow local variable.
2656
2657         * gst/gstinfo.c:
2658           Don't shadow global function name.
2659
2660 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2661
2662         * gst/gstelementfactory.c:
2663         * gst/gstpluginfeature.c:
2664         * gst/gstpluginfeature.h:
2665         * gst/gstregistrybinary.c:
2666         * gst/gstregistryxml.c:
2667         * gst/gsttypefind.c:
2668           Use already-interned string for the private GstPluginFeature
2669           plugin_name field.
2670
2671 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2672
2673         * docs/libs/gstreamer-libs-sections.txt:
2674           Add new API to docs; fixes the build.
2675
2676 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
2677         
2678         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
2679
2680         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
2681         (gst_base_sink_event):
2682         * libs/gst/base/gstbasesink.h:
2683         Add function to wait for EOS, subclasses can use this to correctly wait
2684         for devices to drain before performing the EOS logic. Fixes #485343.
2685         API: gst_base_sink_wait_eos()
2686
2687 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2688
2689         * gst/gstplugin.h:
2690           Cast description string constants in GST_PLUGIN_DEFINE macros
2691           to a (gchar*) to make C++ code using these macros compile
2692           without warning with g++-4.2 (see #462737).  Even if slightly
2693           ugly, this seems preferable to putting the description strings
2694           into the GLib quark table or making the structure member a
2695           const gchar * and doing casts in core code that allocs and
2696           frees these strings, or requiring a cast in the C++ code.
2697
2698 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2699
2700         * gst/gstinfo.h:
2701           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
2702           to print the entire class/function signature into the log
2703           file for C++ code.  This only affects C++ code, for C code
2704           everything remains the same.
2705
2706 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
2707
2708         * gst/gstbin.c: (remove_from_queue):
2709         Work around a problem with pipelines containing (semi)loops until a
2710         proper, more complicated solution is ready. See #475455.
2711
2712 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2713
2714         * gst/gstplugin.c:
2715         * gst/gstplugin.h:
2716         * gst/gstregistrybinary.c:
2717         * gst/gstregistryxml.c:
2718           Put more strings into the GLib quark table. No need to keep
2719           a hundred-something copies of identical version strings,
2720           license strings, package name strings and package origin
2721           strings around. 
2722
2723 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2724
2725         * docs/manual/advanced-dataaccess.xml:
2726           Don't imply that it's okay to unconditionally change
2727           buffer data or buffer metadata in a pad probe callback,
2728           and a bunch of other comments. Fixes #430031.
2729
2730 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2731
2732         * win32/common/gstenumtypes.c:
2733         * win32/common/gstenumtypes.h:
2734         * win32/common/gstversion.h:
2735           Update generated files.
2736
2737 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2738
2739         * docs/manual/advanced-autoplugging.xml:
2740           Prefix section with broken code with a warning (see #342432).
2741
2742 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2743
2744         * docs/manual/appendix-integration.xml:
2745         * docs/manual/basics-init.xml:
2746           Call g_thread_init() before g_option_context_new() to
2747           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
2748
2749 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2750
2751         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2752         (gst_base_sink_queue_object_unlocked),
2753         (gst_base_sink_queue_object), (gst_base_sink_event),
2754         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
2755         When we received EOS and are waiting for when to post the EOS message,
2756         our state is prerolled and we should not return ASYNC.
2757         Reorganize some code paths to implement this behavior.
2758
2759         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
2760         (gst_sinks_suite):
2761         Add unit test to verify above EOS fix.
2762
2763 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2764
2765         * plugins/elements/gsttypefindelement.c:
2766         (gst_type_find_element_have_type), (gst_type_find_element_init),
2767         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
2768         Move detecting the input caps of the sinkpad to the setcaps function.
2769         This allows us to update the output caps when we receive new input caps
2770         instead of always using the first detected caps.
2771
2772 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2773
2774         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2775         (gst_base_sink_get_position):
2776         Don't try to preroll non-async elements after a flush.
2777         Subtract latency form clock times when reporting position.
2778
2779 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2780
2781         * gst/gstpad.c: (gst_pad_pause_task):
2782         * gst/gstutils.c:
2783         Small comment and documentation update.
2784
2785 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2786
2787         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2788         (gst_base_src_set_live), (gst_base_src_is_live),
2789         (gst_base_src_query_latency), (gst_base_src_perform_seek),
2790         (gst_base_src_default_event), (gst_base_src_wait),
2791         (gst_base_src_do_sync), (gst_base_src_get_range),
2792         (gst_base_src_pad_get_range), (gst_base_src_loop),
2793         (gst_base_src_unlock), (gst_base_src_unlock_stop),
2794         (gst_base_src_set_flushing), (gst_base_src_set_playing),
2795         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2796         (gst_base_src_change_state):
2797         Rework the locking of basesrc in a similar fashion to basesink. We
2798         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
2799         us to handle live sources and semi live ones much better.
2800         Simplify flushing.
2801         Fix unlocking when seeking, shutting down and pausing in live sources.
2802
2803 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2804
2805         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
2806         Fix compilation again.
2807
2808 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2809
2810         * gst/gstelement.c:
2811           Use meaningful categories for the logs to clean the default one.
2812
2813 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2814
2815         * tests/check/pipelines/cleanup.c:
2816           Print message name and not just number.
2817
2818 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2819
2820         * docs/design/draft-tagreading.txt:
2821           Add some more thoughts.
2822
2823 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2824
2825         * tests/check/pipelines/simple-launch-lines.c:
2826           Print message name and not just number.
2827
2828 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2829
2830         * libs/gst/base/gsttypefindhelper.c:
2831           Speedup typefinding. This is work in progress (see #459862).
2832
2833 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2834
2835         * gst/gstplugin.c:
2836           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
2837           Spotted by Josep Torra Valles <josep@fluendo.com>.
2838
2839 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
2840
2841         * gst/gstclock.h:
2842           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
2843           field has moved to GstObject.
2844
2845 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
2846
2847         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
2848         (gst_base_src_get_range), (gst_base_src_change_state):
2849         Call unlock for live sources so that they can't get stuck in _create and
2850         produce a buffer before they are set back to PLAYING.
2851
2852 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
2853
2854         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
2855         (gst_queue_locked_dequeue):
2856         Comment the segment-related code... in the PROPER function.
2857         See #482147 and my commit from yesterday.
2858
2859 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
2860
2861         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2862         Also initialize the counter that calculates the first timestamp on a
2863         buffer correctly for non-live sources.
2864
2865 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
2866
2867         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
2868         Disable code that's breaking the current-time-level reporting.
2869         See #482147
2870
2871 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
2872
2873         * docs/gst/gstreamer-sections.txt:
2874         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
2875         as they shouldn't show up. Fixes the docs build.
2876
2877 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
2878         
2879         * gst/gstinfo.h:
2880         Add an explicit variable importation needed on VS6 (only for MSC_VER)
2881         Define M_PI which is used in files which are including gstinfo.h. 
2882         VS6 includes doesn't define it.
2883         * win32/common/libgstbase.def:
2884         * win32/common/libgstcontroller.def:
2885         * win32/common/libgstreamer.def:
2886         Add new exported functions and variables.
2887         * win32/vs6/libgstcontroller.dsp:
2888         * win32/vs6/libgstreamer.dsp:
2889         Update the list of files to build.
2890         
2891 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
2892
2893         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
2894
2895         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
2896         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
2897         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
2898         Improve debugging. Fixes #480858.
2899
2900 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
2901
2902         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
2903
2904         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2905         First patch of code cleanups, use the macros and right arguments in the
2906         macros to signal and lock the queue. See #480858.
2907
2908 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
2909
2910         * gst/gstbus.c: (poll_func):
2911         Improve debugging when dealing with _poll().
2912
2913 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
2914
2915         * gst/gstregistryxml.c:
2916           Fix memory leak I introduced a few days ago.
2917
2918 2007-09-26  Michael Smith <msmith@fluendo.com>
2919
2920         * gst/gstbuffer.c: (gst_buffer_finalize):
2921           Make it once again possible to free GstBuffers in the default
2922           build.
2923           The poisoning scribbles on parts of the miniobject we need in
2924           order to free it.
2925           Fixes #480341
2926
2927 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
2928
2929         * docs/gst/gstreamer-sections.txt:
2930         * gst/gsttaglist.c:
2931         * gst/gsttaglist.h:
2932         API: add GST_TAG_COMPOSER, fixes #459809.
2933
2934 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
2935
2936         * gst/gstplugin.c:
2937         * gst/gstplugin.h:
2938         Add the 3-clause BSD license and the MIT/X11 license to the license
2939         list. Fixes #479784.
2940
2941 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
2942
2943         * docs/faq/getting.xml:
2944           Add Q+A about different GStreamer versions (#364056).
2945
2946 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2947
2948         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2949         (gst_base_sink_event), (gst_base_sink_change_state):
2950         Return correct gboolean from query function.
2951
2952 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2953
2954         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2955         (gst_base_sink_event), (gst_base_sink_query),
2956         (gst_base_sink_change_state):
2957         Simplify latency query.
2958         When not synchronizing, we can report latency without querying the peer
2959         element.
2960
2961 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2962
2963         * gst/gstobject.h:
2964         * gst/gstvalue.c:
2965         Fix small typos in the docs.
2966
2967 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2968
2969         * docs/design/draft-latency.txt:
2970         * docs/design/draft-push-pull.txt:
2971         * docs/design/draft-tagreading.txt:
2972         * docs/design/part-MT-refcounting.txt:
2973         * docs/design/part-activation.txt:
2974         * docs/design/part-block.txt:
2975         * docs/design/part-element-source.txt:
2976         * docs/design/part-events.txt:
2977         * docs/design/part-gstbin.txt:
2978         * docs/design/part-gstelement.txt:
2979         * docs/design/part-gstobject.txt:
2980         * docs/design/part-gstpipeline.txt:
2981         * docs/design/part-messages.txt:
2982         * docs/design/part-preroll.txt:
2983         * docs/design/part-push-pull.txt:
2984         * docs/design/part-qos.txt:
2985         * docs/design/part-query.txt:
2986         * docs/design/part-scheduling.txt:
2987         * docs/design/part-seeking.txt:
2988         * docs/design/part-segments.txt:
2989         * docs/design/part-states.txt:
2990         Documentation updates and typo fixes.
2991
2992 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
2993
2994         * plugins/elements/gstfakesink.c:
2995           Add some debug text to error message to indicate that
2996           we errored out on request.
2997
2998         * tools/gst-launch.c:
2999           When the state change to PLAYING fails, check for an
3000           error message on the bus and print it.
3001
3002 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3003
3004         translated by: Jorge González González <aloriel@gmail.com>
3005
3006         * po/LINGUAS:
3007         * po/es.po:
3008           Added Spanish translation.
3009
3010 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
3011
3012         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3013         Fix printf arguments.
3014
3015 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
3016
3017         * tests/check/generic/states.c:
3018           Improved state change unit test.
3019
3020 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
3021
3022         * gst/gstbin.h:
3023           Move priv to the right place.
3024
3025         * gst/gstsystemclock.c:
3026           Add FIXME: and improve log.
3027
3028         * tests/check/Makefile.am:
3029         * tests/examples/manual/Makefile.am:
3030           Work with all types of registries.
3031
3032 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
3033
3034         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
3035         Don't unref the event after pushing it. Fixes #478401.
3036
3037 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
3038
3039         * .cvsignore:
3040         * tests/examples/manual/.cvsignore:
3041           Ignore registries in any format.
3042
3043 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
3044
3045         * gst/glib-compat-private.h:
3046           Add compatibility macro for g_intern_string() for
3047           GLib-2.8 (any reason we can't just bump the
3048           requirement to at least 2.10?)
3049
3050         * gst/gstpadtemplate.h:
3051         * gst/gstelementfactory.c:
3052         * gst/gstregistryxml.c:
3053         * gst/gstregistrybinary.c:
3054           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
3055           up the internal code accordingly.  This shouldn't be a problem, since
3056           there is no reason external code could ever assume the string in such
3057           a structure is dynamically allocated unless it did that itself;  the
3058           use of g_strdup() is private to element factories.  The new code also
3059           saves some memory by putting pad template name strings into the GLib
3060           quark table instead of allocating them dynamically.
3061           Declaring this field constant fixes warnings with g++-4.2 when using
3062           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
3063
3064 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
3065
3066         * gst/gstelementfactory.c:
3067           Release static caps. Fixes #475723.
3068
3069 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
3070
3071         * gst/gstinfo.c:
3072         * gst/gstinfo.h:
3073           Make some internal API take const gchar * instead of just
3074           gchar * to avoid compiler warnings with g++-4.2.2 when
3075           passing string constants (partially fixes #478092).
3076
3077 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
3078
3079         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
3080         A latency query fails when one of the sinks fail.
3081
3082         * gst/gstelement.c: (gst_element_set_base_time):
3083         Improve debugging.
3084
3085 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
3086
3087         * gst/gstbin.c: (gst_bin_continue_func):
3088         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
3089         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
3090         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
3091
3092         Fix minor compilation warnings shown with Forte.
3093
3094 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
3095
3096         * plugins/elements/gstqueue.c: (apply_buffer),
3097         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
3098         Measure queue level based on the diff between head and tail timestamps
3099         even when pushing the first buffer.
3100
3101 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
3102
3103         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3104         (gst_base_sink_event), (gst_base_sink_change_state):
3105         Sinks that don't preroll can always be queried for the latency.
3106         Don't post ASYNC start when we are not async.
3107
3108 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
3109
3110         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
3111         (gst_queue_handle_sink_event), (gst_queue_chain),
3112         (gst_queue_push_one), (gst_queue_handle_src_query),
3113         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
3114         * plugins/elements/gstqueue.h:
3115         When downstream returns UNEXPECTED from pushing a buffer, don't try to
3116         push more buffers but allow pushing of EOS and NEWSEGMENT.
3117         Add some more debug info here and there. Fixes #476514.
3118
3119 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
3120
3121         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3122         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
3123         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
3124         (gst_base_sink_set_flushing), (gst_base_sink_query),
3125         (gst_base_sink_change_state):
3126         Latency query is allowed after we are prerolled. Introduce a new flag
3127         for this and stop abusing other variables.
3128
3129 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
3130
3131         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
3132         Push OOB events downstream when we get them in send_event. This allows
3133         the application to insert events in the pipeline.
3134         Add some more comments.
3135
3136 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
3137
3138         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
3139         (do_bin_latency), (gst_bin_change_state_func):
3140         * gst/gstpipeline.c: (gst_pipeline_change_state):
3141         Move latency query from GstPipeline to GstBin so that we can also
3142         use it when async-handling is enabled on bins.
3143
3144 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
3145
3146         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3147         (gst_base_src_do_sync), (gst_base_src_change_state):
3148         Update docs.
3149         Clean up the timestamping and syncing code for pseudo live sources.
3150
3151 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
3152
3153         Patch by: Steve Fink  <sphink gmail com>
3154
3155         * docs/manual/appendix-checklist.xml:
3156           Mention less -R switch in the section about debug output (#474055).
3157
3158 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
3159
3160         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3161         Queue can latency to the pipeline up to the configured max size in time.
3162         Report this fact in the latency query.
3163
3164 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
3165
3166         Patch by: Sebastien Moutte <sebastien at moutte dot net>
3167
3168         * libs/gst/controller/gstinterpolation.c:
3169         * libs/gst/controller/gstlfocontrolsource.c:
3170         Use gst_guint64_to_gdouble() when converting from a uint64 or
3171         GstClockTime to double to fix the build on win32. Fixes #474371.
3172
3173 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
3174
3175         * gst/gstbuffer.c: (gst_buffer_finalize):
3176         Implement poisoning for GstBuffer if --enable-poisoning is specified.
3177         When finalizing a buffer the complete struct is filled with 0xff,
3178         thus making a use of the buffer after the final unref impossible.
3179
3180 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
3181
3182         * tests/check/libs/controller.c: (GST_START_TEST):
3183         Use fail_unless_equals_int(a, b) instead of
3184         fail_unless_equals (a == b) to get better output on failures.
3185
3186 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
3187
3188         * tests/check/gst/gsturi.c:
3189           Also check for the other file URI variant on win32.
3190
3191 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
3192
3193         * gst/gsturi.c: (gst_uri_get_location):
3194           If there's no hostname, we want to return 'c:/foo/bar.txt'
3195           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
3196
3197         * tests/check/gst/gsturi.c:
3198           Unit test for the above and a few more things.
3199
3200 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
3201
3202         * docs/design/part-live-source.txt:
3203         Add docs on how live sources should timestamp.
3204
3205         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
3206         Add some more debug info.
3207         For subclasses that are live and like to sync, add aditional startup
3208         latency to sync time and timestamps so that we timstamp according to the
3209         design doc.
3210
3211 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
3212
3213         * gst/gstbuffer.c:
3214           Also do a g_type_class_ref() for the subbuffer type in
3215           the init function.
3216
3217 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
3218
3219         * docs/gst/gstreamer-sections.txt:
3220         * gst/gstpad.c: (gst_pad_peer_query):
3221         * gst/gstpad.h:
3222         Add function to perform a query on the peer of a pad.
3223         API: gst_pad_peer_query()
3224
3225 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
3226
3227         * tests/check/gst/gstsystemclock.c:
3228           Cleanup the test a little (use gst-logging and not g_message). Improve
3229           test to check if a wait reached the target.
3230
3231 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
3232
3233         * docs/libs/gstreamer-libs-sections.txt:
3234           Add new API to docs and fix the build.
3235
3236 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
3237
3238         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3239         (gst_base_src_init), (gst_base_src_set_do_timestamp),
3240         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
3241         (gst_base_src_get_property), (gst_base_src_do_sync):
3242         * libs/gst/base/gstbasesrc.h:
3243         Add property to make the basesrc timestamp buffers based on the current
3244         running time.
3245         API: GstBaseSrc::do-timestamp
3246         API: gst_base_src_set_do_timestamp()
3247         API: gst_base_src_get_do_timestamp()
3248
3249 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
3250
3251         * docs/random/release:
3252           Really make sure translations are up-to-date before
3253           a release (#465010).
3254
3255 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
3256
3257         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3258         Always destroy the timer, also in error cases.
3259
3260 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
3261
3262         * docs/manual/highlevel-xml.xml:
3263         Fix XML example code. Fixes #472714.
3264
3265 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
3266
3267         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3268         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
3269         (gst_base_sink_query):
3270         Protect eos and have_preroll with the OBJECT lock so we don't need to
3271         take the PREROLL lock when querying the latency. Fixes #473846.
3272
3273 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
3274
3275         * gst/gstelement.c:
3276           Give some log-messages a category.
3277
3278 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
3279
3280         * gst/gststructure.c:
3281         (gst_structure_fixate_field_nearest_fraction):
3282         Fix fraction list fixation code. Take the fraction with the smallest
3283         difference with the target instead of the first one in the list.
3284
3285         * tests/check/gst/gststructure.c: (GST_START_TEST),
3286         (gst_structure_suite):
3287         Added test to verify correct fraction list fixation behaviour.
3288
3289 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
3290
3291         * win32/common/libgstreamer.def:
3292           Export gst_bus_add_signal_watch too.
3293
3294 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
3295
3296         * docs/libs/gstreamer-libs-sections.txt:
3297         Add new methods to docs.
3298
3299         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3300         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
3301         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
3302         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
3303         * libs/gst/base/gstbasesink.h:
3304         Add ts-offset property to fine-tune the synchronisation.
3305         API: GstBaseSink::ts-offset property
3306         API: gst_base_sink_set_ts_offset()
3307         API: gst_base_sink_get_ts_offset()
3308
3309 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
3310
3311         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3312         (gst_base_sink_init), (gst_base_sink_set_sync),
3313         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3314         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
3315         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
3316         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
3317         (gst_base_sink_get_property), (gst_base_sink_change_state):
3318         * libs/gst/base/gstbasesink.h:
3319         Add async property to instruct the sink never to inform the parent about
3320         ASYNC state changes, update docs.
3321         Check argument with g_return_* for the public functions.
3322         API: GstBaseSink::async property
3323         API: gst_base_sink_set_async_enabled()
3324         API: gst_base_sink_is_async_enabled()
3325
3326 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
3327
3328         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
3329         Improve debugging.
3330
3331         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3332         (gst_base_src_default_query), (gst_base_src_wait),
3333         (gst_base_src_do_sync), (gst_base_src_change_state):
3334         Rearrange some code so that we can add support for measuring the 
3335         startup latency.
3336
3337 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
3338
3339         * docs/random/ensonic/dynlink.txt:
3340           More thoughs on this.
3341
3342         * plugins/elements/gstcapsfilter.c:
3343           Add bugzilla ticket number to FIXME comment.
3344
3345 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
3346
3347         * docs/design/part-TODO.txt:
3348         * docs/design/part-block.txt:
3349         Update some docs.
3350
3351 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
3352
3353         * gst/Makefile.am:
3354           Revert patch which uses $(gst_headers) instead of $^ because it
3355           breaks make dist.
3356
3357 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
3358
3359         * tests/check/gst/gstbin.c: (GST_START_TEST):
3360           Fix leaks in the new unit test.
3361
3362 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
3363
3364         * gst/gst.c:
3365           Don't use GST_INFO before the debug system is actually initialised
3366           (shouldn't do any harm, but won't print anything either, so we can
3367           just as well remove it).
3368
3369         * gst/gstinfo.h:
3370           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
3371           compilers that don't support variadic macros (such as MSVC), should
3372           check for debug_level <= __gst_debug_min as well, since that's the
3373           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
3374           inline helper functions. Should improve performance a bit, but also
3375           makes sure uses of GST_INFO et.al are ignored if the debugging
3376           system isn't initialised yet (instead of printing an assertion
3377           failure).
3378
3379 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
3380
3381         patch by: David Nečas <yeti@physics.muni.cz>
3382
3383         * gst/Makefile.am:
3384           Replace some non portable makefile constructs.
3385
3386 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
3387
3388         * common/gtk-doc-plugins.mak:
3389           Grrrrr. Don't remove the types file on make clean.
3390
3391 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
3392
3393         * tools/gst-launch.1.in:
3394         Add colorspace to example pipeline. Fixes #458274.
3395
3396 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
3397
3398         * docs/random/release:
3399           The release manager should run 'make download-po' before making a
3400           release to make sure translations are up-to-date.
3401
3402         * po/LINGUAS:
3403         * po/be.po:
3404         * po/pl.po:
3405         * po/rw.po:
3406           Add some new translations.
3407
3408 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
3409
3410         * tools/gst-launch.c: (event_loop), (main):
3411         Don´t try to do any state management when a live pipeline posts
3412         buffering messages.
3413         Also make the buffering string translatable.
3414
3415 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
3416
3417         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
3418         (bin_handle_async_start), (gst_bin_handle_message_func):
3419         Improve debugging.
3420         When adding elements, insert messages into the bus of the newly added
3421         element and make sure the element is the source of the message. This
3422         allows the parent bin to intercept the message and do the
3423         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
3424         messages to the app (which is not allowed).
3425         Update some docs.
3426
3427         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3428         Fix testsuite so that is does not work around messages that should not
3429         have been posted in the first place.
3430
3431 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
3432
3433         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
3434         (update_degree), (gst_bin_sort_iterator_next):
3435         Fix annoying bug in the sorted iterator where a sink that is not really
3436         a sink (when it has downstream links) screwed up the iterator.
3437
3438         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
3439         Unit test to verify the fix.
3440
3441 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
3442
3443         * gst/gstmessage.h:
3444         Add some more docs for the messages.
3445
3446         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3447         (gst_base_sink_query):
3448         Add some more debugging.
3449
3450         * tools/gst-launch.c: (event_loop):
3451         When interrupting, don't try to set pipeline to PAUSED twice.
3452
3453 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
3454
3455         
3456         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
3457         (bin_handle_async_start), (gst_bin_handle_message_func):
3458         Move ASYNC_START message posting to where it belongs, similar to
3459         async_done. 
3460         Don't post ASYNC_START when we are in error. 
3461         Post ASYNC_START when we added an async element to a bin.
3462
3463 2007-08-14  Julien MOUTTE  <julien@moutte.net>
3464
3465         * gst/gstindex.c: (gst_index_add_association): Fix index entry
3466         generation from vargs. Fixes #466595.
3467
3468 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
3469
3470         * gst/gstbin.c: (gst_bin_element_set_state):
3471         Always change the state of a NO_PREROLL element even if it has ASYNC
3472         elements inside (in case of a bin).
3473
3474         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
3475         Unit test for this case.
3476
3477 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
3478
3479         * libs/gst/check/gstbufferstraw.c:
3480         * libs/gst/check/gstcheck.h:
3481         * libs/gst/controller/gstcontroller.c:
3482         * libs/gst/controller/gstcontrolsource.h:
3483         * libs/gst/controller/gstlfocontrolsource.h:
3484         * plugins/elements/gstcapsfilter.h:
3485         * plugins/elements/gstfdsink.h:
3486         * plugins/elements/gstfdsrc.h:
3487           Add more missing docs.
3488
3489 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
3490
3491         * gst/gststructure.c:
3492         Add Since tag to docs.
3493
3494 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
3495
3496         * docs/gst/gstreamer-sections.txt:
3497         * gst/gststructure.c: (gst_structure_get_uint):
3498         * gst/gststructure.h:
3499         Add function to get uint from a structure.
3500         API: gst_structure_get_uint()
3501
3502 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
3503
3504         * gst/gstcaps.c: (gst_caps_set_simple_valist),
3505         (gst_caps_intersect):
3506         Fix proper check for simple caps.
3507
3508 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
3509
3510         * docs/gst/Makefile.am:
3511         * docs/libs/Makefile.am:
3512           Remove cruft and do some cleanups.
3513
3514         * docs/gst/gstreamer-docs.sgml:
3515         * docs/libs/gstreamer-libs-docs.sgml:
3516           Prepare for comming gtkdoc features (rebase against online docs).
3517
3518 2007-08-10  Michael Smith <msmith@fluendo.com>
3519
3520         * docs/gst/gstreamer-sections.txt:
3521           Add gst_registry_add_path to docs.
3522
3523 2007-08-10  Michael Smith <msmith@fluendo.com>
3524
3525         * gst/gstregistry.h:
3526           Add gst_registry_add_path, which was missing from this header.
3527
3528 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
3529
3530         * libs/gst/controller/gstlfocontrolsource.c:
3531           Printf format fix.
3532
3533 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
3534
3535         * libs/gst/base/gstbasesink.c:
3536           Don't send an async_start message during downwards state change if 
3537           target state is less than READY
3538
3539 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3540
3541         translated by: Gabor Kelemen <kelemeng@gnome.hu>
3542
3543         * po/LINGUAS:
3544         * po/hu.po:
3545           Added Hungarian translation.
3546
3547 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3548
3549         * po/fi.po:
3550         * po/it.po:
3551         * po/nl.po:
3552         * po/sv.po:
3553         * po/uk.po:
3554           Updated translations.
3555
3556 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
3557
3558         * libs/gst/controller/Makefile.am:
3559         Dist gstlfocontrolsourceprivate.h
3560
3561 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
3562
3563         * docs/libs/gstreamer-libs.types:
3564         Don't register the enum type gst_lfo_waveform_get_type() in the
3565         .types file - only GObject derived types belong.
3566
3567 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
3568
3569         Patch by: <arenevier at fdn dot fr>
3570
3571         * gst/gstbuffer.h:
3572         Remove comma from last element in enum to avoid compile errors when
3573         using -pendantic. Fixes #464366.
3574
3575 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
3576
3577         * docs/design/part-TODO.txt:
3578         Add some more TODO items
3579
3580         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
3581         Improve debugging.
3582
3583         * gst/gstcaps.c: (gst_caps_intersect):
3584         Optimize trivial intersection case between identical caps pointers.
3585
3586         * gst/gstelement.c: (gst_element_continue_state),
3587         (gst_element_set_state_func):
3588         * gst/gstpad.c:
3589         Fix spelling and grammar mistakes.
3590
3591 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
3592
3593         * po/POTFILES.in:
3594         * po/POTFILES.skip:
3595           Update POTFILES. Fixes #461599.
3596
3597 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
3598
3599         * gst/gst.c:
3600         Fix confusing typo in debug output.
3601
3602 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
3603
3604         reviewed by: Stefan Kost <ensonic@users.sf.net>
3605
3606         * libs/gst/controller/Makefile.am:
3607         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
3608         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
3609         (gst_lfo_control_source_new),
3610         (gst_lfo_control_source_set_waveform),
3611         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
3612         (gst_lfo_control_source_finalize),
3613         (gst_lfo_control_source_dispose),
3614         (gst_lfo_control_source_set_property),
3615         (gst_lfo_control_source_get_property),
3616         (gst_lfo_control_source_class_init):
3617         * libs/gst/controller/gstlfocontrolsource.h:
3618         * libs/gst/controller/gstlfocontrolsourceprivate.h:
3619         API: Add GstLFOControlSource, a control source that gives values
3620         for specific timestamps based on several periodic waveforms.
3621         Fixes #459717.
3622
3623         * tests/check/libs/controller.c: (GST_START_TEST),
3624         (gst_controller_suite):
3625         * docs/libs/gstreamer-libs-docs.sgml:
3626         * docs/libs/gstreamer-libs-sections.txt:
3627         * docs/libs/gstreamer-libs.types:
3628         Add documentation and unit tests for GstLFOControlSource.
3629
3630 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
3631
3632         * configure.ac:
3633         Back to CVS
3634
3635 === release 0.10.14 ===
3636
3637 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
3638
3639         * configure.ac:
3640           releasing 0.10.14, "Breathing Vacuum"
3641
3642 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
3643
3644         * gst/gstelement.c: (gst_element_class_set_details_simple):
3645         * gst/gstelement.h:
3646           Make strings passed to gst_element_class_set_details_simple()
3647           constant, as they should be (#462752).
3648
3649 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
3650
3651         * gst/gstbin.c: (gst_bin_change_state_func),
3652         (bin_handle_async_done), (gst_bin_handle_message_func):
3653         Don't forget about the fact that some element went ASYNC even after a
3654         resync. This makes us post the ASYNC_DONE message correctly.
3655         Fixes #462558.
3656
3657 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3658
3659         * gst/gstregistry.c: (gst_registry_add_feature):
3660         When replacing an existing feature in the registry, make sure to
3661         continue holding a reference until we've replaced the name string
3662         within our feature hash table. Make sure to use g_hash_table_replace
3663         instead of g_hash_table_insert to ensure the new name string is used
3664         as a key instead of the old one that we're about to free.
3665         Fixes: #462085
3666
3667 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3668
3669         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3670         (gst_plugin_feature_set_name):
3671         Revert patch from #459466 until after the release and we can work
3672         out exactly what the problem is (if any).
3673
3674 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
3675
3676         * docs/gst/gstreamer-sections.txt:
3677         * gst/gsttaglist.c:
3678         * gst/gsttaglist.h:
3679           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
3680
3681 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
3682
3683         * docs/libs/Makefile.am:
3684         Include our build-prefix libs and includes before the generic ones to
3685         avoid linking against the installed libs when we want the build-tree
3686         ones.
3687
3688 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
3689
3690         Patch by: Steve Fink  <sphink gmail com>
3691
3692         * docs/pwg/building-testapp.xml:
3693           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
3694           if people try to build or install the example from the plugin
3695           template against a GStreamer from package using the configure
3696           defaults.
3697
3698 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
3699
3700         Patch by: Steve Fink  <sphink gmail com>
3701
3702         * tools/gst-inspect.1.in:
3703           Document --print-all and --print-plugin-auto-install-info command
3704           line options in man page.
3705
3706 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
3707
3708         * docs/gst/gstreamer-sections.txt:
3709         Add docs for new api function.
3710
3711 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
3712
3713         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
3714         * gst/gstelementfactory.h:
3715         API: gst_element_factory_has_interface()
3716         Added method to check if an element factory implements a named
3717         interface.
3718
3719 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
3720
3721         * configure.ac:
3722         * docs/gst/gstreamer.types.in:
3723           Another conditional doc check.
3724
3725         * gst/gstmessage.c:
3726         * gst/gstparamspecs.h:
3727         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3728         * gst/gstvalue.c:
3729         * gst/gstxml.h:
3730           API-doc fixes.
3731
3732 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3733
3734         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
3735         (gst_registry_binary_load_feature),
3736         (gst_registry_binary_load_plugin),
3737         (gst_registry_binary_read_cache):
3738           Print error just once and with additional info.
3739
3740 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3741
3742         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3743         (helper_find_suggest), (helper_find_get_length),
3744         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
3745         (gst_type_find_helper_for_buffer):
3746           Cleanup the typefindhelper code and add private doc comments.
3747
3748 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
3749
3750         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3751         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
3752         Fix capsfilter for cases where the caps set on capsfilter will provide
3753         additional information.
3754         Fixes #449197
3755
3756 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3757
3758         * gst/gsttypefindfactory.c:
3759           Fix docs that recommened wrong function to use.
3760
3761 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3762
3763         * tools/gst-inspect.c: (print_plugin_features):
3764           Also give media-type for typefinders in element output.
3765
3766 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3767
3768         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
3769         (gst_registry_remove_features_for_plugin_unlocked),
3770         (gst_registry_add_feature), (gst_registry_remove_feature),
3771         (gst_registry_lookup_feature_locked):
3772         * gst/gstregistry.h:
3773           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
3774           Fixes #459501.
3775
3776 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3777
3778         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3779         (gst_plugin_feature_set_name):
3780           Avoid double memory usage for pluginfeature names. Fixes #459466.
3781
3782 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
3783
3784         * gst/gstpad.h:
3785           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
3786           driving the pipeline may need to explicitly check for NOT_LINKED as
3787           well, since IS_FATAL doesn't cover that.
3788
3789 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
3790
3791         * docs/pwg/advanced-types.xml:
3792           Fix typo and duplicate entry in video formats list.
3793
3794 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
3795
3796         * libs/gst/controller/gstinterpolation.c:
3797         Also round to the nearest int when using cubic interpolation.
3798
3799 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
3800
3801         * libs/gst/controller/gstinterpolation.c:
3802         When linearly interpolating integer types, round to the nearest int
3803         by adding 0.5. Don't do it for float/double types.
3804         Fixes the failing controller test on my machine, which is somehow
3805         rounding differently than on the buildbots.
3806
3807 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3808
3809         * tools/gst-plot-timeline.py:
3810           Better log parsing (categories can have -). Adjust text vs. lines, so
3811           that they span the same y-range.        
3812
3813 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3814
3815         * docs/random/ensonic/audiobaseclasses.txt:
3816         * docs/random/ensonic/dynlink.txt:
3817         * docs/random/ensonic/profiling.txt:
3818           Save my thoughts.
3819
3820         * docs/random/moving-plugins:
3821           Add note to use g_assert type macros.
3822
3823 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3824
3825         * configure.ac:
3826         * libs/gst/check/Makefile.am:
3827           Add libm check as we use in for plugins.
3828
3829 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
3830
3831         * gst/gstbin.c: (gst_bin_continue_func):
3832         Check that the state_cookie hasn't changed since the continue_func
3833         was scheduled. Avoids problems where the state changes back to
3834         something it shouldn't be because it was changed in the meantime.
3835
3836 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
3837
3838         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
3839         (gst_registry_binary_save_string),
3840         (gst_registry_binary_save_pad_template),
3841         (gst_registry_binary_save_feature),
3842         (gst_registry_binary_save_plugin),
3843         (gst_registry_binary_load_feature),
3844         (gst_registry_binary_load_plugin),
3845         (gst_registry_binary_read_cache):
3846           Fix memory leak. Be less verbose in the log.
3847
3848 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3849
3850         * tests/check/elements/.cvsignore:
3851         Add file to cvsignore as commanded.
3852
3853 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3854
3855         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
3856         (mq_dummypad_event), (run_output_order_test):
3857         Use a GStaticMutex to protect all cases where libcheck
3858         fail_if/fail_unless macros might be called from multiple threads
3859         simultaneously to avoid errors like:
3860           "check_pack.c:107: :-1081725400:Bad message type arg"
3861
3862 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3863
3864         * tests/check/pipelines/stress.c: (GST_START_TEST):
3865         Make sure we set the pipeline back to the NULL state before
3866         dropping our final reference.
3867
3868 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3869
3870         * tests/check/elements/tee.c: (GST_START_TEST):
3871         Make the tee stress-test a little less stressful so it doesn't just
3872         time out on slow-machines, and remove a small race when it's starting 
3873         up by adding a get_state() call.
3874
3875 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
3876
3877         * gst/gst.c:
3878           Avoid reading registry twice on startup. Fixes #457322.
3879
3880 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
3881
3882         * pkgconfig/gstreamer-check-uninstalled.pc.in:
3883         * pkgconfig/gstreamer-check.pc.in:
3884         Substitute the CFLAGS for libcheck into our .pc file too so that
3885         dependent modules will pick it up properly if libcheck is installed
3886         into some other prefix.
3887
3888 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
3889
3890         * configure.ac:
3891         Revert the pkg-config check for libcheck, since it pulls in the
3892         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
3893         a proper solution, either from the check project, or something else.
3894
3895 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
3896
3897         * configure.ac:
3898           Use pkg-config to locate check.
3899
3900 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
3901
3902         * gst/gsttaglist.c:
3903           Fix doc syntax.
3904
3905         * gst/gstutils.c:
3906         * gst/gstutils.h:
3907           Add deprecation guards.
3908
3909         * libs/gst/base/gstcollectpads.h:
3910           Don't document object (this is implicitly private).
3911
3912 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
3913
3914         * gst/gststructure.c: (gst_structure_parse_value):
3915           When deserialising foo=bar without a type cast, check if it's a
3916           boolean before falling back to a string type, otherwise things like
3917           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
3918           because the filtercaps end up having a signed=(string)true field,
3919           which causes problems later when intersection caps.
3920
3921         * tests/check/gst/gststructure.c: (GST_START_TEST):
3922           Add a unit test for this.
3923
3924 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
3925
3926         Reviewed by: Stefan Kost <ensonic@users.sf.net>
3927
3928         * libs/gst/controller/Makefile.am:
3929         * libs/gst/controller/gstcontroller.c:
3930         (gst_controlled_property_add_interpolation_control_source),
3931         (gst_controlled_property_new), (gst_controlled_property_free),
3932         (gst_controller_find_controlled_property),
3933         (gst_controller_new_valist), (gst_controller_new_list),
3934         (gst_controller_new), (gst_controller_remove_properties_valist),
3935         (gst_controller_remove_properties_list),
3936         (gst_controller_remove_properties),
3937         (gst_controller_set_property_disabled),
3938         (gst_controller_set_disabled), (gst_controller_set_control_source),
3939         (gst_controller_get_control_source), (gst_controller_get),
3940         (gst_controller_sync_values), (gst_controller_get_value_array),
3941         (_gst_controller_dispose), (gst_controller_get_type),
3942         (gst_controlled_property_set_interpolation_mode),
3943         (gst_controller_set), (gst_controller_set_from_list),
3944         (gst_controller_unset), (gst_controller_unset_all),
3945         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
3946         * libs/gst/controller/gstcontroller.h:
3947         * libs/gst/controller/gstcontrollerprivate.h:
3948         * libs/gst/controller/gstcontrolsource.c:
3949         (gst_control_source_class_init), (gst_control_source_init),
3950         (gst_control_source_get_value),
3951         (gst_control_source_get_value_array), (gst_control_source_bind):
3952         * libs/gst/controller/gstcontrolsource.h:
3953         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
3954         (gst_object_get_control_source):
3955         * libs/gst/controller/gstinterpolation.c:
3956         (gst_interpolation_control_source_find_control_point_node),
3957         (gst_interpolation_control_source_get_first_value),
3958         (_interpolate_none_get), (interpolate_none_get),
3959         (interpolate_none_get_boolean_value_array),
3960         (interpolate_none_get_enum_value_array),
3961         (interpolate_none_get_string_value_array),
3962         (_interpolate_trigger_get), (interpolate_trigger_get),
3963         (interpolate_trigger_get_boolean_value_array),
3964         (interpolate_trigger_get_enum_value_array),
3965         (interpolate_trigger_get_string_value_array):
3966         * libs/gst/controller/gstinterpolationcontrolsource.c:
3967         (gst_control_point_free), (gst_interpolation_control_source_reset),
3968         (gst_interpolation_control_source_new),
3969         (gst_interpolation_control_source_set_interpolation_mode),
3970         (gst_interpolation_control_source_bind),
3971         (gst_control_point_compare), (gst_control_point_find),
3972         (gst_interpolation_control_source_set_internal),
3973         (gst_interpolation_control_source_set),
3974         (gst_interpolation_control_source_set_from_list),
3975         (gst_interpolation_control_source_unset),
3976         (gst_interpolation_control_source_unset_all),
3977         (gst_interpolation_control_source_get_all),
3978         (gst_interpolation_control_source_get_count),
3979         (gst_interpolation_control_source_init),
3980         (gst_interpolation_control_source_finalize),
3981         (gst_interpolation_control_source_dispose),
3982         (gst_interpolation_control_source_class_init):
3983         * libs/gst/controller/gstinterpolationcontrolsource.h:
3984         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3985         API: Refactor GstController into the core controller which can take
3986         a GstControlSource for providing actual values for timestamps.
3987         Implement a interpolation control source and use this for backward
3988         compatibility, deprecate a bunch of functions that are now handled
3989         by GstControlSource or GstInterpolationControlSource.
3990         Make it possible to disable the controller completely or only for
3991         specific properties. Fixes #450711.
3992         * docs/libs/gstreamer-libs-docs.sgml:
3993         * docs/libs/gstreamer-libs-sections.txt:
3994         * docs/libs/gstreamer-libs.types:
3995         Add new functions and classes to the docs.
3996         * tests/check/libs/controller.c: (GST_START_TEST),
3997         (gst_controller_suite):
3998         * tests/examples/controller/audio-example.c: (main):
3999         Port unit test and example to the new API and add some new
4000         unit tests.
4001
4002 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
4003
4004         Patch by: Mark Nauwelaerts <manauw at skynet be>
4005
4006         * plugins/elements/gstmultiqueue.c:
4007         (gst_multi_queue_get_internal_links), (apply_buffer),
4008         (single_queue_overrun_cb), (gst_single_queue_new):
4009         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
4010         the pipeline layout can be tracked correctly. Fixes #453732.
4011
4012 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
4013
4014         * docs/gst/Makefile.am:
4015         * docs/libs/Makefile.am:
4016         * docs/plugins/Makefile.am:
4017           Simplify --extra-dir as gtkdoc scans recursively.
4018
4019 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
4020
4021         * tools/gst-launch.c: (main):
4022         When we got an error, there is no point in waiting for preroll when
4023         shutting down.
4024
4025 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
4026
4027         * plugins/elements/gsttee.c: (gst_tee_base_init),
4028         (gst_tee_request_new_pad), (gst_tee_release_pad),
4029         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
4030         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
4031         (gst_tee_chain):
4032         Be a lot smarter when deciding what srcpad to use for proxying
4033         the buffer_alloc. Also handle pad added/removed when doing so.
4034         Fixes #357959.
4035         Keep track of what pads we already pushed on in case we have pads
4036         added/removed while pushing. Fixes #374639 
4037
4038         * tests/check/Makefile.am:
4039         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
4040         (tee_suite):
4041         Added unit test for pad resync.
4042
4043 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4044
4045         * po/nl.po:
4046         * po/sv.po:
4047           Updated translations.
4048
4049 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4050
4051         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
4052
4053         * po/LINGUAS:
4054         * po/fi.po:
4055           Added new Finnish translation.
4056
4057 2007-06-28  Wim Taymans  <wim@fluendo.com>
4058
4059         * plugins/elements/gstmultiqueue.c: (apply_buffer),
4060         (single_queue_overrun_cb):
4061         When figuring out when a queue is filled, use our internal time estimate
4062         based on segments, just like check_full does.
4063
4064 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
4065
4066         * gst/gstminiobject.c: (gst_mini_object_get_type):
4067           Remove 3 do-nothing methods.
4068
4069 2007-06-27  Wim Taymans  <wim@fluendo.com>
4070
4071         Patch by: Tim Angus <tim at ngus dot net>
4072
4073         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
4074         (gst_capsfilter_set_property):
4075         Take a reference instead of a copy when setting "caps".
4076         Fix documentation to clarify this behaviour. Fixes #449414.
4077
4078 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
4079
4080         * gst/gstindexfactory.c: (gst_index_factory_get_type):
4081         * gst/gstplugin.c: (gst_plugin_init):
4082         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
4083         * gst/gstquery.c: (gst_query_get_type):
4084         * gst/gstregistry.c: (gst_registry_init):
4085         * gst/gsturi.c: (gst_uri_handler_base_init):
4086           Remove empty instance_init() functions to save relocs and lessen the
4087           noise. Remove some of the function prototypes that are doubled by
4088           G_DEFINE_TYPE.
4089           
4090 2007-06-27  Wim Taymans  <wim@fluendo.com>
4091
4092         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
4093
4094         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
4095         Add peer and direction in the XML serialisation of ghostpads.
4096         Fixes #449226.
4097
4098 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
4099
4100         * configure.ac:
4101           Preserve useful information, thanks Tim.
4102
4103 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
4104
4105         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
4106         (gst_single_queue_flush), (apply_segment), (apply_buffer),
4107         (gst_single_queue_push_one), (gst_multi_queue_loop),
4108         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
4109         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
4110         (compute_high_id), (gst_single_queue_new):
4111         * plugins/elements/gstmultiqueue.h:
4112         Take the multiqueue lock when updating the fill level so we don't get
4113         confused. 
4114
4115         After applying a buffer or event on the src pad segment, make sure to
4116         call gst_data_queue_limits_changed() to get the data queue to unblock
4117         and check the filled state again.
4118         
4119         Rework the not-linked pad handling so the logic is that not-linked 
4120         pads can push as fast as they like, but only so they never get 
4121         ahead of any linked pads.
4122
4123         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
4124         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
4125         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
4126
4127         Add a test to check that not-linked pads always stay behind
4128         linked pads.
4129
4130         Fixes: #430682
4131
4132 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
4133
4134         * docs/random/release:
4135           Some updates to the release procedure.
4136
4137 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
4138
4139         * gst/gstelementfactory.c: (__gst_element_details_clear):
4140           Microoptimization that saves stunning 80 bytes.
4141
4142 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
4143
4144         * docs/plugins/gstreamer-plugins.args:
4145         * docs/plugins/inspect/plugin-coreelements.xml:
4146         * docs/plugins/inspect/plugin-coreindexers.xml:
4147           Update docs with caps info.
4148
4149 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4150
4151         * po/it.po:
4152           Updated Italian translation.
4153
4154 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4155
4156         * ChangeLog:
4157         * po/vi.po:
4158           Update Vietnamese translations.
4159
4160 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4161
4162         * libs/gst/base/gstbasesink.c:
4163           Remove unused signal enum.
4164
4165 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
4166
4167         * docs/gst/gstreamer-sections.txt:
4168         * gst/gstelement.c:
4169         * gst/gstutils.c: (gst_type_register_static_full):
4170         Beef up and include the docs for gst_type_register_static_full and
4171         gst_element_class_set_details_simple and add the API keyword
4172         in the ChangeLog.
4173
4174 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
4175
4176         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
4177         (update_time_level), (gst_single_queue_push_one),
4178         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
4179         (single_queue_overrun_cb), (single_queue_underrun_cb),
4180         (single_queue_check_full):
4181         Fix setting max-* properties after adding queues.
4182         Use IS_FILLED for checking visible items.
4183         Signal overrun if multiple queues overrun.
4184         Add extra debug output.
4185         Patch by: Wim Taymans <wim@fluendo.com>
4186
4187 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
4188
4189         * gst/gstelement.c: (gst_element_class_set_details_simple):
4190         * gst/gstelement.h:
4191         * gst/gstutils.c: (gst_type_register_static_full):
4192         * gst/gstutils.h:
4193         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
4194         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
4195         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
4196         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
4197         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
4198         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
4199         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
4200         * plugins/elements/gstidentity.c: (gst_identity_base_init):
4201         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
4202         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4203         (apply_buffer), (gst_queue_chain):
4204         * plugins/elements/gsttee.c: (gst_tee_base_init):
4205         * plugins/elements/gsttypefindelement.c:
4206         (gst_type_find_element_base_init),
4207         (gst_type_find_element_class_init):
4208           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
4209           API: add gst_type_register_static_full
4210           API: add gst_element_class_set_details_simple
4211
4212 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4213
4214         * docs/pwg/advanced-types.xml:
4215           Fix typo in iana.org URI.
4216
4217 2007-06-19  Andy Wingo  <wingo@pobox.com>
4218
4219         * tests/check/pipelines/simple-launch-lines.c
4220         (test_state_change_returns): Enable pull-mode tests now that
4221         basesink has been fixed.
4222
4223         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
4224         Changed from gst_base_sink_is_prerolled, reversing the sense of
4225         the return value. Returns FALSE also if the sink is in pull mode,
4226         in which case it needs no preroll.
4227         (gst_base_sink_query, gst_base_sink_change_state): Update for
4228         needs_preroll change.
4229         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
4230         chaining up, in which we return SUCCESS directly if we activated
4231         in pull mode instead of ASYNC. Involves countering an async_start
4232         message sent before chaining up; not sure if this is correct, in
4233         an ideal world we only send async-start when activating in push
4234         mode.
4235
4236         * tests/check/pipelines/simple-launch-lines.c
4237         (test_state_change_returns): New test, partially disabled until
4238         basesink is fixed.
4239
4240 2007-06-19  Wim Taymans  <wim@fluendo.com>
4241
4242         * plugins/elements/gstmultiqueue.c: (apply_buffer),
4243         (gst_multi_queue_sink_event):
4244         Fix event leak.
4245
4246 2007-06-19  Wim Taymans  <wim@fluendo.com>
4247
4248         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4249         (gst_bin_change_state_func), (bin_push_state_continue),
4250         (bin_handle_async_start), (bin_handle_async_done),
4251         (gst_bin_handle_message_func):
4252         Move the common code for posting state-change messages into
4253         one function.
4254         Broadcast the state signal after we posted the messages.
4255         Mark the bin as busy when it's doing a state-change.
4256         Make sure async-start/done messages don't interfere with the bin's
4257         state when it's busy.
4258         After the state change, let the bin check which elements completed the
4259         state change while it was busy so that it can update its state.
4260
4261 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
4262
4263         * docs/random/release:
4264         Add a note about updating the doap file to the release checklist
4265
4266 2007-06-18  Wim Taymans  <wim@fluendo.com>
4267
4268         * plugins/elements/gstmultiqueue.c: (apply_buffer),
4269         (gst_single_queue_push_one), (gst_multi_queue_chain),
4270         (gst_multi_queue_sink_event):
4271         Make sure we don't reference the buffer/event after we have given away
4272         ownership in the queue.
4273
4274 2007-06-18  Wim Taymans  <wim@fluendo.com>
4275
4276         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
4277         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
4278         Update queue state _after_ adding the item in the queue because else we
4279         could end up being full without the element added yet.
4280
4281 2007-06-18  Wim Taymans  <wim@fluendo.com>
4282
4283         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4284         (gst_bin_remove_func), (gst_bin_get_state_func),
4285         (gst_bin_element_set_state), (gst_bin_continue_func),
4286         (bin_push_state_continue), (bin_handle_async_start),
4287         (bin_handle_async_done), (gst_bin_handle_message_func):
4288         * gst/gstbin.h:
4289         Immediatly commit the toplevel bin state when receiving an async-done
4290         message. This enables us to avoid spawning a thread to commit the state
4291         in some common cases and it also avoids some races.
4292         Avoid spawning a state thread when adding/removing async elements to a
4293         toplevel bin. Instead we immediatly update the bin state.
4294         Get rid of iterating all the children when getting the state in the bin
4295         because it is now always up-to-date.
4296         Fix bug where locked elements would always return _SUCCESS even it they
4297         returned NO_PREROLL before being locked.
4298         Fix the order of the state_change, async-start/done messages that was
4299         sometimes incorrect.
4300         Mark the state_dirty field as deprecated, we don't need it anymore as we
4301         are always up-to-date.
4302
4303         * gst/gstelement.c: (gst_element_get_state_func),
4304         (gst_element_continue_state):
4305         Small debug inprovements.
4306         Return the previous element state return when nothing is pending instead
4307         of blindly returning SUCCESS.
4308
4309         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
4310         (gst_sinks_suite):
4311         Add a whole bunch of new testcases.
4312
4313 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4314
4315         * po/uk.po:
4316         * po/vi.po:
4317           Update translations.
4318
4319 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
4320
4321         * gst/gstpad.c:
4322         Fix typo in the docs.
4323
4324 2007-06-15  Wim Taymans  <wim@fluendo.com>
4325
4326         * docs/libs/gstreamer-libs-sections.txt:
4327         Add docs for new methods.
4328
4329 2007-06-15  Wim Taymans  <wim@fluendo.com>
4330
4331         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
4332         (gst_multi_queue_item_new):
4333         Don't use GSlice because we don't depend on >= 2.10 yet.
4334
4335 2007-06-15  Wim Taymans  <wim@fluendo.com>
4336
4337         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
4338         (update_time_level), (apply_segment), (apply_buffer),
4339         (gst_single_queue_push_one), (gst_multi_queue_item_new),
4340         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
4341         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
4342         (single_queue_underrun_cb), (single_queue_check_full):
4343         Remove debug printf.
4344
4345 2007-06-15  Wim Taymans  <wim@fluendo.com>
4346
4347         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
4348         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
4349         (gst_data_queue_set_flushing), (gst_data_queue_push),
4350         (gst_data_queue_pop), (gst_data_queue_drop_head),
4351         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
4352         * libs/gst/base/gstdataqueue.h:
4353         Various cleanups.
4354         Added methods to get the current levels and to inform the queue that the
4355         'full' limits changed.
4356
4357         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
4358         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
4359         (gst_single_queue_flush), (update_time_level), (apply_segment),
4360         (apply_buffer), (gst_single_queue_push_one),
4361         (gst_multi_queue_item_steal_object),
4362         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
4363         (gst_multi_queue_loop), (gst_multi_queue_chain),
4364         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
4365         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
4366         (gst_multi_queue_src_query), (single_queue_overrun_cb),
4367         (single_queue_underrun_cb), (single_queue_check_full),
4368         (gst_single_queue_new):
4369         Keep track of time in the queue by measuring the difference between
4370         running_time on input and output. This gives more accurate results and
4371         can compensate for segments correctly.
4372         Make a queue by default only 5 buffers deep. We will now increase the
4373         buffer size depending on the filledness of the other queues.
4374         Factor out commong flush code.
4375         Make sure we don't add additional refcounts to buffers when we can avoid
4376         it.
4377         Propagate GstFlowReturn differently.
4378         Use GSlice for intermediate GstMultiQueueItems.
4379         Keep track of EOS.
4380         Resize queues on over and underruns based on filled level of other
4381         queues.
4382         When checking if the queue is filled, prefer to measure in time if we
4383         can and fall back to bytes when no time is known.
4384
4385         * plugins/elements/gstqueue.c:
4386         Fix return value.
4387
4388 2007-06-15  Wim Taymans  <wim@fluendo.com>
4389
4390         * libs/gst/base/gstbasetransform.c:
4391         (gst_base_transform_sink_event):
4392         Work around the brokenness of the event vmethod in basetransform. Prefer
4393         to return TRUE when the subclass returned FALSE (meaning don't forward
4394         the event). 
4395
4396         * libs/gst/base/gstbasetransform.h:
4397         Clarify the docs.
4398
4399 2007-06-15  Wim Taymans  <wim@fluendo.com>
4400
4401         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
4402         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4403         (gst_base_src_default_query), (gst_base_src_get_range),
4404         (gst_base_src_start):
4405         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
4406         Improve debugging.
4407
4408 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
4409
4410         * docs/pwg/advanced-types.xml:
4411           Added more formats to caps table.
4412
4413 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
4414
4415         * tools/gst-launch.c: (main):
4416           Remove crufy code. GOption does not need this workaround.
4417
4418 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
4419
4420         * libs/gst/controller/gstcontroller.c:
4421         (gst_controlled_property_set_interpolation_mode):
4422           Fix wrong getter for enums in controller.
4423
4424 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4425
4426         * libs/gst/check/gstcheck.c: (gst_check_init):
4427           Intercept criticals and warnings in the Gst-Phonon log domain, so
4428           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
4429           well.
4430         
4431 2007-06-14  Edward Hervey  <edward@fluendo.com>
4432
4433         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
4434         Since this file doesn't include "gst.h" it will not go through the
4435         macros that disable GST_LOG if debugging was disabled.
4436
4437 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4438
4439         * libs/gst/check/Makefile.am:
4440         * libs/gst/check/gstcheck.h:
4441         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4442         * pkgconfig/gstreamer-check.pc.in:
4443           Ugly 'fix' for the controller unit test on the p5 bot: in
4444           fail_unless_equals_float() check whether the values are 'almost
4445           equal' by allowing a small absolute error, which should be good
4446           enough for our use cases (normal numbers and values close to 0).
4447           Proper fixage left to floating point arithmetic aficionados.
4448
4449 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
4450
4451         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
4452         (gst_base_sink_render_object), (gst_base_sink_get_position):
4453           Add two breaks thats where missing.
4454
4455 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4456
4457         * docs/libs/gstreamer-libs-sections.txt:
4458         * libs/gst/check/gstcheck.h:
4459           API: add fail_unless_equals_float() and assert_equals_float().
4460           Add documentation for some of the macros.
4461
4462         * tests/check/libs/controller.c: (GST_START_TEST):
4463           Use newly-added asserts.
4464
4465 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
4466
4467         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
4468           Show the caps change in the log to help spotting the case of not
4469           exactly matching caps.
4470
4471 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4472
4473         * docs/pwg/building-boiler.xml:
4474           Fix typos, spotted by Thijs Vermeir (#447190).
4475
4476 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
4477
4478         * docs/plugins/tmpl/.cvsignore:
4479         Ignore file to keep the buildbots happy
4480
4481 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
4482
4483         * docs/plugins/Makefile.am:
4484         * docs/plugins/gstreamer-plugins-docs.sgml:
4485         * docs/plugins/gstreamer-plugins-sections.txt:
4486         Pull fdsink into the docs too.
4487
4488 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
4489
4490         * libs/gst/controller/gstinterpolation.c:
4491         Actually use the new functions with min/max checks for the trigger and
4492         none interpolation modes for get() and get_value_array() instead of
4493         just the latter.
4494
4495 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
4496
4497         * libs/gst/controller/gstcontroller.c:
4498         (gst_controlled_property_free):
4499         Unset the minimum and maximum GValues when freeing the corresponding
4500         GstControllerProperty struct.
4501
4502 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
4503
4504         * libs/gst/controller/gstcontroller.c:
4505         (gst_controlled_property_new):
4506         * libs/gst/controller/gstcontrollerprivate.h:
4507         * libs/gst/controller/gstinterpolation.c:
4508         (gst_controlled_property_find_control_point_node),
4509         (interpolate_none_get), (interpolate_none_get_enum_value_array),
4510         (interpolate_none_get_string_value_array),
4511         (interpolate_trigger_get),
4512         (interpolate_trigger_get_enum_value_array),
4513         (interpolate_trigger_get_string_value_array):
4514         Protect against values larger or smaller than the minimum or maximum
4515         allowed value for the property when using values that can be compared.
4516
4517         Optimize trigger interpolator a bit by taking the last requested value
4518         into account instead of always looping through the complete list.
4519
4520         Fix coding style a bit, everywhere else we use "return foo" instead
4521         of "return (foo)".
4522         
4523         * tests/check/libs/controller.c: (GST_START_TEST),
4524         (gst_controller_suite):
4525         Add unit test for the protection against too large or too small
4526         values.
4527
4528 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
4529
4530         * docs/random/slomo/controller.txt:
4531         Add some thoughts about the future of the controller.
4532
4533 2007-06-08  Wim Taymans  <wim@fluendo.com>
4534
4535         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4536         Don't overflow in retimestamping code.
4537
4538 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
4539
4540         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
4541         Use gst_util_guint64_to_gdouble for conversions.
4542         * win32/common/libgstreamer.def:
4543         Add new exported functions.
4544
4545 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
4546
4547         * gst/gstutils.c:
4548           Small docs addition.
4549
4550 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4551
4552         * README:
4553           Remove that test line again.
4554
4555 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4556
4557         * README:
4558           Test commit mail sending.
4559
4560 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4561
4562         * configure.ac:
4563           Fix typo and test commit mail sending.
4564
4565 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4566
4567         * tests/examples/controller/audio-example.c:
4568           Improve comment and test commit mail sending.
4569
4570 2007-06-07  Wim Taymans  <wim@fluendo.com>
4571
4572         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
4573         (gst_bin_remove_func), (gst_bin_element_set_state),
4574         (bin_handle_async_start), (bin_handle_async_done),
4575         (gst_bin_handle_message_func):
4576         Add helper function to find messages.
4577         Generate the async-done messages together with the state change
4578         messages.
4579         Small cleanups in handling toplevel bins.
4580
4581 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4582
4583         * libs/gst/base/gstdataqueue.c:
4584         * libs/gst/base/gstdataqueue.h:
4585         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
4586         (gst_multi_queue_item_new), (gst_multi_queue_chain),
4587         (gst_multi_queue_sink_event):
4588         * tests/check/elements/multiqueue.c: (multiqueue_suite):
4589           Fix multiqueue leaking buffers and events when downstream or the
4590           queue are flushing. Make refcounting assumptions explicit and
4591           document them (shouldn't break existing code that uses it other than
4592           maybe leak miniobjects, but that already happens anyway). Add unit
4593           test for the most common flushing case. Fixes #423700.
4594           
4595 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
4596
4597         * libs/gst/controller/gstcontroller.c:
4598         Clarify docs: The get_all, get_value_array(s) functions
4599         don't modify the GObject properties.
4600
4601 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
4602
4603         * libs/gst/controller/gstcontroller.c:
4604         (gst_controlled_property_set_interpolation_mode),
4605         (gst_controlled_property_prepend_default),
4606         (gst_controlled_property_new), (gst_controller_set_unlocked),
4607         (gst_controller_set), (gst_controller_set_from_list),
4608         (gst_controller_unset), (gst_controller_unset_all):
4609         * libs/gst/controller/gstcontrollerprivate.h:
4610         * libs/gst/controller/gstinterpolation.c:
4611         Factor out the 'set' logic into gst_controller_set_unlocked for the
4612         gst_controller_set and gst_controller_set_from_list functions.
4613
4614         To make life of the interpolators easier always add a control point
4615         at timestamp zero with the default value.
4616
4617         In the linear interpolator make things more obvious by better variable
4618         naming (slope).
4619
4620         Implement cubic interpolation mode (by using a natural cubic spline)
4621         and map the quadratic interpolation mode to this too (as quadratic
4622         doesn't make much sense, see discussion on the list).
4623
4624         * tests/check/libs/controller.c: (GST_START_TEST),
4625         (gst_controller_suite):
4626         Add unit test for the cubic interpolation mode and check everywhere
4627         if the interpolation mode could be set as expected.
4628
4629 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4630
4631         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
4632           Don't use GLib-2.10 functions, we still depend on
4633           GLib-how-old-is-it-again-2.8.
4634
4635 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4636
4637         * docs/gst/gstreamer-sections.txt:
4638         * gst/Makefile.am:
4639         * gst/gst.c:
4640         * gst/gst.h:
4641         * gst/gstparamspecs.c: (_gst_param_fraction_init),
4642         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
4643         (_gst_param_fraction_values_cmp),
4644         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
4645         * gst/gstparamspecs.h:
4646         * gst/gstvalue.c:
4647         * tests/check/Makefile.am:
4648         * tests/check/gst/.cvsignore:
4649         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
4650         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
4651         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
4652         (GST_START_TEST), (gst_param_spec_suite):
4653           API: add GstParamSpecFraction, so elements can have fraction
4654           properties without lots of painful string parsing (#444648).
4655
4656 2007-06-05  Wim Taymans  <wim@fluendo.com>
4657
4658         * gst/gstobject.c: (gst_object_class_init):
4659         Fix signal signature.
4660
4661         * gst/gstsegment.c:
4662         Add small clarification in the api docs.
4663
4664         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
4665         States are protected with object lock.
4666
4667 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
4668
4669         * AUTHORS:
4670         I should probably be listed as an author by now.
4671
4672         * docs/random/release:
4673         Update the release doc
4674
4675 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
4676
4677         * gst/gstvalue.c:
4678           Make docs for gst_value_compare() mention return enums that
4679           actually exist.
4680
4681 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
4682
4683         * configure.ac:
4684           Back to CVS
4685
4686 === release 0.10.13 ===
4687
4688 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
4689
4690         * configure.ac:
4691           releasing 0.10.13, "With or without you"
4692
4693 2007-05-25  Wim Taymans  <wim@fluendo.com>
4694
4695         * gst/gstbin.c: (bin_handle_async_done):
4696         Make sure that the child bin stops after completing the async state
4697         change so that the parent can continue the state change to PLAYING.
4698         Fixes #441159.
4699
4700 2007-05-25  Wim Taymans  <wim@fluendo.com>
4701
4702         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4703         (unref_data), (gst_collect_pads_remove_pad),
4704         (gst_collect_pads_check_pads):
4705         Use additional refcounting to avoid crashes when dynamically adding and
4706         removing pads. Fixes #420206.
4707
4708 2007-05-24  Wim Taymans  <wim@fluendo.com>
4709
4710         * tools/gst-launch.c: (event_loop):
4711         When buffering goes from a two digit to a single digit number, make sure
4712         to remove the old second digit by writing a blank over it.
4713
4714 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
4715
4716         * libs/gst/base/gstdataqueue.c:
4717           Eliminate tabs and trailing comma in enum list; fix some typos.
4718
4719 2007-05-24  Wim Taymans  <wim@fluendo.com>
4720
4721         * tests/check/gst/gstbin.c: (GST_START_TEST):
4722         Allow refcount of 3 and 4 because some state thread might still be busy
4723         with it.
4724
4725 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
4726
4727         * plugins/elements/Makefile.am:
4728         * plugins/elements/gstmultiqueue.h:
4729         * plugins/elements/gstqueue.h:
4730           These are not installed headers, no need for padding.
4731
4732 2007-05-24  Wim Taymans  <wim@fluendo.com>
4733
4734         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4735         (gst_bin_continue_func):
4736         Enable latency for next release.
4737         Restore STATE_LOCK around recalc_state that was left out during the
4738         rewrite and could result in racy behaviour when _get_state and
4739         recalc_state are run concurrently. See #440463.
4740
4741 2007-05-23  Wim Taymans  <wim@fluendo.com>
4742
4743         * tests/check/gst/gstsystemclock.c: (store_callback),
4744         (GST_START_TEST):
4745         Improve test_async_order to also work when both timers are already
4746         expired when we get scheduled to check it.
4747
4748 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4749
4750         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
4751         (gst_bin_set_property), (gst_bin_get_property),
4752         (gst_bin_remove_func), (gst_bin_handle_message_func):
4753         * gst/gstbin.h:
4754           'private' is a c++ keyword, let's not use that in header files,
4755           otherwise c++ compilers will throw a tantrum.
4756
4757 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4758
4759         * plugins/elements/gstelements.c:
4760         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
4761         (gst_file_sink_get_current_offset):
4762         * plugins/indexers/gstindexers.c: (plugin_init):
4763           Use #ifdef for HAVE_XYZ for consistency.
4764
4765         * tests/check/Makefile.am:
4766         * tests/check/elements/.cvsignore:
4767         * tests/check/elements/filesink.c: (setup_filesink),
4768         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
4769           Add some unit tests for filesink.
4770
4771 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4772
4773         Patch by: Mark Nauwelaerts <manauw at skynet be>
4774
4775         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4776         (gst_file_sink_query), (gst_file_sink_do_seek),
4777         (gst_file_sink_get_current_offset), (gst_file_sink_render):
4778         * plugins/elements/gstfilesink.h:
4779           Fix position reporting; rename data_written member to current_pos to
4780           reflect its real meaning (fixes #412648).
4781
4782 2007-05-22  Edward Hervey  <edward@fluendo.com>
4783
4784         * docs/gst/gstreamer-sections.txt:
4785         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4786         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
4787         (gst_bin_remove_func), (gst_bin_handle_message_func):
4788         * gst/gstbin.h:
4789         Add a property for bins that handle the state change of their childs.
4790         Fixes #435880
4791
4792 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
4793
4794         * libs/gst/controller/gstinterpolation.c:
4795         Use an array of the correct type when using _get_value_array with
4796         linear interpolation.
4797
4798 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
4799
4800         * gst/gstelement.c (gst_element_requires_clock,
4801           gst_element_provides_clock, gst_element_request_pad,
4802           gst_element_class_set_details, gst_element_class_set_details_simple,
4803           gst_element_default_send_event, gst_element_abort_state,
4804           gst_element_continue_state, gst_element_set_state,
4805           gst_element_set_state_func, iterator_activate_fold_with_resync):
4806         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
4807           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
4808           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
4809           gst_pad_get_range, gst_pad_pull_range):
4810         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
4811           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
4812           GstPadActivateModeFunction, GstPadChainFunction,
4813           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
4814           GstPadFixateCapsFunction, GstPadTemplate):
4815         * gst/gstpipeline.c (gst_pipeline_change_state,
4816           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
4817           gst_pipeline_set_clock, gst_pipeline_auto_clock,
4818           gst_pipeline_get_delay):
4819           Whitespace and docs fixes.
4820
4821 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4822
4823         * libs/gst/controller/gstinterpolation.c:
4824         (interpolate_trigger_get_enum_value_array),
4825         (interpolate_trigger_get_string_value_array):
4826         Add support for retrieving value arrays when using the trigger
4827         interpolation mode. 
4828
4829 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4830
4831         * libs/gst/controller/gstcontroller.c:
4832         (gst_controller_get_value_array):
4833         * libs/gst/controller/gstcontroller.h:
4834         Clarify the docs of gst_controller_get_value_array(): The array where
4835         the values should be written to must be allocated as there seems to be
4836         no way to get the size of a random GType. This doesn't change any
4837         behaviour. Also fix some typos all over the place and remove an unused,
4838         commented function that is not necessary as g_object_set() could be
4839         used instead.
4840         * tests/check/libs/controller.c: (GST_START_TEST),
4841         (gst_controller_suite):
4842         Add unit test for gst_controller_get_value_array().
4843
4844 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
4845
4846         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4847
4848         Disable part of the gst_buffer_try_new_and_alloc test, because
4849         it can happily succeed on 64-bit systems where there's more address
4850         space available.
4851
4852 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4853
4854         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
4855         Add unit test for the improved caps checking from bug #421543.
4856
4857 2007-05-21  Wim Taymans  <wim@fluendo.com>
4858
4859         * docs/design/part-synchronisation.txt:
4860         Small addition.
4861
4862         * gst/gstbin.c: (gst_bin_query):
4863         * plugins/elements/gstqueue.c: (apply_segment):
4864         Improve debugging.
4865
4866         * gst/gstmessage.h:
4867         Improve docs.
4868
4869 2007-05-21  Wim Taymans  <wim@fluendo.com>
4870
4871         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
4872         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
4873         (gst_pad_configure_src):
4874         Added simple version of improved caps checking. It was previously
4875         assumed that a setcaps function would check the validity of the caps but
4876         people prefer us to check caps against the template automatically. 
4877         Fixes #421543.
4878
4879 2007-05-21  Wim Taymans  <wim@fluendo.com>
4880
4881         * libs/gst/base/gstbasetransform.h:
4882         Fix macro for locking/unlocking the transform lock.
4883
4884 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
4885
4886         * docs/plugins/tmpl/.cvsignore:
4887           Ignore more.
4888
4889 2007-05-18  Edward Hervey  <edward@fluendo.com>
4890
4891         * plugins/elements/gstqueue.c: (gst_queue_loop):
4892         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
4893         for the subtle art of warning a potentially blocking thread that it
4894         should check the source pad return value, and relay the information
4895         upstream.
4896
4897 2007-05-18  Edward Hervey  <edward@fluendo.com>
4898
4899         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
4900         Release the queue lock !
4901
4902 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4903
4904         * docs/libs/gstreamer-libs-sections.txt:
4905         Add the two new controller functions to the appropiate places.
4906
4907 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4908
4909         reviewed by: Stefan Kost <ensonic@users.sf.net>
4910
4911         * libs/gst/controller/gstcontroller.c:
4912         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
4913         (_gst_controller_get_property), (_gst_controller_set_property),
4914         (_gst_controller_init), (_gst_controller_class_init):
4915         * libs/gst/controller/gstcontroller.h:
4916         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
4917         (gst_object_get_control_rate), (gst_object_set_control_rate):
4918         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
4919         Add API that provides sync suggestion timestamps for elements that
4920         call gst_object_sync_values() from which those elements can subdivide
4921         their processing loop to get the best results for the controlled
4922         properties. For now it just suggests last_sync + control_rate as
4923         new timestamp but this will be improved in the future.
4924
4925         While doing that change the control-rate property to a GstClockTime
4926         from guint and change it's meaning from samples to nanoseconds as
4927         the GstController doesn't know anything about sampling rate. Strictly
4928         speaking this breaks ABI but as the control-rate property didn't do
4929         anything in the past and as such couldn't be used this should be no
4930         problem.        
4931
4932 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4933
4934         reviewed by: Stefan Kost <ensonic@users.sf.net>
4935
4936         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
4937         (gst_controller_unset_all):
4938         * libs/gst/controller/gstcontrollerprivate.h:
4939         * libs/gst/controller/gstinterpolation.c:
4940         (gst_controlled_property_find_control_point_node):
4941         Save last synced value from the list to continue searching from there
4942         in future syncs. This speeds everything up a bit.
4943         
4944 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4945
4946         reviewed by: Stefan Kost <ensonic@users.sf.net>
4947
4948         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
4949         (gst_control_point_find), (gst_controlled_property_new),
4950         (gst_control_point_free), (gst_controlled_property_free),
4951         (gst_controller_set), (gst_controller_set_from_list),
4952         (gst_controller_unset), (gst_controller_unset_all),
4953         (gst_controller_sync_values):
4954         * libs/gst/controller/gstcontroller.h:
4955         * libs/gst/controller/gstcontrollerprivate.h:
4956         * libs/gst/controller/gstinterpolation.c:
4957         (gst_controlled_property_find_control_point_node),
4958         (interpolate_none_get), (interpolate_trigger_get):
4959         Add a new private GstControlPoint struct which "inherits" from
4960         GstTimedValue to allow different interpolators to store internal
4961         values next to each control point. From the outside everything is
4962         still a GstControlPoint so we don't loose binary compatibility.
4963         Also fixup all the GValue handling to not leak GValues or list nodes.
4964         * tests/check/libs/controller.c: (GST_START_TEST):
4965         Free the list nodes and GValues in the controller_misc test.
4966
4967 2007-05-17  Edward Hervey  <edward@fluendo.com>
4968
4969         * gst/gstsegment.c:
4970         Small doc fix.
4971
4972 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
4973
4974         * gst/gstplugin.c: (gst_plugin_load_file):
4975           If we fail to load a plugin because of unresolved symbols or missing
4976           libraries and spew a warning to stderr, we may just as well mention
4977           which plugin it was that failed to load.
4978
4979 2007-05-13  David Schleef  <ds@schleef.org>
4980
4981         * docs/Makefile.am: the gtk-doc makefile snippet correctly
4982           handles the case when ENABLE_GTK_DOC is false, and installs
4983           the prebuilt documentation.  So gtk-doc subdirs are 
4984           unconditionally enabled.  Fixes: #349099.
4985
4986 2007-05-13  David Schleef  <ds@schleef.org>
4987
4988         * gst/gstutils.h: Reword some documentation.
4989
4990 2007-05-12  David Schleef  <ds@schleef.org>
4991
4992         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
4993           do anything with the passed "module" parameter, so remove it.
4994           Allows removal of additional vestigal code.
4995
4996 2007-05-12  David Schleef  <ds@schleef.org>
4997
4998         * gst/gstplugin.c:
4999           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
5000           Switch to using g_stat() because it's more portable.
5001
5002 2007-05-12  David Schleef  <ds@schleef.org>
5003
5004         * gst/gst.c:
5005           Add GST_DISABLE_OPTION_PARSING, in order to disable option
5006           parsing for embedded systems.
5007         * gst/gstelementfactory.c:
5008           Allow gst_element_register() to be called with plugin==NULL.
5009           Did nobody notice that static elements were broken?
5010
5011 2007-05-12  Wim Taymans  <wim@fluendo.com>
5012
5013         * tools/gst-launch.c: (event_loop):
5014         Give more interesting info when buffering starts and stops.
5015         Fix case where buffering starts but we fail to update the buffering flag
5016         because the target state is not PLAYING.
5017
5018 2007-05-12  Wim Taymans  <wim@fluendo.com>
5019
5020         * plugins/elements/gstqueue.c: (gst_queue_init),
5021         (gst_queue_finalize), (update_time_level), (apply_segment),
5022         (apply_buffer), (gst_queue_locked_flush),
5023         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
5024         (gst_queue_handle_sink_event), (gst_queue_chain),
5025         (gst_queue_push_one), (gst_queue_loop):
5026         * plugins/elements/gstqueue.h:
5027         Refactor an cleanup queue a bit.
5028         Do better time level calculations that also work when the srcpad is not
5029         yet running.
5030         Remove some unneeded debug lines.
5031
5032         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
5033         Added testcase for time level measurement.
5034         Try to make some stuff more racefree.
5035
5036 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
5037
5038         * gst/gsturi.c: (gst_element_make_from_uri):
5039           Don't leak plugin feature.
5040
5041         * tests/check/Makefile.am:
5042         * tests/check/gst/.cvsignore:
5043         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
5044           Add brain-dead unit test.
5045
5046 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
5047
5048         Patch by: Jeroen Wouters <woutersj at gmail com>
5049
5050         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
5051           Treat protocol strings in a case-insensitive way (#437563).
5052
5053 2007-05-11  Michael Smith <msmith@fluendo.com>
5054
5055         * gst/gstplugin.c: (gst_plugin_load_file):
5056         * gst/gstregistry.c: (gst_registry_scan_path_level):
5057           Don't print a g_warning for any failure to load a shared object.
5058           Instead, push this down into gstplugin.c, and warn _only_ if we
5059           failed to open the module (i.e. failure to link).
5060           Avoids warnings on normal, working, non-plugin .so files.
5061
5062 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
5063
5064         * gst/gstplugin.c (gst_plugin_load_file):
5065         * gst/gstregistry.c (GST_CAT_DEFAULT,
5066           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
5067           Print a g_warning if there was an error when loading a plugins during
5068           registry scan. The shuld help beginners starting with gst-plugin
5069           template.
5070
5071 2007-05-10  Wim Taymans  <wim@fluendo.com>
5072
5073         * plugins/elements/gstqueue.c: (gst_queue_class_init),
5074         (update_time_level), (gst_queue_locked_flush),
5075         (gst_queue_handle_sink_event), (gst_queue_chain),
5076         (gst_queue_push_one), (gst_queue_loop):
5077         * plugins/elements/gstqueue.h:
5078         Be smarter when calculating the current amount of data in the queue by
5079         measuring the difference between start and end timestamps (in running
5080         time) inside the queue. Fixes #432876.
5081         API: GstQueue::pushing to notify elements that we are pushing data again
5082         since the running signal is rather broken for this purpose.
5083
5084 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
5085
5086         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
5087           gst_queue_base_init, gst_queue_init):
5088           use GST_BOILERPLATE
5089
5090 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
5091
5092         * win32/common/libgstreamer.def:
5093         Add new exported functions.
5094         * win32/vs6/grammar.dsp:
5095         Use grammar pre-generated files.
5096
5097 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5098
5099         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
5100
5101         * gst/Makefile.am:
5102         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
5103         * gst/gstparse.h:
5104         * gst/gstutils.c: (gst_parse_bin_from_description):
5105         * gst/gstutils.h:
5106           Maintain API and ABI when --disable-parse is used. Now that
5107           we have an appropriate error code, we can just return NULL and the
5108           appropriate error when gst_parse_launch() is used despite it having
5109           been disabled (#342564).
5110
5111         * tests/check/Makefile.am:
5112         * tests/check/pipelines/.cvsignore:
5113         * tests/check/pipelines/parse-disabled.c:
5114           Make sure these functions exist and return NULL plus a GError when
5115           --disable-parse is used.
5116
5117 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5118
5119         * tests/benchmarks/complexity.c: (main):
5120         * tests/benchmarks/mass-elements.c: (main):
5121           Set a good example and don't leak messages.
5122
5123 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
5124
5125         * docs/gst/Makefile.am:
5126         * docs/libs/Makefile.am:
5127           Correct fixxrefs options.
5128
5129         * docs/plugins/Makefile.am:
5130         * docs/plugins/gstreamer-plugins-docs.sgml:
5131         * docs/plugins/gstreamer-plugins-sections.txt:
5132         * plugins/elements/Makefile.am:
5133         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
5134         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
5135           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
5136           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
5137           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
5138           _GstCapsFilterClass, trans_class):
5139         * plugins/elements/gstelements.c (name, rank, type, _elements):
5140         * plugins/elements/gstidentity.c
5141           (gst_identity_check_imperfect_timestamp,
5142           gst_identity_check_imperfect_offset):
5143           Document capsfilter and add doc-blurb to identity.
5144
5145 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
5146
5147         * libs/gst/controller/gstcontroller.c:
5148         (gst_controlled_property_set_interpolation_mode):
5149         * libs/gst/controller/gstinterpolation.c:
5150           Don't crash if someone tries to set an interpolation mode that
5151           is invalid or that isn't supported yet. Fixes #422295.
5152
5153         * tests/check/libs/controller.c: (GST_START_TEST),
5154         (gst_controller_suite):
5155           Add a test case for the above.
5156
5157 2007-05-03  Edward Hervey  <edward@fluendo.com>
5158
5159         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5160         Properly set the last_stop position on GstSegment. This will only happen
5161         if there is a buffer to push out.
5162
5163 2007-05-03  Wim Taymans  <wim@fluendo.com>
5164
5165         * libs/gst/base/gstbasetransform.c:
5166         (gst_base_transform_buffer_alloc):
5167         always_in_place does not mean that the sink and source caps are the
5168         same! Make sure we don't blindly proxy the buffer_alloc in this case.
5169
5170 2007-05-03  Wim Taymans  <wim@fluendo.com>
5171
5172         * docs/libs/gstreamer-libs-sections.txt:
5173         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5174         (gst_base_src_default_query), (gst_base_src_get_range):
5175         * libs/gst/base/gstbasesrc.h:
5176         API: gst_base_src_query_latency(). Added method so that subclasses can
5177         easily get the latency values of the base source class.
5178
5179 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
5180
5181         * tools/gst-inspect.c (print_implementation_info):
5182         Remove 0.8 cruft.
5183
5184 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
5185
5186         * tools/Makefile.am:
5187         * tools/gst-launch.1.in:
5188           Don't create a customised man page based on the host architecture,
5189           describe the default registry path generically. That way the man
5190           page is the same for all architectures and packagers have one
5191           multilib issue less to deal with. Fixes #434926.
5192
5193 2007-05-02  Wim Taymans  <wim@fluendo.com>
5194
5195         * gst/gstpad.c:
5196         Fix documentation as spotted by rg on IRC. 
5197
5198 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
5199
5200         * gst/gstutils.c:
5201           Improve docs for gst_element_{link,unlink}.
5202
5203 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
5204
5205         * docs/design/part-events.txt:
5206         * docs/design/part-overview.txt:
5207         * gst/gstevent.c:
5208         * gst/gsturi.c:
5209         * gst/gsturi.h:
5210         * libs/gst/base/gstbasesink.c:
5211           Typo fixes; minor docs addition.
5212
5213 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
5214
5215         * docs/gst/gstreamer-sections.txt:
5216         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
5217         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
5218         * gst/gsturi.h:
5219         API: Add gst_uri_protocol_is_supported(), which checks if a sink
5220         or src that supports a given URI protocol exists.
5221
5222 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
5223
5224         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5225         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5226         Set the location to NULL if "file://" is set as URI. Otherwise
5227         some random previous URI would still be set if "file://" is
5228         set on an already used filesink/filesrc.
5229
5230 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
5231
5232         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5233         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5234         Special case the "file://" URI as as this is used by some
5235         applications to test with gst_element_make_from_uri if there's
5236         an element that supports the URI protocol.
5237         Also move the g_path_is_absolute() check for the location part
5238         of the URI to also check this for "file://localhost/bla" URIs.
5239
5240 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
5241
5242         * docs/gst/gstreamer-sections.txt:
5243         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
5244         * gst/gstbuffer.h:
5245         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
5246         (gst_buffer_suite):
5247           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
5248
5249 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
5250
5251         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
5252         (gst_registry_binary_load_pad_template),
5253         (gst_registry_binary_load_plugin),
5254         (gst_registry_binary_read_cache):
5255         * gst/gstregistrybinary.h:
5256           Implement no-mmap alternative for registry reading. Do code cleanups.
5257           Add more comments about avoiding strdups for all text data. Comments
5258           welcome.
5259
5260 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
5261
5262         * gst/gstregistrybinary.h (GstBinaryPluginElement,
5263           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
5264           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
5265           Comment structs and reformat to fix the build (that stuff should go
5266           into a priv. header).
5267
5268 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
5269
5270         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
5271         (gst_registry_binary_load_feature):
5272         * gst/gstregistrybinary.h:
5273           Refactor so that we can implement multiple features. Add support for
5274           TypeFindFactory features.
5275
5276 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
5277
5278         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
5279
5280         * configure.ac:
5281           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
5282
5283 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
5284
5285         * gst/gstbin.c: (gst_bin_element_set_state),
5286         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
5287         (bin_handle_async_done), (gst_bin_handle_message_func):
5288           Fix build with --gst-disable-gst-debug
5289
5290 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
5291
5292         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
5293           Make sure streaming has finished before calling the ::stop() vfunc,
5294           since that vfunc might clear state which is being used in the
5295           streaming thread. This fixes a race that caused crashes in
5296           audioresample when shutting down a pipeline (#420106).
5297
5298 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
5299
5300         * docs/gst/gstreamer-sections.txt:
5301           That was one byte missing.
5302
5303 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
5304
5305         * configure.ac:
5306         * docs/gst/gstreamer-sections.txt:
5307         * gst/Makefile.am:
5308         * gst/gstconfig.h.in:
5309         * gst/gstobject.c: (gst_object_class_init),
5310         (gst_signal_object_class_init):
5311         * gst/gstobject.h:
5312           2nd attempt to have a xml-less build as a joined effort of #413123
5313           and #421480.
5314
5315 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
5316
5317         * docs/design/draft-tagreading.txt:
5318           Added open issues/thoughts to draft.
5319
5320 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
5321
5322         * gst/parse/grammar.tab.pre.c:
5323         * gst/parse/grammar.tab.pre.h:
5324         * gst/parse/lex._gst_parse_yy.pre.c:
5325         Update the prebuild parser sources.
5326
5327 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
5328
5329         * gst/parse/Makefile.am:
5330         And now fix the building of the flex sources. Now everything should
5331         work as expected.
5332
5333 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
5334
5335         * gst/parse/Makefile.am:
5336         Now hopefully fix the build failures by setting proper rule
5337         dependencies and moving instead of copying.
5338
5339 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
5340
5341         * tests/benchmarks/complexity.gnuplot:
5342         * tests/benchmarks/complexity.scm:
5343         * tests/benchmarks/mass-elements.gnuplot:
5344         * tests/benchmarks/mass-elements.scm:
5345           Total licensification.
5346
5347 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
5348
5349         * gst/parse/Makefile.am:
5350           Fix the build by correcting the rule that gave wrong files to flex.
5351
5352 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
5353
5354         * tests/benchmarks/complexity.c:
5355         * tests/benchmarks/mass-elements.c:
5356           Change licence to LGPL as granted by Benjamin and Andy.
5357
5358 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
5359
5360         * gst/parse/Makefile.am:
5361         Add correct grammar.tab.h dependency if compiling without new enough
5362         flex. Fixes #431150.
5363
5364 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
5365
5366         * gst/parse/Makefile.am:
5367         Fix typo and use outdated sources if the flex/bison sources are newer
5368         than the pregenerated ones but flex is too old. Print a warning in
5369         that case. This should fix the build on the build bot.
5370
5371 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
5372
5373         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
5374         * gst/parse/Makefile.am:
5375         * gst/parse/grammar.y:
5376         * gst/parse/parse.l:
5377         Make the parser reentrant and recursively callable. This requires flex
5378         >= 2.5.31, for older versions pregenerated sources are used as we
5379         can't bump the build dependency. Finally fixes #349180.
5380
5381         * gst/gstparse.c: (gst_parse_launch):
5382         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
5383         now anyway.
5384
5385         * docs/gst/Makefile.am:
5386         * docs/gst/Makefile.am:
5387         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
5388         (__gst_parse_strfree), (__gst_parse_link_new),
5389         (__gst_parse_link_free), (__gst_parse_chain_new),
5390         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
5391         (gst_parse_element_set), (gst_parse_free_link),
5392         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
5393         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
5394         (_gst_parse_launch):
5395         * gst/parse/grammar.tab.pre.h:
5396         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
5397         (yy_get_previous_state), (yy_try_NUL_trans), (input),
5398         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
5399         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
5400         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
5401         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
5402         (_gst_parse_yypop_buffer_state),
5403         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
5404         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
5405         (yy_fatal_error), (_gst_parse_yyget_extra),
5406         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
5407         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
5408         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
5409         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
5410         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
5411         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
5412         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
5413         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
5414         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
5415         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
5416         (_gst_parse_yyfree):
5417         If the installed flex version is too old use pre-generated parser
5418         sources. These pre-generated parser sources are always updated when
5419         the actual flex/bison sources change but require everybody who wants
5420         to change something in the parser to have flex >= 2.5.31 installed.
5421
5422 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
5423
5424         * common/m4/gst-gettext.m4:
5425         * gst/gst-i18n-lib.h:
5426           Make --disable-nls to work
5427
5428 2007-04-17  Wim Taymans  <wim@fluendo.com>
5429
5430         * gst/gstconfig.h.in:
5431         Revert previous change that broke the build.
5432
5433 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
5434
5435         * configure.ac:
5436         * gst/Makefile.am:
5437         * gst/gstconfig.h.in:
5438           Drop libxml2 dependency when building with 
5439           --enable-binary-registry --disable-loadsave
5440
5441 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
5442
5443         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
5444         (gst_registry_binary_read_cache):
5445         * gst/gstregistrybinary.h:
5446           Remove unnecessary <sys/mman.h> include which broke the win32 build
5447           with MingW; move includes from header file to .c file, even if the
5448           header file isn't installed; use g_strerror() where UTF-8 strings
5449           are expected, such as in GST_DEBUG messages.
5450
5451 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5452
5453         * docs/libs/gstreamer-libs-sections.txt:
5454         Remove bogus addition for API I didn't end up keeping.
5455
5456         * libs/gst/base/gstbasesrc.h:
5457         Mention Since: 0.10.13 in the documentation.
5458
5459         Add the API keyword to the previous ChangeLog entry.
5460
5461 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5462
5463         * docs/libs/gstreamer-libs-sections.txt:
5464         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5465         (gst_base_src_default_prepare_seek_segment),
5466         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
5467         * libs/gst/base/gstbasesrc.h:
5468         Allow basesrc derived classes to execute seeks in other formats
5469         by providing a prepare_seek_segment vmethod. Sub-classes can choose
5470         to prepare the GstSegment in any format that their perform_seek method
5471         will be able to understand. The default implementation provides the
5472         old behaviour of attempting to convert the seek offsets to the 
5473         configured native format.
5474
5475         API: basesrc::prepare_seek_segment vmethod.
5476
5477 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5478
5479         * gst/gstelement.c: (gst_element_get_state_func):
5480         Don't output the same debug statement twice.
5481
5482         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
5483         (gst_adapter_peek), (gst_adapter_take_buffer):
5484         Optimise the case where we have buffers at the head of the queue that
5485         can be joined quickly (because they're contiguous sub-buffers) by
5486         merging them together rather than copying data out into new memory.
5487
5488         * gst/parse/grammar.y:
5489         * tests/check/pipelines/parse-launch.c:
5490         Fix a leak in an error path for parse_launch, and add a check 
5491         for it to the testsuite.
5492
5493 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5494
5495         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
5496           Don't deadlock when releasing a pad - gst_pad_set_active may try
5497           and take the multiqueue lock too.
5498
5499 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
5500
5501         * gst/gsterror.c: (_gst_core_errors_init):
5502         * gst/gsterror.h:
5503           API: add GST_CORE_ERROR_DISABLED (#392804).
5504
5505 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5506
5507         * docs/faq/gst-uninstalled:
5508           don't get empty paths on the PATH variables
5509         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
5510           Don't format for the uncommon terminal width of 84 characters.
5511
5512 2007-04-06  Wim Taymans  <wim@fluendo.com>
5513
5514         * gst/gstpipeline.c: (reset_stream_time),
5515         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
5516         Only try to select a different pipeline clock when we went back to
5517         PAUSED and not when we merely got flushed.
5518
5519 2007-04-05  Michael Smith  <msmith@fluendo.com>
5520
5521         * tools/gst-launch.1.in:
5522           fractions are better supported in gstreamer than ractions, so
5523           suggest using those.
5524
5525 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5526
5527         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
5528
5529         * po/LINGUAS:
5530         * po/da.po:
5531           Added Danish translation.
5532
5533 2007-04-05  Wim Taymans  <wim@fluendo.com>
5534
5535         * libs/gst/base/gstbasesink.c:
5536         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
5537         Fix leak caused when refusing newsegment after EOS.
5538
5539         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5540         (gst_fake_sink_init), (gst_fake_sink_set_property),
5541         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
5542         (gst_fake_sink_render), (gst_fake_sink_change_state):
5543         * plugins/elements/gstfakesink.h:
5544         Add num-buffers property to make the element generate EOS after a
5545         configurable amount of buffers.
5546         API: fakesink::num-buffers property.
5547
5548         * tests/check/elements/fakesink.c: (GST_START_TEST),
5549         (fakesink_suite):
5550         Fix GstBus leak in test.
5551         Test for fakesink num-buffers.
5552
5553 2007-04-05  Wim Taymans  <wim@fluendo.com>
5554
5555         * libs/gst/base/gstbasesink.c:
5556         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5557         (gst_base_sink_change_state):
5558         Don't accept anything after an EOS, return UNEXPECTED instead.
5559
5560         * tests/check/elements/fakesink.c: (GST_START_TEST),
5561         (fakesink_suite):
5562         Unit test for new EOS behaviour.
5563
5564 2007-04-05  Wim Taymans  <wim@fluendo.com>
5565
5566         * gst/gstelement.c: (gst_element_get_request_pad):
5567         Make padtemplates also work when they don't contain %s or %d.
5568
5569 2007-04-05  Wim Taymans  <wim@fluendo.com>
5570
5571         * docs/gst/gstreamer-sections.txt:
5572         * gst/gstclock.c: (gst_clock_adjust_unlocked),
5573         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
5574         * gst/gstclock.h:
5575         Improve _adjust_unlocked() so that it overflows less.
5576         Add gst_clock_unadjust_unlocked to convert from external time to
5577         internal time based on calibration.
5578         Add some more debug.
5579         API: GstClock::gst_clock_unadjust_unlocked()
5580
5581 2007-04-03  Wim Taymans  <wim@fluendo.com>
5582
5583         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
5584
5585         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
5586         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
5587         when releasing sink pad. Fixes #425400.
5588
5589 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
5590
5591         * docs/random/ensonic/dynlink.txt:
5592           More work on proposal for new core api.
5593
5594         * docs/libs/gstreamer-libs-sections.txt:
5595         * libs/gst/base/gstbasetransform.h:
5596           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
5597           
5598         * libs/gst/controller/gstcontroller.c:
5599         (on_object_controlled_property_changed),
5600         (gst_controller_sync_values),
5601         (gst_controller_set_interpolation_mode):
5602         * libs/gst/controller/gstcontroller.h:
5603           Less verbose logging add docs for unimplemented parts and correctly
5604           return when using unavailable parts.
5605
5606 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
5607
5608         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
5609         Move all the debug to the CLOCK category, and associate it with
5610         the clock object.
5611
5612 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
5613
5614         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
5615         Make take_buffer a bit quicker by removing redundant checks
5616         caused by calling gst_adapter_take.
5617
5618 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
5619
5620         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
5621           Don't leak GCond.
5622
5623         * tests/check/Makefile.am:
5624         * tests/check/elements/.cvsignore:
5625         * tests/check/elements/multiqueue.c: (setup_multiqueue),
5626         (GST_START_TEST), (multiqueue_suite):
5627           Add some dead simple unit tests for the 'multiqueue' element
5628           (some bits don't work yet and are disabled for now).
5629
5630 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
5631
5632         * gst/gstelement.c: (gst_element_get_request_pad),
5633         (gst_element_class_get_request_pad_template):
5634           Make gst_element_get_request_pad() create request pads only for
5635           request pad templates and not for, say, sometimes pad templates.
5636
5637 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
5638
5639         * docs/design/draft-klass.txt:
5640           Add example that needs more thinking.
5641         
5642         * docs/design/draft-missing-plugins.txt:
5643           More thoughts about wrapper plugins.
5644         
5645         * docs/random/ensonic/embedded.txt:
5646         * docs/random/ensonic/profiling.txt:
5647           More design work.
5648
5649 2007-03-25  Wim Taymans  <wim@fluendo.com>
5650
5651         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
5652         (gst_base_src_loop):
5653         Only push the segment events in the PLAYING state for live sources.
5654
5655 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
5656
5657         * gst/gstpipeline.c: (gst_pipeline_change_state):
5658         Modify the clock distribution path in PAUSED->PLAYING so that we 
5659         never attempt to choose a new clock unless we're actually leaving
5660         the PAUSED state for the first time. This prevents choosing a
5661         different clock when the state_change gets called for a 2nd time due
5662         to some element doing an async state change.
5663
5664 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
5665
5666         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
5667         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
5668         (gst_pad_chain_unchecked), (gst_pad_push):
5669         Revert last commit. This needs some more thoughts.
5670
5671 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
5672
5673         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
5674         (gst_pad_chain_unchecked), (gst_pad_push):
5675         Check in set_caps if the caps are compatible with the pad and remove
5676         two functions that are redundant now. Fixes #421543.
5677
5678 2007-03-22  Wim Taymans  <wim@fluendo.com>
5679
5680         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5681         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
5682         Unref some more to make valgrind happy.
5683
5684 2007-03-22  Wim Taymans  <wim@fluendo.com>
5685
5686         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
5687         (gst_system_clock_id_wait_jitter),
5688         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5689         Fix anoying regression that survived a few releases. When adding an
5690         async entry while blocking on a sync entry, the sync entry will unblock
5691         but still be busy, so it should continue to wait instead of returning
5692         _BUSY to the app.
5693         Add some comments here and there.
5694
5695         * tests/check/gst/gstsystemclock.c: (mixed_thread),
5696         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
5697         Add testcase for this.
5698
5699 2007-03-22  Wim Taymans  <wim@fluendo.com>
5700
5701         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5702         Handle errors from the clock sync better, only UNSCHEDULED indicates a
5703         WRONG_STATE and can silently pause the task. All other cases should
5704         error out.
5705
5706 2007-03-22  Wim Taymans  <wim@fluendo.com>
5707
5708         Patch by: Ville Syrjala <syrjala at sci dot fi>
5709
5710         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
5711         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
5712         Improve debugging.
5713
5714 2007-03-21  Michael Smith  <msmith@fluendo.com>
5715
5716         * docs/pwg/advanced-types.xml:
5717           Fix some errors in the typefinding docs pointed out on irc.
5718
5719 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
5720
5721         * libs/gst/base/gstbasesrc.c:
5722         Clarify FIXME comment in the face of having added unlock_stop()
5723
5724 2007-03-21  Wim Taymans  <wim@fluendo.com>
5725
5726         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
5727         Prepare for release where we warn against possible app breakage in the
5728         case of live pipelines along with an env var to enable/disable live
5729         preroll mode (GST_COMPAT=[no-]live-preroll).
5730
5731 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5732
5733         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
5734         So we should use correct constants for checking for None offset.
5735
5736 2007-03-20  Wim Taymans  <wim@fluendo.com>
5737
5738         * docs/design/part-block.txt:
5739         Mention the fact that the newly switched element should be set to at
5740         least PAUSED.
5741
5742 2007-03-20  Wim Taymans  <wim@fluendo.com>
5743
5744         * gst/gst.c:
5745         Fix compilation with registry disabled as spotted by Saur.
5746
5747 2007-03-20  Wim Taymans  <wim@fluendo.com>
5748
5749         Patch by: Olivier Crete <tester at tester dot ca>
5750
5751         * gst/gstelement.c: (gst_element_sync_state_with_parent):
5752         Look at the pending state too when syncing the element state to the
5753         parent. Fixes #420133.
5754
5755 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
5756
5757         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
5758         (gst_base_sink_change_state):
5759         * libs/gst/base/gstbasesink.h:
5760         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5761         (gst_base_src_default_event), (gst_base_src_unlock_stop),
5762         (gst_base_src_deactivate):
5763         * libs/gst/base/gstbasesrc.h:
5764         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
5765         for sub-classes to correctly clear any state they set trying to
5766         unlock, such as clearing out unlock commands from a command fd.
5767         API: basesrc::unlock_stop
5768         API: basesink::unlock_stop
5769
5770         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
5771         (gst_fd_sink_render), (gst_fd_sink_unlock),
5772         (gst_fd_sink_unlock_stop):
5773         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
5774         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
5775         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
5776
5777         Implement unlock_stop in fdsrc and fdsink.
5778         Implement seeking in fdsrc when a seekable fd is passed, as in
5779         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
5780
5781 2007-03-19  Wim Taymans  <wim@fluendo.com>
5782
5783         Patch by: Evan Nemerson <evan at coeus dash group dot com>
5784
5785         * gst/gstelement.c: (gst_element_class_init):
5786         Fix pad-added and pad-removed signal signatures so that the pad type is
5787         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
5788
5789 2007-03-19  Wim Taymans  <wim@fluendo.com>
5790
5791         * docs/gst/gstreamer-sections.txt:
5792         Add new element field and method.
5793
5794         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5795         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
5796         (gst_bin_recalc_state), (gst_bin_get_state_func),
5797         (gst_bin_element_set_state), (gst_bin_change_state_func),
5798         (gst_bin_continue_func), (bin_bus_handler),
5799         (bin_push_state_continue), (bin_handle_async_start),
5800         (bin_handle_async_done), (gst_bin_handle_message_func):
5801         Make async state changes a bit smarter by using new ASYNC_START and
5802         ASYNC_DONE messages. This reduces the number of times we run the state
5803         recalculation thread.
5804         Don't change state of element with a pending ASYNC_START message.
5805         Deprecate STATE_DIRTY messages.
5806         
5807         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
5808         (gst_element_get_state_func), (gst_element_continue_state),
5809         (gst_element_lost_state), (gst_element_set_state_func),
5810         (gst_element_change_state):
5811         * gst/gstelement.h:
5812         Keep the state that was last set by the app in a new element field.
5813         Don't allow state changes when handling an element event.
5814         Post ASYNC_START and ASYNC_DONE messages.
5815         Change lost_state so that we go to PAUSED and wait for the parent to set
5816         us to PLAYING again (so latency calculation can be performed)
5817         Export gst_element_change_state() method so that subclasses can use it.
5818         API: gst_element_change_state()
5819         API: GST_STATE_TARGET
5820
5821         * gst/gstpipeline.c: (gst_pipeline_class_init),
5822         (reset_stream_time), (gst_pipeline_change_state),
5823         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
5824         Using the new ASYNC_START message we can reset the base_time when
5825         needed. This can then be used to implement base_time redistribution in
5826         flushing seeks so that we can remove the explicit seek handling.
5827         Perform latency query and configuration when going to PLAYING.
5828
5829         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5830         (gst_base_sink_query), (gst_base_sink_change_state):
5831         Post new ASYNC_START/ASYNC_DONE messages.
5832
5833         * tests/check/generic/sinks.c: (GST_START_TEST):
5834         Fix test because the bin will not set the async element to PLAYING right
5835         away.
5836
5837         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
5838         Make the message check a little stronger.
5839         Handle ASYNC messages.
5840
5841         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
5842         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
5843         Expect ASYNC_DONE messages.
5844
5845 2007-03-19  Wim Taymans  <wim@fluendo.com>
5846
5847         * docs/gst/gstreamer-sections.txt:
5848         * gst/gstmessage.c: (gst_message_new_async_start),
5849         (gst_message_new_async_done), (gst_message_parse_info),
5850         (gst_message_parse_async_start):
5851         * gst/gstmessage.h:
5852         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
5853         support.
5854
5855 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
5856
5857         * tools/gst-inspect.c:
5858         (print_plugin_automatic_install_info_codecs):
5859           Now that we don't check for the 'Codec' keyword any longer in the
5860           klass, we shouldn't spew a warning if the klass isn't a decoder or
5861           encoder (since it might be a Source/Network, for example).
5862
5863 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
5864
5865         * tools/gst-inspect.c:
5866         (print_plugin_automatic_install_info_codecs):
5867           Don't require decoder/demuxer/depayloader elements or
5868           encoder/muxer/paylader elements to have 'Codec' as part of their
5869           factory class string when introspecting a plugin's capabilities.
5870           draft-klass.txt mentions that it might be removed in future, and
5871           flump3dec doesn't have it as part of its class string, so chances
5872           are others might also not have it.
5873
5874 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5875
5876         * po/af.po:
5877         * po/az.po:
5878         * po/bg.po:
5879         * po/ca.po:
5880         * po/cs.po:
5881         * po/de.po:
5882         * po/en_GB.po:
5883         * po/fr.po:
5884         * po/it.po:
5885         * po/nb.po:
5886         * po/nl.po:
5887         * po/ru.po:
5888         * po/sq.po:
5889         * po/sr.po:
5890         * po/sv.po:
5891         * po/tr.po:
5892         * po/uk.po:
5893         * po/vi.po:
5894         * po/zh_CN.po:
5895         * po/zh_TW.po:
5896           Update translations from translation project
5897
5898 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
5899
5900         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
5901         (gst_child_proxy_set_property):
5902           Invert precondition check to be alike the ones in the mimiced gobject
5903           api.
5904
5905 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
5906
5907         * docs/design/draft-tagreading.txt:
5908         * docs/random/ensonic/audiobaseclasses.txt:
5909           Do some Architect work.
5910
5911         * gst/gstobject.c: (gst_object_set_name):
5912           Add a WARNING.
5913
5914         * gst/gstpad.c:
5915           Add docs that point from gst_pad_get_range to gst_pad_pull_range
5916
5917 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
5918
5919         * gst/gstsystemclock.c: (gst_system_clock_init),
5920         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
5921         Defer starting the async system clock thread until the first async
5922         wait is scheduled. Fixes #414986.
5923
5924 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
5925
5926         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
5927         (gst_single_queue_free):
5928           Fix small leak (free GstSingleQueue structure too, not only contents).
5929
5930 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
5931
5932         * gst/gstbin.c:(gst_bin_add):
5933         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
5934         * win32/common/libgstbase.def:
5935         * win32/common/libgstreamer.def:
5936         Add new exported functions.
5937
5938 2007-03-09  Wim Taymans  <wim@fluendo.com>
5939
5940         * docs/plugins/gstreamer-plugins-sections.txt:
5941         Fix GstTee docs.
5942
5943 2007-03-09  Wim Taymans  <wim@fluendo.com>
5944
5945         * docs/gst/gstreamer-sections.txt:
5946         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
5947         * gst/gstbuffer.h:
5948         Add metadata copy functions. Fixes #393099.
5949         API: gst_buffer_copy_metadata()
5950
5951         * gst/gstutils.c: (gst_buffer_stamp):
5952         * libs/gst/base/gstbasetransform.c:
5953         (gst_base_transform_prepare_output_buffer):
5954         Use new metadata copy functions.
5955
5956 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5957
5958         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5959         (gst_identity_init), (gst_identity_check_perfect),
5960         (gst_identity_check_imperfect_timestamp),
5961         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
5962         (gst_identity_set_property), (gst_identity_get_property):
5963         * plugins/elements/gstidentity.h:
5964         Separate out check-imperfect-timestamp and check-imperfect-offset.
5965         Put back check-perfect as it was to keep compatibility.
5966
5967 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
5968
5969         * gst/gstelement.c: (gst_element_dispose):
5970         There's no need to warn if VOID_PENDING is not NONE here, as
5971         long as the state is NULL it's ok, and that's checked immediately
5972         above.
5973
5974 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5975
5976         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5977         Fix check for perfect stream to ignore buffers with -1 
5978         offsets/offset ends when checking data contiguity.
5979
5980 2007-03-08  Wim Taymans  <wim@fluendo.com>
5981
5982         * tools/gst-launch.c: (event_loop):
5983         Print INFO messages.
5984
5985 2007-03-08  Wim Taymans  <wim@fluendo.com>
5986
5987         * libs/gst/base/gstbasetransform.c:
5988         (gst_base_transform_sink_eventfunc),
5989         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5990         (gst_base_transform_activate):
5991         * libs/gst/base/gstbasetransform.h:
5992         Add support for dropping buffers with custom GstFlowReturn.
5993         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
5994         buffers or dropped buffers.
5995
5996         * docs/libs/gstreamer-libs-sections.txt:
5997         docs for new custom return code.
5998
5999         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6000         Use drop support in base class to implement drop-probability.
6001
6002 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
6003
6004         * gst/gst.c: (load_plugin_func):
6005         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
6006         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6007         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
6008           Remove newlines at end of debug log strings.
6009
6010 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6011
6012         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
6013         Only post bus message at max, once per buffer received.
6014
6015 2007-03-07  Wim Taymans  <wim@fluendo.com>
6016
6017         * docs/design/Makefile.am:
6018         * docs/design/part-synchronisation.txt:
6019         Add doc about synchronisation
6020
6021         * docs/design/draft-latency.txt:
6022         * docs/design/part-TODO.txt:
6023         * docs/design/part-clocks.txt:
6024         * docs/design/part-events.txt:
6025         * docs/design/part-gstbus.txt:
6026         * docs/design/part-gstpipeline.txt:
6027         * docs/design/part-live-source.txt:
6028         * docs/design/part-messages.txt:
6029         * docs/design/part-overview.txt:
6030         * docs/design/part-streams.txt:
6031         * docs/design/part-trickmodes.txt:
6032         Documentation updates.
6033
6034 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
6035
6036         * gstreamer.doap:
6037         Update the doap file.
6038
6039 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6040
6041         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
6042         Rename non-perfect to imperfect for Mike and for the sanctity of the
6043         language.
6044         Also make sure bus message gets emitted for data-incontiguities.
6045
6046 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6047
6048         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
6049         (gst_identity_start):
6050         * plugins/elements/gstidentity.h:
6051         Emit bus message if check-perfect is true and we encounter a
6052         non-perfect stream between 2 consecutive buffers.
6053         Fixes #415394.
6054
6055 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
6056
6057         * configure.ac:
6058         Back to CVS
6059
6060 === release 0.10.12 ===
6061
6062 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
6063
6064         * configure.ac:
6065           releasing 0.10.12, "Inevitable Demise"
6066
6067 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
6068
6069         * configure.ac:
6070          Version 0.10.11.2 (0.10.12 pre-release)
6071          Bump libtool versioning.
6072
6073 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
6074
6075         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6076           Log flow-names and not numbers.
6077
6078 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6079
6080         * configure.ac:
6081           Convert to new AG_GST style.
6082
6083 2007-02-28  Wim Taymans  <wim@fluendo.com>
6084
6085         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
6086         Don't unref query twice.
6087
6088 2007-02-28  Wim Taymans  <wim@fluendo.com>
6089
6090         * gst/gstvalue.c: (gst_value_transform_object_string),
6091         (_gst_value_initialize):
6092         Implement GstObject -> string transform so we print object names
6093         when serializing GValues containing GstObjects.
6094
6095 2007-02-28  Wim Taymans  <wim@fluendo.com>
6096
6097         * docs/gst/gstreamer-sections.txt:
6098         Add new stuff to docs.
6099
6100 2007-02-28  Wim Taymans  <wim@fluendo.com>
6101
6102         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6103         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
6104         (gst_base_sink_change_state):
6105         Improve latency query code.
6106         Don't leak latency events.
6107
6108         * tests/check/gst/gstbin.c: (GST_START_TEST):
6109         Improve debugging.
6110
6111 2007-02-28  Wim Taymans  <wim@fluendo.com>
6112
6113         * gst/gstelement.c: (gst_element_message_full),
6114         (gst_element_get_state_func):
6115         * gst/gstelement.h:
6116         Improve docs a little. Added Since: for new macro.
6117
6118         * gst/gstobject.c: (gst_object_sink):
6119         * gst/gstpipeline.c: (gst_pipeline_change_state),
6120         (gst_pipeline_set_new_stream_time):
6121         * gst/gstpipeline.h:
6122         Improve debugging and docs.
6123
6124         * gst/gstutils.c: (gst_element_state_change_return_get_name):
6125         Improve debugging.
6126
6127 2007-02-28  Wim Taymans  <wim@fluendo.com>
6128
6129         * gst/gstelement.c: (gst_element_message_full),
6130         (gst_element_set_locked_state), (gst_element_get_state_func),
6131         (gst_element_change_state):
6132         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
6133         Documentation updates.
6134         Small code cleanups.
6135
6136         * gst/gstmessage.c: (gst_message_new_info),
6137         (gst_message_parse_info):
6138         * gst/gstmessage.h:
6139         API: gst_message_new_info()
6140         API: gst_message_parse_info()
6141         Add INFO message create and parse code.
6142
6143 2007-02-28  Wim Taymans  <wim@fluendo.com>
6144
6145         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
6146         (bin_query_latency_done):
6147         Also report the live parameter of a latency query.
6148
6149 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6150
6151         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
6152           Copy the current generic/states example from -base and adapt so
6153           we can use the exact same code everywhere.
6154           Check a STATES_IGNORE_ELEMENTS env var which can be used
6155           to ignore certain element factories for this test, which is
6156           what is being done in -base
6157         * tests/check/Makefile.am:
6158           Mention this environment variable.
6159
6160 2007-02-27  Wim Taymans  <wim@fluendo.com>
6161
6162         * docs/gst/gstreamer-sections.txt:
6163         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
6164         (gst_bus_timed_pop), (gst_bus_pop):
6165         * gst/gstbus.h:
6166         API: gst_bus_timed_pop()
6167         Implement gst_bus_timed_pop() to do a blocking timed wait for a
6168         message to arrive on the bus.
6169
6170         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
6171         (gst_bus_suite):
6172         Two unit tests for new _timed_pop() function.
6173
6174 2007-02-23  Wim Taymans  <wim@fluendo.com>
6175
6176         * gst/gstpipeline.c: (gst_pipeline_change_state),
6177         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
6178         Don't ref a NULL clock in _provide_clock_func().
6179         Don't allow an INVALID delay.
6180         Don't try to calculate base_time with an invalid start_time.
6181         Also distribute and notify a NULL clock when it was selected.
6182
6183         * tools/gst-launch.c: (event_loop):
6184         Don't crash when a NULL clock was selected in the pipeline.
6185
6186 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
6187
6188         * docs/design/Makefile.am:
6189         * docs/design/draft-missing-plugins.txt:
6190         * docs/random/draft-missing-plugins.txt:
6191           Some small updates: update plugin system identifier prefix
6192           ('gstreamer.net' to 'gstreamer'), mention our new install
6193           API in libgstbaseutils rather than libgimme-codec, add
6194           reference to the online docs.
6195
6196 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6197
6198         * win32/common/config.h:
6199           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
6200           use moap cl ci to only check in what is mentioned in the ChangeLog.
6201
6202 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6203
6204         * docs/gst/gstreamer-sections.txt:
6205         * gst/gstelement.h:
6206           Fix up documentation to link to the correct GstGError section.
6207           Add GST_ELEMENT_INFO macro since someone else added a Info message.
6208
6209 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6210
6211         * tools/gst-launch.c: (event_loop):
6212           Make sure that we actually show the important message part of a
6213           warning message.
6214           No need to check if the gerror is not NULL to free; first of all
6215           g_free accepts NULL; and second the default error handler would
6216           segfault if gerror was NULL.
6217
6218 2007-02-21  Wim Taymans  <wim@fluendo.com>
6219
6220         * docs/gst/gstreamer-sections.txt:
6221         Removed docs as well.
6222
6223 2007-02-21  Wim Taymans  <wim@fluendo.com>
6224
6225         * gst/gstmessage.c: (gst_message_parse_duration):
6226         * gst/gstmessage.h:
6227         Remove new messages for release.
6228
6229 2007-02-20  Wim Taymans  <wim@fluendo.com>
6230
6231         * docs/design/part-gstghostpad.txt:
6232         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
6233         (gst_ghost_pad_new_full):
6234         Make the ghostpad a parent of the internal pad again for better backward
6235         compatibility. Don't write code that relies on this however.
6236
6237         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
6238         (gst_pad_link_check_hierarchy):
6239         Require that parents should be GstElements in the hierarchy check.
6240
6241 2007-02-20  Wim Taymans  <wim@fluendo.com>
6242
6243         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
6244         (gst_bin_change_state_func), (bin_query_min_max_init),
6245         (bin_query_latency_fold), (bin_query_latency_done),
6246         (gst_bin_query):
6247         Improve debug info.
6248         Implement latency query.
6249
6250 2007-02-20  Wim Taymans  <wim@fluendo.com>
6251
6252         * docs/design/part-gstghostpad.txt:
6253         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
6254         (gst_ghost_pad_internal_do_activate_push),
6255         (gst_ghost_pad_internal_do_activate_pull),
6256         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6257         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
6258         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
6259         Do not set the internal pad as a parent anymore so we can avoid
6260         hierarchy linking errors when the ghostpad has no parent yet. This also
6261         fixes failed activation because of unlinked internal pads, which in
6262         turn fixes the impossible case where you have to activate a pad before
6263         you can add it to a running element.
6264         Also fix the docs.
6265
6266         * gst/gstpad.c: (pre_activate), (post_activate),
6267         (gst_pad_set_active), (gst_pad_activate_pull),
6268         (gst_pad_activate_push), (gst_pad_check_pull_range):
6269         Add some more debug info.
6270         Mark activation mode in pre_activate so that we don't try to activate in
6271         endless loops. Fixes #385084.
6272
6273 2007-02-19  Wim Taymans  <wim@fluendo.com>
6274
6275         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
6276         (gst_base_transform_check_get_range):
6277         Implement a checkgetrange function instead of relying on the default
6278         core behaviour that assumes we can operate in pull mode if we have a
6279         getrange function. First step at fixing #385084.
6280
6281 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
6282
6283         * gst/gstchildproxy.h:
6284         * libs/gst/base/gstbasesink.h:
6285         * libs/gst/base/gstbasesrc.h:
6286         * libs/gst/base/gstbasetransform.h:
6287         More docs coverage and some ChangeLog surgery (add missing names)
6288
6289 2007-02-15  Wim Taymans  <wim@fluendo.com>
6290
6291         * docs/design/part-TODO.txt:
6292         * docs/design/part-activation.txt:
6293         * docs/design/part-block.txt:
6294         * docs/design/part-buffering.txt:
6295         * docs/design/part-clocks.txt:
6296         * docs/design/part-element-source.txt:
6297         * docs/design/part-events.txt:
6298         * docs/design/part-gstbin.txt:
6299         * docs/design/part-gstbus.txt:
6300         * docs/design/part-gstpipeline.txt:
6301         * docs/design/part-live-source.txt:
6302         * docs/design/part-messages.txt:
6303         * docs/design/part-overview.txt:
6304         * docs/design/part-qos.txt:
6305         * docs/design/part-query.txt:
6306         * docs/design/part-states.txt:
6307         * docs/design/part-trickmodes.txt:
6308         Some doc updates. Start renaming from stream_time to running_time where
6309         it was used wrongly.
6310
6311 2007-02-15  Wim Taymans  <wim@fluendo.com>
6312
6313         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
6314         Answer LATENCY query.
6315
6316 2007-02-15  Wim Taymans  <wim@fluendo.com>
6317
6318         * tests/check/gst/gstevent.c: (event_probe), (test_event),
6319         (GST_START_TEST):
6320         Improve debugging.
6321
6322 2007-02-15  Wim Taymans  <wim@fluendo.com>
6323
6324         * gst/gstpad.c: (gst_pad_get_internal_links_default),
6325         (gst_pad_dispatcher):
6326         Improve debugging of default pad dispatcher and query functions.
6327
6328 2007-02-15  Wim Taymans  <wim@fluendo.com>
6329
6330         * docs/gst/gstreamer-sections.txt:
6331         Remove old unused method.
6332
6333 2007-02-13  Wim Taymans  <wim@fluendo.com>
6334
6335         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6336         Fix check
6337
6338 2007-02-13  Wim Taymans  <wim@fluendo.com>
6339
6340         * docs/design/part-seeking.txt:
6341         Some small update.
6342
6343         * gst/gstsegment.c: (gst_segment_set_seek):
6344         Revert old bogus change that should make seeking work again.
6345
6346 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
6347
6348         * docs/random/ensonic/dynlink.txt:
6349         * docs/random/ensonic/interfaces.txt:
6350         * docs/random/ensonic/receipies.txt:
6351           Possible dynamic reconnection api, plus some type fixes the other two
6352           docs.
6353
6354 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
6355
6356         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6357         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6358         Also check for an absolute path following file:// in the filesrc
6359         element. Remove redundant check and call g_path_is_absolute() on the
6360         unescaped location.
6361
6362 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
6363
6364         * docs/design/draft-klass.txt:
6365           Add existing category analysis.
6366           
6367         * gst/gstcaps.c:
6368           Fix doc example, framerate is a fraction.
6369
6370 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
6371
6372         * configure.ac:
6373         * docs/gst/Makefile.am:
6374         * docs/gst/gstreamer-sections.txt:
6375         * docs/libs/Makefile.am:
6376           Erm, forgot a bunch of --extra-dir.
6377
6378 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
6379
6380         * configure.ac:
6381         * docs/gst/Makefile.am:
6382         * docs/libs/Makefile.am:
6383         * docs/plugins/Makefile.am:
6384           Add crossreferences to glib/gobject docs.
6385
6386 2007-02-12  Wim Taymans  <wim@fluendo.com>
6387
6388         * docs/design/draft-latency.txt:
6389         Small update.
6390
6391         * docs/libs/gstreamer-libs-sections.txt:
6392         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6393         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
6394         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
6395         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
6396         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
6397         (gst_base_sink_get_position), (gst_base_sink_query),
6398         (gst_base_sink_change_state):
6399         * libs/gst/base/gstbasesink.h:
6400         API: gst_base_sink_query_latency() to let subclasses query the upstream
6401         latency.
6402         API: gst_base_sink_get_latency() to let subclasses query the configured
6403         latency in the sink.
6404         Implement query and set latency.
6405         Update some docs.
6406         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
6407         don't continue preroll when we are flushing. Fixes #405284.
6408
6409         * tests/check/pipelines/stress.c: (change_state_timeout),
6410         (quit_timeout), (GST_START_TEST), (stress_suite):
6411         Test for #405284.
6412
6413 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
6414
6415         Patch by: René Stadler <mail at renestadler de>
6416
6417         * docs/gst/gstreamer-sections.txt:
6418         * gst/gsttaglist.c: (_gst_tag_initialize):
6419         * gst/gsttaglist.h:
6420           API: add GST_TAG_REFERENCE_LEVEL (#403597).
6421
6422 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
6423
6424         * docs/libs/Makefile.am:
6425           Fix path to core docs.
6426
6427         * gst/gstbin.c: (gst_bin_get_by_interface),
6428         (gst_bin_iterate_all_by_interface):
6429           Refix docs by also renaming 'interface' to 'iface' in implementation.
6430
6431         * docs/gst/gstreamer-sections.txt:
6432         * gst/gstcaps.c:
6433         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
6434         * gst/gstchildproxy.h:
6435         * gst/gstelementfactory.c:
6436         * gst/gstpadtemplate.h:
6437         * libs/gst/controller/gstcontroller.c:
6438         (gst_controlled_property_new):
6439           Document more.
6440
6441 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
6442
6443         * gst/gstbin.h:(gst_bin_get_by_interface),
6444         (gst_bin_iterate_all_by_interface):
6445         Replace interface parameter name by iface as interface is 
6446         a reserved keyword in Visual Studio for C++ projects so it removes
6447         a build error for application developpers using VS.
6448         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
6449         Fix a bug on Windows in uri format check. Now the prefix checked
6450         is file:// and next we check if the path after file:// is absolute.
6451         * win32/common/libgstbase.def:
6452         * win32/common/libgstdataprotocol.def:
6453         * win32/common/libgstgstreamer.def:
6454         Add new exported functions.
6455
6456 2007-02-09  Andy Wingo  <wingo@pobox.com>
6457
6458         * tests/check/pipelines/simple-launch-lines.c
6459         (simple_launch_lines_suite, test_tee): Disable tee test until I
6460         have time to fix it :-(
6461
6462         * tests/check/Makefile.am (noinst_HEADERS): 
6463         * tests/check/libs/libsabi.c: 
6464         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
6465         * tests/check/gst/gstabi.c: 
6466         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
6467
6468         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
6469         tests for push and pull tee behavior.
6470
6471         * plugins/elements/gsttee.h: 
6472         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
6473         mark as deprecated as well as unimplemented. It was a crack idea.
6474         Add support for tee operating in pull mode, off by default.
6475
6476         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
6477         normal-case logs down to LOG, raise errors to WARNING.
6478         (gst_registry_xml_read_cache): Don't log before calling a function
6479         that logs.
6480
6481         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
6482         exit (registry finalize).
6483         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
6484         DEBUG log when we emit signals that people don't even have the
6485         chance to connect to.
6486         (gst_registry_scan_path_level): Less logging in the normal case.
6487
6488 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
6489
6490         Patch by: Michal Benes <michal dot benes at itonis dot tv>
6491
6492         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
6493         Correctly generate EOS for non-seekable files. We don't have a total
6494         length for them and would get an unexpected end of file if we only
6495         special-cased for regular files. (Fixes: #404569)
6496
6497 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
6498
6499         * tests/check/elements/filesrc.c: (GST_START_TEST),
6500         (filesrc_suite):
6501         Add unit test for the GstURIHandler interface in filesrc. This also
6502         tests the newly added file://localhost/foo/bar support.
6503
6504 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
6505
6506         * gst/gstelementfactory.h:
6507           The klass string is not a hierarchy. Add reference to the design doc
6508           for more information and common types.
6509
6510 2007-02-02  Wim Taymans  <wim@fluendo.com>
6511
6512         * gst/gstquery.c: (gst_query_new_latency):
6513         Remove old structure field.
6514
6515 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
6516
6517         * tools/gst-launch.1.in:
6518           Give example for network streaming (#351998)
6519
6520 2007-02-02  Wim Taymans  <wim@fluendo.com>
6521
6522         * docs/gst/gstreamer-sections.txt:
6523         Add docs for new methods.
6524
6525         * gst/gstevent.c: (gst_event_new_latency),
6526         (gst_event_parse_latency):
6527         * gst/gstevent.h:
6528         Add new LATENCY event to configure latency in a pipeline.
6529         API: gst_event_new_latency
6530         API: gst_event_parse_latency
6531
6532         * gst/gstmessage.c: (gst_message_new_buffering),
6533         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
6534         (gst_message_new_latency), (gst_message_parse_buffering),
6535         (gst_message_parse_lost_preroll):
6536         * gst/gstmessage.h:
6537         Added messages used in draft-latency.
6538         API: gst_message_new_lost_preroll
6539         API: gst_message_parse_lost_preroll
6540         API: gst_message_new_prerolled
6541         API: gst_message_new_latency
6542
6543         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
6544         (gst_query_parse_latency):
6545         * gst/gstquery.h:
6546         Implemented new latency query as in design doc.
6547         API: gst_query_new_latency
6548         API: gst_query_set_latency
6549         API: gst_query_parse_latency
6550
6551 2007-02-02  Wim Taymans  <wim@fluendo.com>
6552
6553         * docs/design/draft-latency.txt:
6554         Slight redesign to allow for dynamic latency adjustments.
6555
6556         * docs/design/part-negotiation.txt:
6557         Fix some typos.
6558
6559 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
6560
6561         reviewed by: Wim Taymans <wim@fluendo.com>
6562
6563         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6564         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6565         Allow file://localhost/foo/bar URLs and correctly fail for every other
6566         hostname that one sets. This was gnomevfssrc is linked for those if
6567         installed as it can handle it (#403172)
6568
6569 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
6570
6571         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6572
6573         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6574         (unref_data), (gst_collect_pads_add_pad_full):
6575         * libs/gst/base/gstcollectpads.h:
6576         Don't put the previously added destroy notify in the GstCollectData
6577         struct as all it's padding is already used and we don't want to break
6578         ABI. Instead put in the pad's GObject data for now. This should be
6579         cleaned up for 0.11 (#402393).
6580
6581 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
6582
6583         reviewed by: Wim Taymans <wim@fluendo.com>
6584
6585         * docs/libs/gstreamer-libs-sections.txt:
6586         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6587         (unref_data), (gst_collect_pads_add_pad),
6588         (gst_collect_pads_add_pad_full):
6589         * libs/gst/base/gstcollectpads.h:
6590         API: Add function to specify a destroy notification for custom
6591         GstCollectData when adding new pads in GstCollectPads (#402393).
6592
6593 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
6594
6595         * po/sv.po:
6596           Update Swedish translation (#378255).
6597
6598 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
6599
6600         * docs/design/draft-klass.txt:
6601           Fix the previous change, this is a list of categories and not a hierarchy.
6602
6603 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
6604
6605         * docs/design/draft-klass.txt:
6606           Add info about how to get a list of used classes.
6607
6608 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
6609
6610         * plugins/elements/gsttypefindelement.c:
6611         (gst_type_find_element_chain_do_typefinding),
6612         (gst_type_find_element_change_state):
6613           Don't leak found caps in chain function (no idea why that never
6614           showed up as a leak anywhere).
6615
6616 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
6617
6618         * gst/gstplugin.h:
6619           Fix and expand GstPluginDesc API docs.
6620
6621 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
6622
6623         * gst/gstcaps.c:
6624         * gst/gstelementfactory.c:
6625         * gst/gstpadtemplate.h:
6626           api doc fixes
6627
6628         * libs/gst/controller/gstcontroller.c:
6629         (gst_controlled_property_new):
6630         * tests/examples/controller/audio-example.c:
6631           comment fixes
6632
6633 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
6634
6635         * configure.ac:
6636           comment about refining the xml deps
6637
6638         * docs/manuals.mak:
6639           comments about moving away from jade for docs
6640         
6641         * gst/gst.c:
6642           recommit the ifdefs to use the binary registry
6643         
6644         * gst/gstbin.c: (gst_bin_change_state_func):
6645           this break is obsolete
6646
6647         * gst/gstelementfactory.h:
6648           better GST_ELEMENT_DETAILS docs, add comment about translation
6649
6650         * gst/gstinfo.h:
6651           remove eol slash
6652
6653         * gst/gstobject.c: (gst_signal_object_get_type):
6654           add G_UNLIKELY as usual
6655
6656         * gst/gstpad.c: (gst_pad_event_default):
6657           add fall trhu comment
6658
6659         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6660         (gst_registry_binary_initialize_magic),
6661         (gst_registry_binary_save_string),
6662         (gst_registry_binary_save_pad_template),
6663         (gst_registry_binary_save_feature),
6664         (gst_registry_binary_save_plugin),
6665         (gst_registry_binary_write_cache),
6666         (gst_registry_binary_check_magic),
6667         (gst_registry_binary_load_pad_template),
6668         (gst_registry_binary_load_feature),
6669         (gst_registry_binary_load_plugin),
6670         (gst_registry_binary_read_cache):
6671           comment typo and formatting
6672
6673         * gst/gstutils.c: (gst_element_state_get_name),
6674         (gst_element_state_change_return_get_name):
6675           remove obsolete breaks
6676
6677         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6678           add FIXME 0.11 and remove cpp comment
6679
6680 2007-01-29  Edward Hervey  <edward@fluendo.com>
6681
6682         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6683         Fix print statement in an even more portable way.
6684
6685 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
6686
6687         * docs/gst/gstreamer-sections.txt:
6688         * gst/gstutils.h:
6689           API: add GST_ROUND_DOWN_* macros (#401781).
6690
6691 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
6692
6693         * docs/gst/gstreamer.types.in:
6694         * gst/gstregistry.c: (gst_registry_class_init):
6695           Document registry signals and make gtk-doc pick them up (#401381).
6696
6697 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
6698
6699         * docs/pwg/building-testapp.xml:
6700           Add some audioconverts and audioresample to the pipeline, and some
6701           more comments and error handling.
6702
6703 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
6704
6705         * docs/manual/manual.xml:
6706         * docs/pwg/pwg.xml:
6707           Fix typo (#400987).
6708
6709 2007-01-26  Wim Taymans  <wim@fluendo.com>
6710
6711         * gst/gstcaps.c: (gst_static_caps_get):
6712         Init caps flags too.
6713
6714 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
6715
6716         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
6717
6718         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
6719         If not using mmap'ed files try to seek to the end instead of the
6720         start to determine whether we can seek at all. This fixes the case
6721         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
6722         seeks for everything afterwards fail. Fixes #400656
6723
6724 2007-01-25  Wim Taymans  <wim@fluendo.com>
6725
6726         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
6727         Add some refcount debugging.
6728         Make gst_static_caps_get threadsafe, which is needed when autoplugging
6729         in multiple streaming threads.
6730
6731 2007-01-25  Wim Taymans  <wim@fluendo.com>
6732
6733         Patch by: David Schleef <ds at schleef dot org>
6734
6735         * docs/libs/gstreamer-libs-sections.txt:
6736         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
6737         * libs/gst/base/gstadapter.h:
6738         API: gst_adapter_copy() that can reduce the amount of memcpy when
6739         getting data from the adapter. Fixes #388201.
6740
6741 2007-01-25  Edward Hervey  <edward@fluendo.com>
6742
6743         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6744         In print statements, "%x" is for guint. Fixes build on macosx.
6745
6746 2007-01-24  Edward Hervey  <edward@fluendo.com>
6747
6748         * plugins/elements/gstmultiqueue.c:
6749         (gst_multi_queue_loop):
6750         Small fix.
6751         (single_queue_overrun_cb), (single_queue_underrun_cb),
6752         (single_queue_check_full), (gst_single_queue_new):
6753         Implement single queue growth system.
6754         This uses the extra-size properties, and will grow single queues by
6755         that much if one goes full whereas there are others empty. This is
6756         called extra-mode in the code.
6757         When a single queue's levels go back below the initial max-size
6758         limits, it is no longer in extra-mode. This is to ensure we don't
6759         consume too much memory.
6760         Fixes #399875
6761
6762 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
6763
6764         * gst/gst.c: (gst_init_get_option_group):
6765           Make warning about late g_thread_init() calls a bit more explicit,
6766           so that it's more obvious to application developers what they need
6767           to do if a user files a bug against their application.
6768
6769 2007-01-22  Edward Hervey  <edward@fluendo.com>
6770
6771         * plugins/elements/gstmultiqueue.c:
6772         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
6773         Remove previous hack of unsetting the flushing flag for the source pad
6774         instead of activating it. Instead, fix the source pad activate function
6775         so that it no longer depends on having a parent set or not.
6776
6777 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
6778
6779         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
6780
6781         * docs/manual/basics-bus.xml:
6782           Fix example code, gst_element_unref() doesn't exist any longer.
6783
6784 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
6785
6786         Patch by: Mark Nauwelaerts <manauw at skynet be>
6787
6788         * gst/gstpad.c:
6789           Fix two docs typoes (#399094).
6790
6791 2007-01-19  Edward Hervey  <edward@fluendo.com>
6792
6793         * docs/faq/gst-uninstalled:
6794         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
6795         depending on libgstbaseutils can work in uninstalled environment.
6796
6797 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
6798
6799         * gst/gsttaglist.h:
6800         * gst/gsttagsetter.c:
6801         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
6802         statement for new tag.
6803
6804 2007-01-17  Edward Hervey  <edward@fluendo.com>
6805
6806         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
6807         When dynamically creating single queues, activate sinkpad before adding
6808         it.
6809         We should be doing the same thing for the source pad, but we can't
6810         since it would call a method which needs the parent to be set in order
6811         to work propertly. Instead of activating the source pad, we just unset
6812         the flushing flag, which is the minimal requirement for adding a pad
6813         to an element in a state greater than READY.
6814
6815 2007-01-17  Edward Hervey  <edward@fluendo.com>
6816
6817         * docs/faq/gst-uninstalled:
6818         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
6819         Mac OS X.
6820
6821 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
6822
6823         * tests/check/gst/gstabi.c:
6824         * tests/check/gst/struct_hppa.h:
6825         * tests/check/libs/libsabi.c:
6826         * tests/check/libs/struct_hppa.h:
6827           Add ABI structs for HPPA (see #393796).
6828
6829 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
6830
6831         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
6832           Actually write ABI structs to the file specified in the GST_ABI
6833           environment variable, as the message we print claims we would.
6834
6835 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6836
6837         * tests/check/gst/gsttask.c:
6838           Fix header comment.
6839
6840 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6841
6842         * gst/gsttaglist.c: (_gst_tag_initialize):
6843           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
6844           previous two entries.
6845
6846 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6847
6848         * docs/gst/gstreamer-sections.txt:
6849         * gst/gsttaglist.c: (_gst_tag_initialize):
6850         * gst/gsttaglist.h:
6851           Add tag support for beat-per-minute.
6852
6853 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6854
6855         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6856         (gst_registry_binary_initialize_magic),
6857         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
6858         (gst_registry_binary_save_pad_template),
6859         (gst_registry_binary_save_feature),
6860         (gst_registry_binary_save_plugin),
6861         (gst_registry_binary_write_cache),
6862         (gst_registry_binary_check_magic),
6863         (gst_registry_binary_load_pad_template),
6864         (gst_registry_binary_load_feature),
6865         (gst_registry_binary_load_plugin),
6866         (gst_registry_binary_read_cache):
6867         * gst/gstregistrybinary.h:
6868           Use glib types, cleanup comments, impement interfaces and uri-types.
6869
6870 2007-01-13  Andy Wingo  <wingo@pobox.com>
6871
6872         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
6873         getrange() to return buffers with other caps, while we fix
6874         demuxers and typefind, or otherwise change part-negotiation.txt.
6875
6876 2007-01-12  Andy Wingo  <wingo@pobox.com>
6877
6878         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
6879         Factor start/stop into this private function instead of partially
6880         in activate functions and partially in the change_state function.
6881         Fixes setup before the element has changed from READY->PAUSED, as
6882         is the case in pull-mode pipelines.
6883         (gst_base_transform_sink_activate_push)
6884         (gst_base_transform_src_activate_pull): Refactor to use
6885         gst_base_transform_activate().
6886         (gst_base_transform_change_state): Removed, not needed any more.
6887
6888         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
6889         Truncate before fixating.
6890         
6891         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
6892         Don't set_caps() if the result of fixating is ANY, as it's not
6893         supported, and not necessary in the case of a link with no
6894         template caps on either side. Fixes tests/check/libs/basesrc in
6895         some pull-mode tests.
6896
6897         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
6898         (gst_base_transform_init, gst_base_transform_sink_activate_push)
6899         (gst_base_transform_src_activate_pull): 
6900         Track the activation mode.
6901         (gst_base_transform_setcaps): In pull mode, when activating the
6902         src pad, after activating the sink pad, activate the sink pad's
6903         peer, as discussed in part-negotiation.txt.
6904
6905         * libs/gst/base/gstbasesrc.h: 
6906         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
6907         vmethod, as in basesink.
6908
6909         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
6910
6911         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
6912         mode, first proxy the setcaps to the peer pad.
6913         (gst_base_sink_pad_fixate): Add a fixate function that calls the
6914         new fixate vmethod.
6915         (gst_base_sink_default_activate_pull): Rename from
6916         gst_base_sink_activate_pull.
6917         (gst_base_sink_negotiate_pull): New function, performs negotiation
6918         in pull mode before calling ::activate_pull().
6919         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
6920         vmethod instead of the default implementation. I have no idea how
6921         this worked before. Negotiate before calling activate_pull.
6922
6923         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
6924         sink pads in pull mode. In addition to being correct, fixes
6925         filesrc ! decodebin ! identity ! fakesink.
6926         (gst_pad_get_range, gst_pad_pull_range): Don't call
6927         gst_pad_set_caps() if the caps changes; instead error out with
6928         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
6929
6930 2007-01-12  Andy Wingo  <wingo@pobox.com>
6931
6932         * docs/design/part-negotiation.txt: Update with more policy.
6933
6934 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
6935
6936         * libs/gst/check/gstbufferstraw.h:
6937         * libs/gst/check/gstcheck.h:
6938           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
6939           belongs.
6940
6941 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
6942
6943         * tests/check/Makefile.am:
6944         * tests/check/gst/.cvsignore:
6945         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
6946         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
6947         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
6948         (GST_START_TEST), (gst_tag_setter_suite):
6949           Add minimal unit test for beforementioned GstTagSetter bug.
6950
6951 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
6952
6953         Patch by: René Stadler <mail at renestadler dot de>
6954
6955         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
6956           gst_tag_list_merge() returns a new list, so it's not the best idea
6957           to ingore its return value. Effectively meant that tags could only
6958           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
6959           Also add function guard to require a non-NULL taglist as input (has
6960           always been so due to gst_tag_list_copy(), just making it explicit).
6961
6962 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6963
6964         * docs/random/draft-missing-plugins.txt:
6965           Some additions: mention new API that is supposed to be used at the
6966           various stages; short blob about new gst-inspect introspection
6967           option; mention potential future problem with plugins that have
6968           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
6969
6970 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6971
6972         * tools/gst-inspect.c:
6973         (print_plugin_automatic_install_info_codecs),
6974         (print_plugin_automatic_install_info_protocols),
6975         (print_plugin_automatic_install_info), (main):
6976         Add --print-plugin-auto-install-info option to gst-inspect, so we can
6977         introspect plugin files and get machine-parsable output that corresponds
6978         to the last bit of the missing-plugin installer string (small gotcha:
6979         doesn't take into account ranks).
6980
6981 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
6982
6983         * configure.ac:
6984         * docs/gst/gstreamer-sections.txt:
6985         * gst/Makefile.am:
6986         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
6987         (gst_registry_lookup_locked):
6988         * gst/gstregistry.h:
6989         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6990         (gst_registry_binary_initialize_magic),
6991         (gst_registry_binary_save_string),
6992         (gst_registry_binary_save_pad_template),
6993         (gst_registry_binary_save_feature),
6994         (gst_registry_binary_save_plugin),
6995         (gst_registry_binary_write_cache),
6996         (gst_registry_binary_check_magic),
6997         (gst_registry_binary_load_pad_template),
6998         (gst_registry_binary_load_feature),
6999         (gst_registry_binary_load_plugin),
7000         (gst_registry_binary_read_cache):
7001         * gst/gstregistrybinary.h:
7002         * gst/gstregistryxml.c: (load_feature),
7003         (gst_registry_xml_read_cache):
7004           commit binary registry (disabled by default, see #359653)
7005
7006 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
7007
7008         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
7009           Fix 'make check' too.
7010
7011 2007-01-10  Andy Wingo  <wingo@pobox.com>
7012
7013         * docs/design/part-negotiation.txt: Fix a typo, add a couple
7014         notes.
7015         
7016         * docs/design/part-negotiation.txt: Update with, um, one way that
7017         pull-mode negotiation might work?
7018
7019         * gst/gstpad.h: 
7020         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
7021         that the pad must be a src pad; makes sense to call it the other
7022         way in pull mode, and the logic is symmetric anyway.
7023
7024 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
7025
7026         * plugins/elements/gstfilesink.c:
7027           Include <stdio.h> for fseeko().
7028
7029 2007-01-10  Wim Taymans  <wim@fluendo.com>
7030
7031         * gst/gstevent.c:
7032         * gst/gstevent.h:
7033         Reserve LATENCY event.
7034
7035 2007-01-09  Wim Taymans  <wim@fluendo.com>
7036
7037         * docs/design/draft-latency.txt:
7038         Updates.
7039
7040 2007-01-09  Wim Taymans  <wim@fluendo.com>
7041
7042         * docs/design/draft-latency.txt:
7043         Updates.
7044
7045         * gst/gstelement.h:
7046         * gst/gststructure.c:
7047         * gst/gsttrace.c:
7048         Small typo fixes.
7049
7050 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
7051
7052         * tests/check/.cvsignore:
7053           Ignore test-registry.xml as well.
7054
7055 2007-01-09  Wim Taymans  <wim@fluendo.com>
7056
7057         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
7058         unref data at the end when we are done with the pad.
7059
7060 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
7061
7062         * docs/gst/gstreamer-sections.txt:
7063         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
7064         (init_post), (gst_deinit), (gst_update_registry):
7065         * gst/gst.h:
7066           API: add gst_update_registry() (#391296).
7067
7068         * tests/check/Makefile.am:
7069         * tests/check/gst/gstregistry.c:
7070         * tests/check/gst/.cvsignore:
7071           Simple unit test for the above.
7072
7073 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
7074
7075         * gst/gstregistry.c: (gst_registry_scan_path_level):
7076           Plugin extension on HP-UX is .sl, add that to the list of approved
7077           plugin extensions (see #393796).
7078
7079         * tests/check/gst/gstpad.c: (GST_START_TEST):
7080           ulong => gulong. Fixes compilation with HP-UX compiler.
7081
7082         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7083           Fix compilation if valgrind headers are not available.
7084
7085 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
7086
7087         * win32/common/libgstreamer.def: 
7088           Add new exported function.
7089         * win32/vs6/libgstbase.dsp: 
7090           Add gstdataqueue.c to the build.
7091         * win32/vs6/libgstcoreelements.dsp:
7092           Add gstmultiqueue.c to the build.
7093         
7094 2007-01-06  Andy Wingo  <wingo@pobox.com>
7095
7096         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
7097         activate_pull(), providing for a way to specialize the process of
7098         spawning a thread to pull on the sink pad. There is a default
7099         implementation.
7100
7101         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
7102         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
7103         (gst_base_sink_init): Renamed pad activation functions (inserting
7104         "_pad" in their names). Refactor to use the new activate_pull
7105         vmethod, as appropriate.
7106         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
7107         default activate_pull function to start a task pulling from the
7108         sink pad, as before.
7109
7110         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
7111         on the pads if necessary, as in push()/chain(). Update docs.
7112         Shouldn't affect existing pull() usage as it is currently only
7113         being used on buffers without caps.
7114
7115 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
7116
7117         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7118         (init_pre):
7119           Call g_thread_init() first thing in gst_init() / gst_check_init().
7120           When initialisation is done via gst_init_get_option_group() and
7121           GOption parsing, issue a warning if the GLib thread system has not
7122           been initialised yet by the time gst_init_get_option_group() is
7123           called, as it's quite likely other GLib functions such as
7124           g_option_context_new() have been called already then, and
7125           g_thread_init() must be called before any other GLib function. The
7126           application in question must be fixed in that case, since memory
7127           corruption might happen otherwise.
7128           We issue the warning because even if the GLib folks decide to work
7129           around the problem on their end in future, this is still an issue
7130           with all GLib versions >= 2.10.0, so we should warn until we depend
7131           on a GLib version we know to be safe.
7132           Update documentation as well.
7133           Closes bug #391278.
7134
7135 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
7136
7137         * tools/gst-inspect.c: (main):
7138         * tools/gst-launch.c: (main):
7139         * tools/gst-typefind.c: (main):
7140         * tools/gst-xmlinspect.c: (main):
7141           Call g_thread_init() really really early, before any other GLib
7142           function (see #342564 and recent discussion on gtk-devel-list).
7143
7144 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
7145
7146         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
7147
7148         * gst/gst_private.h:
7149         * gst/gstconfig.h.in:
7150         * gst/gstinfo.h:
7151           On win32, all the __declspec stuff for symbol exporting is
7152           apparently only needed with MSVC, but doesn't work with MingW.
7153           Fixes compilation with MingW and #391909.
7154
7155 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
7156
7157         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
7158           Change some GST_ERROR_OBJECT that aren't really errors to
7159           GST_WARNING_OBJECT in order to reduce terminal spam.
7160
7161 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
7162
7163         * tests/check/Makefile.am:
7164           disable test again, as there seem to be still race problems
7165
7166 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
7167
7168         * tests/check/Makefile.am:
7169         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7170         (GST_START_TEST), (queue_suite):
7171           enable queue test again, add tests for the leaky behaviour
7172
7173 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
7174
7175         * configure.ac:
7176         * tests/examples/Makefile.am:
7177           Compile adapter test/example only if the required headers are
7178           available (fixes #391915).
7179
7180 2007-01-01  David Schleef  <ds@schleef.org>
7181
7182         * gst/gstplugin.c:
7183           Restore the previous signal handler for SIGSEGV instead of
7184           setting to default, since we may have stolen it away from
7185           someone.  (i.e., Mono)
7186
7187 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
7188
7189         * docs/random/draft-missing-plugins.txt:
7190           Some small additions and clarifications.
7191
7192 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
7193
7194         * gst/gstregistryxml.c: (gst_registry_save_escaped):
7195           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
7196           since that can lead to random memory corruptions and crashes
7197           (may or may not be related to #383244, #386711, and #386711).
7198
7199 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7200
7201         * tests/check/.cvsignore:
7202         * tests/check/Makefile.am:
7203           sync .cvsignome and CLEANFILES
7204
7205 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7206
7207         * tests/check/Makefile.am:
7208           fix distcheck
7209
7210 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7211
7212         * docs/design/part-states.txt:
7213           two tiny additional comments
7214         
7215         * gst/gststructure.c:
7216           doc fixing
7217
7218         * tests/check/Makefile.am:
7219         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7220         (GST_START_TEST):
7221           disable test for now, unless it gets fixed
7222
7223 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7224
7225         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7226         (GST_START_TEST):
7227           fix race in underrun test
7228
7229 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7230
7231         * tests/check/elements/.cvsignore:
7232           ignore more
7233
7234         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7235         (GST_START_TEST):
7236           try to narrow test failure
7237
7238 2006-12-21  David Schleef  <ds@schleef.org>
7239
7240         * plugins/elements/gstfakesrc.c:
7241           Use g_random_int_range(), since it produces better random
7242           numbers in a range than almost-correct floating point code.
7243
7244 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7245
7246         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
7247         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7248         (gst_check_teardown_sink_pad):
7249           do not automatically (de)activate pads
7250
7251         * tests/check/Makefile.am:
7252         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7253         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
7254           add new, yet simple tests for queue
7255
7256         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
7257         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
7258         * tests/check/elements/filesrc.c: (cleanup_filesrc),
7259         (GST_START_TEST):
7260         * tests/check/elements/identity.c: (cleanup_identity):
7261           consistent pad (de)activation
7262
7263 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
7264
7265         Patch by: Sebastian Dröge  <slomo ubuntu com>
7266
7267         * libs/gst/base/gstcollectpads.c:
7268           Fix two doc typos (#387866).
7269
7270 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
7271
7272         * docs/manual/advanced-dparams.xml:
7273           Fix typo (g_object_control_properties() doesn't exist).
7274
7275 2006-12-19  Edward Hervey  <edward@fluendo.com>
7276
7277         * gst/gstsegment.c: (gst_segment_set_seek):
7278         Fine tune the cases where the segment start/stop values are really
7279         updated.
7280         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7281         Add tests for the return values of gst_segment_set_seek().
7282
7283 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
7284
7285         * gst/gst.c:
7286           Docs typo fix.
7287
7288         * plugins/elements/gstqueue.c: (gst_queue_class_init),
7289         (gst_queue_init):
7290           Fix incorrect documentation and flesh it out a bit more.
7291           Set default values for the max properties on the GParamSpec as well,
7292           so it shows up correctly in gst-inspect.
7293
7294 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
7295
7296         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
7297           Correct docs of queue, add more detail and crosslink it more.
7298
7299 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
7300
7301         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7302           Print additional debug info when the stream isn't perfectly
7303           timestamped; don't try to use invalid durations.
7304
7305 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
7306
7307         * docs/design/Makefile.am:
7308           Dist new design docs.
7309
7310 2006-12-16  Wim Taymans  <wim@fluendo.com>
7311
7312         Patch by: Sjoerd Simons <sjoerd at luon dot net>
7313
7314         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
7315         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
7316         (gst_collect_pads_stop), (gst_collect_pads_event),
7317         (gst_collect_pads_chain):
7318         * libs/gst/base/gstcollectpads.h:
7319         Add refcounting to the collectpads data so we can track when it's safe
7320         to free the data. Fixes #383382.
7321
7322 2006-12-15  Wim Taymans  <wim@fluendo.com>
7323
7324         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
7325         (gst_collect_pads_remove_pad):
7326         Automatically activate/deactivate pads when they are added to a
7327         started/stoped collectpads.
7328
7329 2006-12-15  Wim Taymans  <wim@fluendo.com>
7330
7331         * gst/gstelement.c: (gst_element_add_pad):
7332         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
7333         * gst/gstpad.c: (gst_pad_init):
7334         Set pads to FLUSHING when they are created. Check, warn and fix when a
7335         demuxer adds an inactive pad to itself when running. Fixes #339326.
7336
7337 2006-12-15  Wim Taymans  <wim@fluendo.com>
7338
7339         * gst/gstelement.c: (gst_element_class_init),
7340         (gst_element_default_send_event), (gst_element_send_event),
7341         (gst_element_default_query), (gst_element_query):
7342         Expose default element send_event and query handling as vmethods that
7343         subclasses can chain up to.
7344
7345 2006-12-15  Wim Taymans  <wim@fluendo.com>
7346
7347         * gst/gstelement.c: (gst_element_set_state_func):
7348         Small documentation fixes.
7349
7350 2006-12-15  Wim Taymans  <wim@fluendo.com>
7351
7352         * docs/design/draft-latency.txt:
7353         Checked in draft for handling latency in pipelines.
7354
7355 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7356
7357         * Makefile.am:
7358         * gstreamer.doap:
7359         * gstreamer.spec.in:
7360           adding .doap file
7361
7362 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
7363
7364         * gst/gst.c: (init_pre), (init_post):
7365           init_pre() and init_post() might be called via our GOptionGroup or
7366           from gst_init(), and we should skip both of them if we've already
7367           been initialised, otherwise we will init some things twice or add
7368           two default log functions.
7369
7370 2006-12-13  Edward Hervey  <edward@fluendo.com>
7371
7372         * docs/manual/basics-bus.xml:
7373         No, gst_main_loop does not exist. Its g_main_loop.
7374         Discovered by somebody who abused the copy-paste technique of coding :)
7375
7376 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
7377
7378         * gst/gstghostpad.c:
7379           Log ghostpad debug stuff to the GST_PADS category as well rather
7380           than just to the default category.
7381
7382 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
7383
7384         * configure.ac:
7385         * gst/gst.c: (init_pre):
7386           Add some basic system details such as OS and architecture
7387           to the debug output if possible, courtesy of uname().
7388
7389 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7390
7391         * docs/gst/running.xml:
7392           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
7393           environment variables.
7394
7395 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
7396
7397         * tests/check/gst/gstbin.c: (GST_START_TEST):
7398         It is acceptable to have a refcount of 2 or 3 at this point in the
7399         test, because the pipeline might be just posting its state_change
7400         message. The next line then waits for that message to appear using
7401         bus_poll, so that should be fine too.
7402
7403 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
7404
7405         * gst/gst.c: (ensure_current_registry_forking):
7406         Ignore EINTR when reading from the child registry pipe.
7407         Explicitly ignore the return value from close, since it makes no
7408         difference.
7409
7410         * gst/gstminiobject.c: (gst_mini_object_ref),
7411         (gst_mini_object_unref):
7412         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
7413
7414         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
7415         When removing cached plugins, remove their features too, so they're
7416         not visible after they've disappeared.
7417
7418         * gst/gstutils.c: (prepare_link_maybe_ghosting):
7419         In the unlikely case that we are linking pads with no parents, don't
7420         crash trying to get the non-existent parent bin.
7421
7422         * gst/parse/grammar.y:
7423         Output debug in the PIPELINE category
7424
7425 2005-03-08  Wim Taymans  <wim@fluendo.com>
7426
7427         Patch by: René Stadler <mail at renestadler dot de>
7428
7429         * gst/gstclock.c: (gst_clock_new_periodic_id):
7430         Reject invalid clock times for interval of periodic ids.
7431         Fixes ##383506.
7432
7433 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
7434
7435         * gst/gstelementfactory.c: (gst_element_factory_create):
7436         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7437         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
7438         * tools/gst-inspect.c: (print_element_info):
7439         Fix refcounting of gst_plugin_feature_load to match the docs. 
7440         Fixes: #380129
7441
7442 2006-12-07  Wim Taymans  <wim@fluendo.com>
7443
7444         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
7445         (gst_base_sink_get_position):
7446         Improve debugging of events.
7447
7448 2006-12-07  Wim Taymans  <wim@fluendo.com>
7449
7450         Patch by: René Stadler <mail at renestadler dot de>
7451
7452         * gst/gstclock.c: (gst_clock_id_wait):
7453         Make period ids add the interval to the origial requested time instead
7454         of the possibly updated time which can be wrong when there are multiple
7455         waiters for the same id. Fixes #382592.
7456
7457         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
7458         (gst_system_clock_id_wait_jitter_unlocked),
7459         (gst_system_clock_id_wait_jitter):
7460         Fix restart in the async notify thread when an async entry is added to
7461         the front of the list. Fixes #381492. 
7462
7463         * tests/check/gst/gstsystemclock.c: (store_callback),
7464         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
7465         Added test for multiple async waits.
7466         Added test for async wait order.
7467
7468 2006-12-07  Wim Taymans  <wim@fluendo.com>
7469
7470         * gst/gstbin.c: (gst_bin_query):
7471         Add some more docs about the POSITION query.
7472
7473 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
7474
7475         * configure.ac:
7476         Bump version nano - back to CVS.
7477
7478 === release 0.10.11 ===
7479
7480 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
7481
7482         * configure.ac:
7483           releasing 0.10.11, "Love never runs on time"
7484
7485 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
7486
7487         * win32/common/libgstbase.def:
7488         * win32/common/libgstreamer.def:
7489         * win32/vs8/libgstbase.vcproj:
7490         * win32/vs8/libgstcoreelements.vcproj:
7491         * win32/vs8/libgstreamer.vcproj:
7492         Fix compilation on win32 under VS8
7493         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7494         Partially fixes #381175
7495
7496 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7497
7498         * gst/gstvalue.c: (gst_value_compare_fraction):
7499         If someone is foolish enough to compare 2 fractions with denominator =
7500         0, return UNORDERED rather than aborting.
7501
7502 2006-11-28  Edward Hervey  <edward@fluendo.com>
7503
7504         * libs/gst/base/Makefile.am:
7505         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
7506         (gst_data_queue_base_init), (gst_data_queue_class_init),
7507         (gst_data_queue_init), (gst_data_queue_new),
7508         (gst_data_queue_cleanup), (gst_data_queue_finalize),
7509         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
7510         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
7511         (gst_data_queue_is_empty), (gst_data_queue_is_full),
7512         (gst_data_queue_set_flushing), (gst_data_queue_push),
7513         (gst_data_queue_pop), (gst_data_queue_drop_head),
7514         (gst_data_queue_set_property), (gst_data_queue_get_property):
7515         * libs/gst/base/gstdataqueue.h:
7516         New GstDataQueue object for threadsafe queueing. Most useful for
7517         elements that need some queueing functionnality.
7518         * docs/libs/gstreamer-libs-docs.sgml:
7519         * docs/libs/gstreamer-libs-sections.txt:
7520         Insert documentation for GstDataQueue
7521         * plugins/elements/Makefile.am:
7522         * plugins/elements/gstelements.c:
7523         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
7524         (gst_multi_queue_class_init), (gst_multi_queue_init),
7525         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7526         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
7527         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
7528         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7529         (gst_multi_queue_loop), (gst_multi_queue_chain),
7530         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7531         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
7532         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
7533         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
7534         (wake_up_next_non_linked), (compute_next_non_linked),
7535         (single_queue_overrun_cb), (single_queue_underrun_cb),
7536         (single_queue_check_full), (gst_single_queue_new):
7537         * plugins/elements/gstmultiqueue.h:
7538         New multiqueue element, using GstDataQueue. Used for queuing multiple
7539         streams.
7540         Closes #344639 and #347785
7541
7542 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
7543
7544         * docs/pwg/advanced-types.xml:
7545           add more missing type details
7546
7547         * tools/gst-run.c: (main):
7548           remove unused variable
7549
7550 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
7551
7552         * docs/libs/Makefile.am:
7553         * docs/libs/gstreamer-libs.types:
7554           add types of base classes to enable gobject specific stuff in the docs
7555
7556         * docs/random/ensonic/embedded.txt:
7557           more ideas about isolating platform specific things
7558
7559 2006-11-20  Wim Taymans  <wim@fluendo.com>
7560
7561         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
7562
7563         * libs/gst/check/gstcheck.h:
7564         Fix compilation and running against 0.9.4. Fixes #377332.
7565
7566 2006-11-20  Wim Taymans  <wim@fluendo.com>
7567
7568         * gst/gstsegment.c: (gst_segment_set_seek),
7569         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
7570         (gst_segment_to_running_time):
7571         Fix boundary checking in to_running_time() and to_stream_time().
7572         Fixes #377183.
7573
7574         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7575         stream and running time can now be calculated for the complete
7576         clipped segment.
7577
7578 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
7579
7580         * gst/gstpad.c: (gst_pad_push_event):
7581           Can't access event structure after giving away ownership of
7582           the event.
7583
7584 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
7585
7586         * docs/random/ensonic/embedded.txt:
7587         * docs/random/ensonic/profiling.txt:
7588         * docs/random/ensonic/receipies.txt:
7589           more thinking
7590
7591 2006-11-13  Wim Taymans  <wim@fluendo.com>
7592
7593         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7594
7595         * gst/gstpad.c:
7596         Fix documentation for gst_pad_dispatcher. Fixes #374475.
7597
7598 2006-11-13  Wim Taymans  <wim@fluendo.com>
7599
7600         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
7601
7602         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7603         Store new length in segment duration so we don't keep on calling the
7604         potentially expensize get_size() call. Fixes #370865.
7605
7606 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
7607
7608         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
7609
7610         * win32/common/libgstreamer.def:
7611           Add two missing symbols (#366492).
7612
7613 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
7614
7615         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
7616         (gst_adapter_take_buffer):
7617         Fix format string to use all its arguments.
7618         Remove useless >= check on a guint
7619
7620 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7621
7622         * tests/examples/adapter/.cvsignore:
7623         Ignore build file as commanded by the build-bot
7624
7625 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7626
7627         * tests/examples/adapter/Makefile.am:
7628         * tests/examples/adapter/adapter_test.c: (run_test_take),
7629         (run_test_take_buffer), (run_tests), (main):
7630
7631         Add new files from the previous commit
7632
7633 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7634
7635         * Makefile.am:
7636         * configure.ac:
7637         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
7638         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
7639         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
7640         * libs/gst/base/gstadapter.h:
7641         * tests/check/libs/adapter.c: (create_and_fill_adapter),
7642         (GST_START_TEST), (gst_adapter_suite):
7643         * tests/examples/Makefile.am:
7644         Do some optimisation work in GstAdapter to avoid copies in more cases.
7645         It could still do slightly better by merging buffers when
7646         gst_buffer_is_span_fast is true, but is already faster. 
7647
7648         Also, avoid traversing a single-linked list to append each incoming 
7649         buffer inside the adapter.
7650
7651         Add simple test app that times the adapter behaviour in different
7652         situations, and extend the unit test to check that bytes enter and
7653         exit the adapter in their original order.
7654
7655 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7656
7657         * docs/random/draft-missing-plugins.txt:
7658           Update: use element message instead of adding a new message
7659           type to the core; don't provide GStreamer API to initiate the
7660           plugin download, just provide API to compose the strings needed
7661           and let an external libgimmestuff handle the rest.
7662
7663 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
7664
7665         * tools/gst-inspect.c: (print_element_properties_info):
7666         Print a string instead of 'unknown type' for GValueArray properties
7667
7668 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
7669
7670         * docs/random/draft-missing-plugins.txt:
7671         More small fixes.
7672
7673 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7674
7675         * tests/examples/typefind/typefind.c: (type_found), (main):
7676           Make typefind element example work again (#371894); add a
7677           license header.
7678
7679 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7680
7681         * docs/random/draft-missing-plugins.txt:
7682           Commit initial draft about how to deal with missing plugins,
7683           needs work (API too).
7684
7685 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
7686
7687         * docs/pwg/advanced-types.xml:
7688           documents the new caps elements (see #363118)
7689
7690 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
7691
7692         * gst/gstplugin.c: (gst_plugin_load_file):
7693         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
7694         (gst_file_src_map_region), (gst_file_src_start):
7695         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
7696         (gst_file_index_commit):
7697           Use g_strerror() instead of strerror() - we want UTF-8.
7698
7699 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
7700
7701         Patch by: Peter Kjellerstedt <pkj at axis com>
7702
7703         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7704           Another printf fix (#371493).
7705
7706 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7707
7708         * tests/check/gst/gsttag.c:
7709           relicence (okay with author=company)
7710
7711 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7712
7713         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7714         (gst_pad_push_event):
7715           Enhance debug and improve docs
7716         
7717         * gst/gsturi.c:
7718           Fix docs
7719
7720 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7721
7722         * docs/random/ensonic/distributed.txt:
7723         * docs/random/ensonic/profiling.txt:
7724           more ideas
7725
7726 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7727
7728         * docs/gst/gstreamer-sections.txt:
7729           add new API and fix the build
7730           
7731         * gst/gstbin.c: (gst_bin_recalc_state):
7732         * gst/gstelement.c: (gst_element_message_full),
7733         (gst_element_get_state_func), (gst_element_set_state_func):
7734           use new API and improve logging
7735         
7736         * gst/gstutils.c: (gst_element_state_change_return_get_name):
7737         * gst/gstutils.h:
7738           API: add function to get StateChangereturn names to improve logs 
7739
7740 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7741
7742         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7743           I'm considering shooting the next person to put strerror stuff
7744           in the translateable part of the message.
7745
7746 2006-11-03  Wim Taymans  <wim@fluendo.com>
7747
7748         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7749         Get the type and printf conversion specifiers right.
7750
7751 2006-11-03  Wim Taymans  <wim@fluendo.com>
7752
7753         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7754
7755         * gst/gstpad.c: (gst_pad_init), (pre_activate),
7756         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
7757         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
7758         Some small cleanups. Improve debugging.
7759         * gst/gstpad.h:
7760         Signal all waiting threads with a broadcast instead of just one.
7761         Fixes #369942.
7762
7763 2006-11-03  Wim Taymans  <wim@fluendo.com>
7764
7765         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
7766         (gst_fd_src_create):
7767         Add some debugging. 
7768         Only update fd when it's different from the old.
7769
7770 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7771
7772         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
7773           Printf fixes for PPC/OSX, take two (#369366).
7774
7775 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7776
7777         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
7778
7779         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
7780         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7781         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
7782           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
7783           don't cast to long long for portability reasons, but use
7784           GLib's types instead.
7785
7786 2006-10-30  Michael Smith  <msmith@fluendo.com>
7787
7788         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
7789           Get the arguments to lseek() the right way around.
7790           Fixes 367677.
7791
7792 2006-10-30  Wim Taymans  <wim@fluendo.com>
7793
7794         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
7795
7796         * gst/gstinfo.h:
7797         _declspec should be __declspec (two underscores, not one). Fixes 366572.
7798
7799 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
7800
7801         Patch by: Kjartan Maraas  <kmaraas at gnome org>
7802
7803         * docs/design/part-MT-refcounting.txt:
7804         * docs/random/wtay/capsnego2-docs:
7805         * gst/gstclock.c:
7806         * gst/gstxml.c:
7807           Typo fixes (#366212).
7808
7809 2006-10-28  Wim Taymans  <wim@fluendo.com>
7810
7811         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7812
7813         * gst/gst.c:
7814         * win32/common/libgstbase.def:
7815         * win32/common/libgstreamer.def:
7816         * win32/vs8/libgstbase.vcproj:
7817         * win32/vs8/libgstcontroller.vcproj:
7818         Add needed entries in .def files.
7819         Use HAVE_UNISTD_H.
7820         Rearrange def files in vs8 solutions. Fixes #366286.
7821
7822 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
7823
7824         * win32/common/gstconfig.h:
7825           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
7826           hand-made win32 gstconfig.h. Fixes #366321.
7827
7828 2006-10-27  Wim Taymans  <wim@fluendo.com>
7829
7830         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
7831         (gst_ghost_pad_new_full):
7832         Make acceptcaps return TRUE when we don't have a target, just like
7833         setcaps does.
7834
7835 2006-10-27  Wim Taymans  <wim@fluendo.com>
7836
7837         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7838         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
7839
7840 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
7841
7842         * gst/gststructure.c: (gst_structure_id_set_value):
7843           If someone tries to set a non-UTF8 string field on a structure,
7844           don't just print a warning, but also ignore the request and do
7845           not change/add that field to the structure.
7846
7847         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7848           Test for the above.
7849
7850 2006-10-25  David Schleef  <ds@schleef.org>
7851
7852         * gst/gstinfo.c:
7853           g_hash_table_insert() needs a cast to a non-const pointer duh.
7854
7855 2006-10-25  David Schleef  <ds@schleef.org>
7856
7857         * gst/gstinfo.c:
7858         * gst/gstinfo.h:
7859           Change name parameter of _gst_debug_register_funcptr to const
7860           to reflect the constness of its use in the function as well
7861           as to quiet a gcc warning.
7862
7863 2006-10-25  Edward Hervey  <edward@fluendo.com>
7864
7865         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7866         Don't push the buffer if it's empty.
7867         Closes #363095
7868
7869 2006-10-24  Wim Taymans  <wim@fluendo.com>
7870
7871         * gst/gstevent.h:
7872         Add small comment.
7873
7874         * libs/gst/base/gstbasetransform.c:
7875         (gst_base_transform_sink_eventfunc):
7876         Debug segment values *after* updating them as this is more
7877         interesting.
7878
7879 2006-10-23  Wim Taymans  <wim@fluendo.com>
7880
7881         * docs/design/part-events.txt:
7882         Update some docs.
7883
7884         * docs/design/part-block.txt:
7885         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
7886         (gst_pad_push_event):
7887         Revert BLOCKING patch, it tries to be smart without really having a
7888         clear idea what or how. So, now we discard all FLUSHING events again on
7889         a blocking pad. Should fix gnonlin again.
7890
7891 2006-10-23  Wim Taymans  <wim@fluendo.com>
7892
7893         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7894
7895         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
7896         (gst_base_src_start), (gst_base_src_activate_push):
7897         Make sure size is always initialized. Fixes #364388.
7898
7899 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
7900
7901         * docs/random/ensonic/distributed.txt:
7902           add some ideas about doing distributed processing
7903
7904         * docs/random/ensonic/profiling.txt:
7905           get_rusage look promising
7906
7907 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
7908
7909         * docs/manual/basics-helloworld.xml:
7910           Add a cast in example to fix compile warning
7911
7912 2006-10-18  Wim Taymans  <wim@fluendo.com>
7913
7914         * gst/gstsegment.c: (gst_segment_set_last_stop),
7915         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
7916         Relax arg checking again, -1 is allowed.
7917
7918 2006-10-18  Wim Taymans  <wim@fluendo.com>
7919
7920         * gst/gstsegment.c: (gst_segment_set_last_stop),
7921         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
7922         _set_last_stop() must be with a value != -1
7923         A _TYPE_SET to -1 means seek to 0.
7924         Calc last_stop correctly for negative rates.
7925         Make sure we work with positive durations when updating a segment.
7926
7927 2006-10-18  Wim Taymans  <wim@fluendo.com>
7928
7929         * docs/design/part-live-source.txt:
7930         * gst/gstclock.h:
7931         Small docs fixes.
7932
7933 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
7934
7935         * gst/gstbuffer.h:
7936           Add an explicit cast to GstBuffer** to keep old code that added an
7937           explicit cast to GstMiniObject** for gst_mini_object_replace()
7938           compiling without warning.
7939
7940 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
7941
7942         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
7943           check for validity of dates
7944
7945 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
7946
7947         * docs/gst/gstreamer-sections.txt:
7948           Forgot this one, makes gtk-doc shut up.
7949
7950 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
7951
7952         Patch by: Peter Kjellerstedt <pkj at axis com>
7953
7954         * gst/gstobject.h:
7955           Don't define xmlNodePtr to gpointer if the core was built with
7956           --disable-loadsave and --disable-registry, this will break
7957           applications that want to use libxml2 but are buildling against a
7958           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
7959           instead so we don't have to mess with the libxml2 namespace
7960           (#361675).
7961
7962 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
7963
7964         * gst/gstbuffer.h:
7965           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
7966           type-punned pointer warnings.
7967
7968 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
7969
7970         * gst/gstelement.h:
7971           Add casts to the correct return type to state <=> state transition
7972           macros.
7973
7974 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
7975
7976         * docs/design/part-live-source.txt:
7977           describe howto handle latency
7978         
7979         * docs/random/ensonic/profiling.txt:
7980           more ideas
7981
7982         * tools/gst-plot-timeline.py:
7983           fix log parsing for solaris, remove unused function
7984
7985 2006-10-16  Wim Taymans  <wim@fluendo.com>
7986
7987         * docs/design/part-trickmodes.txt:
7988         * gst/gstevent.c:
7989         Update some docs regarding reverse playback.
7990
7991 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
7992
7993         Patch by: Marcus Granado  <mrc dot gran at gmail com>
7994
7995         * win32/vs8/grammar.vcproj:
7996           Error out with a warning if glib-genmarshal.exe is not in path,
7997           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
7998
7999 2006-10-13  Wim Taymans  <wim@fluendo.com>
8000
8001         * gst/gstsegment.c: (gst_segment_set_seek):
8002         When seeking to stop -1, set last_stop (current position) to the
8003         duration of the segment.
8004
8005 2006-10-13  Wim Taymans  <wim@fluendo.com>
8006
8007         * gst/gstelement.h:
8008         Clarify _NO_PREROLL a bit more.
8009
8010         * gst/gstevent.c:
8011         Fix docs.
8012
8013         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
8014         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
8015         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
8016         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
8017         due to wrong locking order. Fixes #361769.
8018         Remove some redundant/misplaced checks in pad_block.
8019
8020         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8021         For negative rates, count backwards from the duration.
8022
8023 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8024
8025         * gst/gsterror.c: (_gst_library_errors_init):
8026           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
8027           up with something better).
8028
8029 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
8030
8031         * win32/vs6/libgstreamer.dsp:
8032         * win32/vs7/libgstreamer.vcproj:
8033         * win32/vs8/libgstreamer.vcproj:
8034           Don't reference glib-compat.c which is currently not used and not
8035           disted; add gstquark.c which was recently added. Fixes #361730.
8036
8037 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
8038
8039         * win32/common/libgstbase.def:
8040         * win32/common/libgstcontroller.def:
8041         * win32/common/libgstreamer.def:
8042           Add gst_caps_merge() and a bunch of other recently-added functions.
8043           Fixes #361732.
8044
8045 2006-10-11  Wim Taymans  <wim@fluendo.com>
8046
8047         * docs/plugins/gstreamer-plugins.args:
8048         * docs/plugins/inspect/plugin-coreelements.xml:
8049         * docs/plugins/inspect/plugin-coreindexers.xml:
8050         Update element args.
8051
8052         * gst/gstsystemclock.c:
8053         Small comment update.
8054
8055         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
8056         (gst_tee_request_new_pad), (gst_tee_release_pad),
8057         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
8058         (gst_tee_sink_activate_pull):
8059         * plugins/elements/gsttee.h:
8060         Some tee loving:
8061         Add default property defines.
8062         Implement release pad function.
8063         Give properties better blubs etc.
8064         Activate pads before adding them to a running tee.
8065         Do simple buffer_alloc on the first requested pad.
8066         Post error when activation fails.
8067
8068 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
8069
8070         * gst/gst.c: (ensure_current_registry_forking):
8071           Check return value of write() to make compiler happy.
8072
8073 2006-10-11  Wim Taymans  <wim@fluendo.com>
8074
8075         Patch by: Sjoerd Simons <sjoerd at luon dot net>
8076
8077         * plugins/elements/gstqueue.c: (gst_queue_chain):
8078         Recheck queue filledness after signalling the overrun when we're about
8079         to leak downstream because we released the lock when emitting the signal
8080         and the queue could be empty again. Fixes #352345.
8081
8082 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
8083
8084         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
8085           Fix refcounting here too, just like we did for _new_valist() a few
8086           days ago (#357180) (thanks to René Stadler). Also remove all those
8087           'Since: 0.9' from the gtk-doc blobs.
8088
8089         * tests/check/libs/controller.c: (controller_refcount_new_list),
8090         (gst_controller_suite):
8091           Unit test for the above.
8092
8093 2006-10-10  Wim Taymans  <wim@fluendo.com>
8094
8095         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
8096
8097         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8098         (gst_pad_save_thyself):
8099         Update some docs.
8100         Write pad direction in XML output. Fixes #345496.
8101
8102 2006-10-10  Wim Taymans  <wim@fluendo.com>
8103
8104         Patch by: René Stadler <mail at renestadler dot de>
8105
8106         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8107         (gst_controller_new_list), (_gst_controller_dispose),
8108         (_gst_controller_finalize), (_gst_controller_class_init):
8109         Take ref to controlled object so that it cannot disappear. 
8110         Fixes #357432.
8111
8112 2006-10-10  Wim Taymans  <wim@fluendo.com>
8113
8114         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
8115         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8116         (gst_check_teardown_sink_pad):
8117         Activate/deactivate pads in setup/teardown respectively.
8118
8119 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8120
8121         Patch by: Josep Torra Valles <josep@fluendo.com>
8122
8123         * gst/Makefile.am:
8124         Cast values when making gstenumtypes.h.  This pacifies Forte
8125         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
8126         in the enumeration.
8127
8128 2006-10-09  Wim Taymans  <wim@fluendo.com>
8129
8130         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
8131         Rename some more @cur to @start to fix docs. 
8132
8133         * gst/gstsegment.c: (gst_segment_set_seek):
8134         Fix typo.
8135         time and start must always stay in sync as defined in design doc.
8136
8137         * gst/gsttaglist.c: (gst_tag_list_is_empty):
8138         Rename param to fix docs.
8139
8140         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8141         Check that start and time are in sync.
8142
8143         * tests/check/pipelines/parse-launch.c:
8144         (gst_parse_test_element_change_state):
8145         Activate pad before adding to the element.
8146
8147 2006-10-09  Wim Taymans  <wim@fluendo.com>
8148
8149         * docs/design/part-qos.txt:
8150         Fix typo.
8151
8152         * gst/gstevent.c:
8153         * gst/gstevent.h:
8154         Update seek event docs regarding negative rates.
8155         Rename @cur to @start. 
8156
8157         * gst/gstsegment.c: (gst_segment_set_seek):
8158         * gst/gstsegment.h:
8159         Update set_seek docs regarding negative rates.
8160         Correctly update last_stop to @stop when dealing with negative
8161         rates.
8162         Rename @cur to @start. 
8163
8164         * tests/check/gst/gstpad.c: (GST_START_TEST):
8165         Activate pads before trying to use them.
8166
8167         * tests/check/gst/gstsegment.c: (GST_START_TEST),
8168         (gst_segment_suite):
8169         Add simple check for segments and negative rates.
8170
8171 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
8172
8173         * gst/gsttaglist.c: (gst_tag_list_is_empty):
8174         * gst/gsttaglist.h:
8175         * docs/gst/gstreamer-sections.txt:
8176           API: add gst_tag_list_is_empty() (#360467).
8177
8178         * tests/check/gst/gsttag.c: (GST_START_TEST):
8179           And a test case.
8180
8181 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8182
8183         * gst/gstmessage.h:
8184         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
8185         a value that doesn't fit on enumeration.
8186
8187 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8188
8189         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8190         Remove local debugging system and use Gstreamer's instead.
8191
8192 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8193
8194         Patch by: Josep Torra Valles <josep@fluendo.com>
8195
8196         * common/m4/gst-error.m4:
8197         Disable warning of statement not reached on Forte.
8198         * gst/gstmessage.h:
8199         Fix warning on Forte (value doesn't fit on enumeration).
8200         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
8201         Fix warning on Forte (value doesn't fit on enumeration).
8202         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8203         DEBUG macro says it takes minimum of 2 args and so Forte
8204         complains about the use with just 1 arg.
8205         * plugins/elements/gstfdsink.c:
8206         * plugins/elements/gstfdsrc.c:
8207         * plugins/elements/gstfilesink.c:
8208         * plugins/elements/gstfilesrc.c:
8209         Use correct return type for the uri handler implementations.
8210
8211         All these fix warnings in Forte.  Fixes bug #360860.
8212
8213 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
8214
8215         * gst/gstelement.h:
8216           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
8217           format string, so don't use G_GNUC_PRINTF for those versions.
8218
8219 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
8220
8221         * gst/gsttaglist.c: (gst_is_tag_list):
8222         * gst/gsttaglist.h:
8223           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
8224
8225         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8226           Small test for the above.
8227
8228 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
8229
8230         * gst/gsttaglist.h:
8231           Less tabs, more spaces.
8232
8233 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
8234
8235         * gst/gstinfo.h:
8236           Those two function declarations do actually belong there, revert
8237           commit from yesterday that turned them intro macros.
8238
8239 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8240
8241         Patch by: Josep Torra Valles <josep@fluendo.com>
8242
8243         * gst/gst.c: (gst_init_get_option_group):
8244         Fix empty declaration and type mismatch.
8245         * gst/gstbin.c: (gst_bin_change_state_func):
8246         Fix type mismatch.
8247         * gst/gstelement.c: (gst_element_continue_state),
8248         (gst_element_set_state_func), (gst_element_change_state),
8249         (gst_element_change_state_func):
8250         Fix type mismatches.
8251         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
8252         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
8253         Cast as appropriate.
8254         * gst/gstobject.c: (gst_class_signal_connect):
8255         Cast as appropriate.  The function pointer parameter really
8256         has the wrong type but would break API if we change it.
8257         * gst/gstquery.c:
8258         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
8259         order of including string.h.
8260         * gst/gstutils.c: (gst_element_state_get_name):
8261         Remove unreachable line.
8262         * gst/gstxml.c: (gst_xml_parse_doc):
8263         Fix type mismatch.
8264         All these caught by Forte.
8265
8266 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8267
8268         Patch by: Josep Torra Valles <josep@fluendo.com>
8269
8270         * common/m4/gst-error.m4:
8271         Fixed bug #360151.
8272         We need to disable warnings on Forte for empty declarations
8273         due to gst-indent adding ;s to lines that just use macros
8274         where the macro actually doesn't need a ; at end to end
8275         statement.
8276
8277 2006-10-06  Wim Taymans  <wim@fluendo.com>
8278
8279         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8280         (gst_file_sink_close_file), (gst_file_sink_event),
8281         (gst_file_sink_render):
8282         Add some FIXME for the NEWSEGMENT handling.
8283
8284 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8285
8286         * gst/parse/grammar.y:
8287         Remove static function gst_parse_element_lock as all it does
8288         is return.  Looks like cruft from 0.8.
8289
8290 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8291
8292         Patch by: Josep Torra Valles <josep@fluendo.com>
8293
8294         * common/m4/gst-error.m4:
8295         * configure.ac:
8296         * libs/gst/net/Makefile.am:
8297         Fix a compilation issue with Forte on Solaris.  inet_aton is in
8298         libresolv.
8299
8300 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
8301
8302         * gst/gstpad.c: (pre_activate):
8303         * gst/gstregistry.c: (gst_registry_scan_path_level):
8304         * gst/gstregistryxml.c: (load_plugin):
8305         * libs/gst/controller/gstcontroller.c:
8306         (gst_controlled_property_set_interpolation_mode):
8307         * libs/gst/dataprotocol/dataprotocol.c:
8308         (gst_dp_packet_from_event_1_0):
8309         * libs/gst/net/gstnetclientclock.c:
8310         (gst_net_client_clock_observe_times):
8311         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
8312           Printf fixes.
8313
8314 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
8315
8316         * configure.ac:
8317         * docs/gst/gstreamer-sections.txt:
8318         * gst/gstconfig.h.in:
8319         * gst/gstelement.h:
8320         * gst/gstinfo.h:
8321           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
8322           whether we can use G_GNUC_PRINTF in other header files and at
8323           least check the printf format/arguments of debug messages and
8324           GST_ELEMENT_ERROR messages when the printf extension is not
8325           being used.
8326           Replace more tabs with spaces in gstinfo.h and remove two spurious
8327           function declarations in GST_DISABLE_DEBUG part with macros.
8328
8329 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
8330
8331         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
8332           More docs for the sync-message signal (mention that it is not
8333           emitted by default); log message structures of messages posted on
8334           the bus as well.
8335
8336 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
8337
8338         * gst/gst.c: (ensure_current_registry_forking):
8339         Use a pipe pair to receive status results from the forked child, and
8340         ignore the result from waitpid. Fixes #355499
8341
8342 2006-10-02  Wim Taymans  <wim@fluendo.com>
8343
8344         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
8345         (gst_ghost_pad_suite):
8346         Fix leak in check.
8347
8348 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
8349
8350         * gst/gstpad.c:
8351           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
8352
8353 2006-10-02  Edward Hervey  <edward@fluendo.com>
8354
8355         * docs/design/part-block.txt:
8356         Further explain the use of flushing on blocked pads.
8357         * docs/gst/gstreamer-sections.txt:
8358         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
8359         (gst_pad_push_event):
8360         * gst/gstpad.h:
8361         Added new GstPadFlag : GST_PAD_BLOCKING.
8362         Adds the notion of pads really blocking, which enables to properly
8363         handle FLUSH_START/FLUSH_STOP events on blocked pads.
8364         Fixes #358999
8365         API: gst_pad_is_blocking()
8366         API: GST_PAD_IS_BLOCKING() macro
8367         API: GST_PAD_BLOCKING GstPadFlag
8368         
8369 2006-10-02  Wim Taymans  <wim@fluendo.com>
8370
8371         Patch by: mrcgran <mrc.gran at gmail dot com>
8372
8373         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
8374         Filter the proxied caps against the padtemplate if we have one.
8375
8376         * gst/gstquery.c: (gst_query_new_segment):
8377         Add include for gstinfo.h so that compilation with
8378         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
8379
8380 2006-10-02  Wim Taymans  <wim@fluendo.com>
8381
8382         Patch by: Alessandro Decina  <alessandro at nnva org>
8383
8384         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
8385         (gst_file_sink_set_location), (gst_file_sink_open_file),
8386         (gst_file_sink_close_file), (gst_file_sink_event),
8387         (gst_file_sink_render):
8388         Set file to NULL when closing filesink so that we can set a new filename
8389         in READY. Fixes #358613.
8390
8391 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
8392
8393         Patch by: Alessandro Decina  <alessandro at nnva org>
8394
8395         * gst/gstevent.c: (_gst_event_copy):
8396           Fix gst_mini_object_make_writable() and gst_event_copy() for events
8397           with event structures by setting the parent refcount address of the
8398           copied structure to the address of the refcount member of the newly
8399           copied event rather than the address of the refcount member of the
8400           original event. Fixes #358737.
8401
8402         * tests/check/gst/gstevent.c: (GST_START_TEST):
8403           Unit test for the above.
8404
8405 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
8406
8407         * docs/design/Makefile.am:
8408           Dist some more files.
8409
8410 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8411
8412         * tests/check/libs/controller.c: (GST_START_TEST),
8413         (gst_controller_suite):
8414           Add test for the previous fix; add some more tests
8415           for correct refcounting behaviour; fix a few leaks
8416           in test cases; call gst_controller_init() at start
8417           of all tests.
8418
8419 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8420
8421         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8422         (gst_controller_set_from_list):
8423           Don't g_return_val_if_fail() on timed values with invalid timestamps
8424           inside a critical section without unlocking the mutex. Spotted by
8425           René Stadler. (#357617)
8426           Also, fix up refcounting properly: when returning an existing
8427           controller, we should increase the reference only once and not
8428           once per property and when trying to control a property again
8429           we should also increase the refcount.
8430
8431 2006-09-29  Wim Taymans  <wim@fluendo.com>
8432
8433         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8434         * libs/gst/net/gstnettimeprovider.c:
8435         (gst_net_time_provider_thread):
8436         Stop reading commands when EOF as well.
8437
8438         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
8439         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
8440         * plugins/elements/gstidentity.c: (gst_identity_class_init):
8441         Unify description of the dump property.
8442
8443 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8444
8445         * tests/examples/manual/.cvsignore:
8446         OK, so it's actually cvsignore that needs changing. Stop laughing.
8447
8448 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8449
8450         * tests/examples/manual/Makefile.am:
8451         Gah, declare vars *before* using them
8452
8453 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8454
8455         * gst/gst.c: (init_pre), (scan_and_update_registry),
8456         (ensure_current_registry_nonforking),
8457         (ensure_current_registry_forking), (ensure_current_registry),
8458         (init_post), (gst_debug_help), (gst_deinit):
8459         * gst/gst_private.h:
8460         * gst/gstregistry.c: (gst_registry_finalize),
8461         (gst_registry_remove_features_for_plugin_unlocked),
8462         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8463         (gst_registry_scan_path),
8464         (_priv_gst_registry_remove_cache_plugins),
8465         (_priv_gst_registry_cleanup):
8466         * gst/gstregistry.h:
8467         Re-commit the registry changes, along with an extra fix:
8468           When a cached plugin is encountered at a different file path,
8469           update the stored path in the registry cache so that the parent
8470           process knows where it actually is now when it re-reads the registry
8471           cache. Fixes the thing that broke distcheck with the previous commit.
8472
8473         * tests/check/Makefile.am:
8474         Clean up files named 'core' too when running make clean.
8475
8476         * tests/examples/manual/Makefile.am:
8477         Set up a registry path for running these tests, and clean it properly
8478         for distcheck.
8479
8480 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8481
8482         * configure.ac:
8483         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
8484         want gmodule-no-export-2.0.pc instead so that we don't drag in
8485         --export-dynamic on every project that links to GStreamer.
8486
8487         Also, make our export regex only match the start of symbols, rather 
8488         than any symbol that contains '_gst' somewhere.
8489
8490         * libs/gst/check/Makefile.am:
8491         The libgstcheck we build does however need export-dynamic, as it
8492         produces some symbols that don't match our _gst... style regex.
8493         Fixes: #318031
8494
8495 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
8496
8497         * gst/gst.c: (init_pre), (scan_and_update_registry),
8498         (ensure_current_registry_nonforking),
8499         (ensure_current_registry_forking), (ensure_current_registry),
8500         (init_post), (gst_debug_help), (gst_deinit):
8501         * gst/gst_private.h:
8502         * gst/gstregistry.c: (gst_registry_finalize),
8503         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8504         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
8505         (_gst_registry_cleanup):
8506         * gst/gstregistry.h:
8507           Revert previous change until I figure out why it breaks distcheck.
8508
8509 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
8510
8511         * gst/gst.c: (init_pre), (scan_and_update_registry),
8512         (ensure_current_registry_nonforking),
8513         (ensure_current_registry_forking), (ensure_current_registry),
8514         (init_post), (gst_debug_help), (gst_deinit):
8515
8516           Make init_pre and init_post take the full complement of GOptionFunc
8517           args so they can return useful GErrors. Make the registry updating
8518           functions do so.
8519
8520           Call _priv_gst_registry_remove_cache_plugins after scanning files to
8521           ensure that the registry we're about to write out doesn't contain
8522           stale information about old-deleted plugin files.
8523
8524           Make _priv_gst_registry_remove_cache_plugins return a boolean so
8525           that deletion of plugin files is considered a registry change.
8526
8527         * gst/gst_private.h:
8528         * gst/gstregistry.c: (gst_registry_finalize),
8529         (gst_registry_remove_features_for_plugin_unlocked),
8530         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8531         (gst_registry_scan_path),
8532         (_priv_gst_registry_remove_cache_plugins),
8533         (_priv_gst_registry_cleanup):
8534         * gst/gstregistry.h:
8535         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
8536         by adding _priv prefix, so that they won't appear in the global
8537         symbol table. They still do atm though because of #318031. Move the
8538         prototypes to gst_private.h
8539
8540         When removing a plugin, remove all features for that plugin too. 
8541         Fixes #340878.
8542
8543 2006-09-27  Wim Taymans  <wim@fluendo.com>
8544
8545         * docs/random/moving-plugins:
8546         Make it clear that the "compiled-in descriptions" really mean
8547         the element details.
8548
8549         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8550         (gst_base_sink_wait_preroll):
8551         Update docs.
8552
8553         * docs/libs/gstreamer-libs-sections.txt:
8554         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
8555         (gst_base_src_get_range), (gst_base_src_activate_push):
8556         * libs/gst/base/gstbasesrc.h:
8557         Added function to block while waiting for PLAYING, this function
8558         is used by live sources that block on the clock.
8559         API: gst_base_src_wait_playing()
8560
8561 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8562
8563         Patch by: Peter Kjellerstedt <pkj at axis com>
8564
8565         * Makefile.am:
8566           gst-element-check.m4 is generated and should therefore be
8567           copied from the build dir rather than the source dir (#357593).
8568           'make distcheck' hasn't noticed this because we were disting
8569           the file as well, so stop doing that.
8570
8571 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8572
8573         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8574           Add some tests for gst_caps_intersect().
8575
8576         * tools/gst-launch.c: (event_loop):
8577           Print all buffering percentages we get, even the 100% one.
8578
8579 2006-09-26  Wim Taymans  <wim@fluendo.com>
8580
8581         * tools/gst-inspect.c: (print_element_properties_info),
8582         (print_signal_info):
8583         Fix printing of flags to match the look of enums.
8584
8585 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8586
8587         * gst/gstelementfactory.c:
8588           Fix typo in docs blurb.
8589
8590 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8591
8592         * gst/gsturi.c: (search_by_entry):
8593           Don't assert/crash here if a uri handler doesn't return any
8594           supported protocols. The list of protocols could be generated
8595           dynamically at runtime or at plugin registration, and an error
8596           in the underlying library shouldn't be fatal (#353301).
8597
8598 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8599
8600         * gst/gstinfo.c:
8601           Fix warning if HAVE_PRINTF_EXTENSION is undefined
8602           (spotted by Peter Kjellerstedt).
8603
8604 2006-09-23  Wim Taymans  <wim@fluendo.com>
8605
8606         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
8607
8608         * libs/gst/base/gstbasesrc.c:
8609         (gst_base_src_default_check_get_range), (gst_base_src_start),
8610         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8611         (gst_base_src_change_state):
8612         Match _start/_stop calls in the activate functions. Remove redundant
8613         _stop call from the state change function. Fixes #356910.
8614         Turn failure DEBUG into ERROR. 
8615
8616 2006-09-22  Wim Taymans  <wim@fluendo.com>
8617
8618         * docs/design/part-buffering.txt:
8619         * gst/gstmessage.c: (gst_message_new_buffering),
8620         (gst_message_parse_buffering):
8621         Update docs about buffering.
8622
8623         * docs/design/part-trickmodes.txt:
8624         Fix typo.
8625
8626 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
8627
8628         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8629         (gst_controller_new_list):
8630           Ref instances when returning them again (fixes #357180)
8631
8632 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
8633
8634         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
8635           Don't forget to release proxy lock when there's an error.
8636
8637 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
8638
8639         * gst/gstcaps.h:
8640           Add extra initialisers for Caps things, to fix some plugin warnings
8641           when using -Wextra
8642
8643 2006-09-18  Wim Taymans  <wim@fluendo.com>
8644
8645         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
8646           Also set template on the internal pad so that a getcaps from the 
8647           target pad returns the template caps.
8648
8649 2006-09-18  Wim Taymans  <wim@fluendo.com>
8650
8651         * gst/gstelement.c: (gst_element_post_message),
8652         (gst_element_dispose):
8653         Use _DEBUG_OBJECT some more.
8654
8655         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8656         Avoid typechecks.
8657
8658         * tools/gst-launch.c: (main):
8659         If the toplevel element is not a GstPipeline, it must be put in a
8660         pipeline so that a bus and clock is selected.
8661
8662 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
8663
8664         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
8665           JITTER, RATE, and LATENCY query should be handled by the
8666           default case and not by the CONVERT query code.
8667
8668 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
8669
8670         * gst/gstformat.c: (gst_format_register):
8671           Fix locking order (must take lock before using n_values).
8672
8673         * gst/gstvalue.c: (gst_value_serialize_enum),
8674         (gst_value_deserialize_enum_iter_cmp),
8675         (gst_value_deserialize_enum):
8676           Fix serialisation/deserialisation of custom registered GstFormats.
8677
8678         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8679           Unit test for custom format serialisation/deserialisation.
8680
8681 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
8682
8683         * docs/pwg/building-boiler.xml:
8684         * plugins/elements/gstcapsfilter.c:
8685         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
8686         section.
8687
8688 2006-09-16  Edward Hervey  <edward@fluendo.com>
8689
8690         * libs/gst/base/gstbasetransform.c:
8691         (gst_base_transform_buffer_alloc):
8692         Check if requested caps are the same as the sinks caps IF
8693         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
8694         is FALSE.
8695         This fixes the renegotiation issues stated in #352827.
8696
8697 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8698
8699         * configure.ac:
8700         * docs/manual/advanced-autoplugging.xml:
8701         * tests/examples/Makefile.am:
8702         * tests/examples/manual/.cvsignore:
8703         * tests/examples/manual/Makefile.am:
8704         * tests/examples/manual/extract.pl:
8705           Extract the manual examples again like we used to do.
8706           Fix one of them.
8707
8708 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8709
8710         * win32/common/config.h:
8711           update for version
8712
8713 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
8714
8715         * gst/gsterror.c:
8716           Documents how to receive errors.
8717
8718 2006-09-15  Wim Taymans  <wim@fluendo.com>
8719
8720         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
8721         (event_loop), (main):
8722         Added some comments here and there.
8723         Post an application message when an interrupt is caught instead of doing
8724         an uncontrolled state change.
8725         Clean up the event loop.
8726         Handle buffering messages, pause/resume the pipeline.
8727         Make shutdown because of an interrupt more reliable.
8728
8729 2006-09-15  Wim Taymans  <wim@fluendo.com>
8730
8731         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8732         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
8733         (gst_base_sink_preroll_object):
8734         Make sure that our internal state is correct when we commit our state
8735         asynchronously. This solves a race where a state change to PLAYING
8736         could cause the sink to remain blocked in preroll in some situations.
8737
8738 2006-09-15  Wim Taymans  <wim@fluendo.com>
8739
8740         * tools/gst-inspect.c: (print_element_properties_info),
8741         (print_signal_info):
8742         List flags as hex so it's easier to deal with.
8743
8744 2006-09-15  Wim Taymans  <wim@fluendo.com>
8745
8746         * docs/libs/gstreamer-libs-sections.txt:
8747         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
8748         (gst_base_sink_do_sync):
8749         * libs/gst/base/gstbasesink.h:
8750         Expose logic to wait for preroll so that subclasses such as audiosink
8751         can also use this method.
8752         API: gst_base_sink_wait_preroll()
8753
8754 2006-09-15  Wim Taymans  <wim@fluendo.com>
8755
8756         * gst/gstobject.c: (gst_object_set_parent):
8757         * gst/gstpipeline.c: (do_pipeline_seek):
8758         Small cleanups in docs and code.
8759
8760         * gst/gstsegment.c: (gst_segment_clip):
8761         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8762         if stop == start and start is in the segment, no clipping should be
8763         done. Also add a test for this.
8764
8765 2006-09-15  Wim Taymans  <wim@fluendo.com>
8766
8767         * docs/design/part-buffering.txt:
8768         * docs/gst/gstreamer-sections.txt:
8769         * gst/gstmessage.c: (gst_message_new_buffering),
8770         (gst_message_parse_buffering):
8771         * gst/gstmessage.h:
8772         Added methods to create and parse BUFFERING messages.
8773         Added preliminary docs about buffering.
8774         API: gst_message_new_buffering
8775         API: gst_message_parse_buffering
8776
8777 2006-09-06  Wim Taymans  <wim@fluendo.com>
8778
8779         * gst/gstbin.c:
8780         Update documentation.
8781
8782         * gst/gstelement.c: (gst_element_class_init),
8783         (gst_element_release_request_pad), (gst_element_set_clock),
8784         (gst_element_get_index), (gst_element_add_pad),
8785         (gst_element_remove_pad), (gst_element_get_random_pad),
8786         (gst_element_send_event), (gst_element_get_query_types),
8787         (gst_element_query), (gst_element_post_message),
8788         (gst_element_message_full), (gst_element_continue_state),
8789         (gst_element_lost_state), (gst_element_save_thyself),
8790         (gst_element_restore_thyself):
8791         Documentation updates.
8792         Rename last bit of the new-pad -> pad-added signal rename.
8793         Fix the case where an element query would only work if the source
8794         pad was linked.
8795         Avoid some useless type checking in message handling.
8796
8797         * gst/gstevent.c:
8798         * gst/gstevent.h:
8799         * gst/gstutils.c:
8800         Documentation updates.
8801
8802 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8803
8804         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
8805           add an INFO line for when we actually update the fd
8806
8807 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8808
8809         * configure.ac:
8810           back to TRUNK
8811
8812 === release 0.10.10 ===
8813
8814 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
8815
8816         * configure.ac:
8817           releasing 0.10.10, "Pais"
8818
8819 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
8820
8821         * docs/manual/advanced-position.xml:
8822           Fix typo in sample code.
8823
8824 2006-09-05  Wim Taymans  <wim@fluendo.com>
8825
8826         * libs/gst/net/gstnetclientclock.c: (inet_aton),
8827         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
8828         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
8829         * libs/gst/net/gstnetclientclock.h:
8830         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
8831         * libs/gst/net/gstnettimepacket.h:
8832         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
8833         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
8834         (gst_net_time_provider_thread), (gst_net_time_provider_new):
8835         * libs/gst/net/gstnettimeprovider.h:
8836         Make stuff compile on windows. Fixes #345295.
8837
8838 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8839
8840         * gst/gst.c: (ensure_current_registry_forking):
8841           Print better details when child was terminated by signal.
8842
8843 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8844
8845         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
8846           Print a warning rather than g_assert() if a plugin feature
8847           is a URI handler but returns no protocols (#353976).
8848
8849 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
8850
8851         * docs/random/moving-plugins:
8852         Fix two typos.         
8853
8854 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8855
8856         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
8857           Fix locking order, handle NULL function values properly.
8858
8859         * gst/gstinfo.h:
8860           Fix docs.
8861
8862         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
8863           Initialise variable before using it and fix debug statement to
8864           print the address of the function rather than the address of the
8865           variable on the stack holding the address of the function.
8866
8867 2006-09-01  Wim Taymans  <wim@fluendo.com>
8868
8869         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
8870         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
8871         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
8872         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
8873         (gst_ghost_pad_parent_unset),
8874         (gst_ghost_pad_internal_do_activate_push),
8875         (gst_ghost_pad_internal_do_activate_pull),
8876         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8877         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8878         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
8879         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
8880         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
8881         (gst_ghost_pad_new_no_target_from_template),
8882         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8883         More cleanups.
8884         Avoid needless typechecking in macros.
8885         Since the internal pad is always present and never changes, there is
8886         no need to locking or ref when retrieving it.
8887         Improve debugging a bit.
8888         Handle link errors when setting the target. Fixes #341029.
8889
8890 2006-09-01  Wim Taymans  <wim@fluendo.com>
8891
8892         * docs/libs/gstreamer-libs-sections.txt:
8893         * docs/plugins/gstreamer-plugins-sections.txt:
8894         Fix docs some more.
8895
8896         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8897         (gst_collect_pads_event):
8898         * libs/gst/base/gstcollectpads.h:
8899         Documentation updates.
8900         Free queued buffer when removing a pad.
8901
8902 2006-08-31  Michael Smith  <msmith@fluendo.com>
8903
8904         * gst/gstutils.c: (gst_element_link_pads),
8905         (gst_element_link_pads_filtered):
8906           Ensure that we set a capsfilter to NULL if we failed to link it
8907           when doing filtered linking, to avoid criticals.
8908
8909           No need to check for unreffing srcpad, which is explicly NULLed
8910           above (a trivial code cleanup).
8911
8912 2006-08-31  Wim Taymans  <wim@fluendo.com>
8913
8914         * docs/design/part-gstghostpad.txt:
8915         Update ascii art in documentation.
8916
8917         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
8918         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
8919         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
8920         (gst_ghost_pad_internal_do_activate_push),
8921         (gst_ghost_pad_internal_do_activate_pull),
8922         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8923         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8924         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
8925         (gst_ghost_pad_set_target):
8926         Small cleanups and leak fixes.
8927         Remove some checks now that the internal pad is never NULL.
8928         Fix the case where linking pads without a target would create nasty
8929         criticals. Fixes #341029.
8930         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
8931         value of _set_target().
8932
8933         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
8934         (gst_ghost_pad_suite):
8935         Some more tests for creating and linking untargeted ghostpads.
8936
8937 2006-08-31  Edward Hervey  <edward@fluendo.com>
8938
8939         * docs/gst/gstreamer-sections.txt:
8940         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
8941         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
8942         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
8943         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
8944         (gst_ghost_pad_new_from_template),
8945         (gst_ghost_pad_new_no_target_from_template):
8946         * gst/gstghostpad.h:
8947         Refactored *_new() functions.
8948         Templates are now used as a g_object_new() parameter.
8949         Use template in _do_getcaps() if we don't have a target.
8950         Small documentation cleanups.
8951         Added two new constructors:
8952         gst_ghost_pad_new_from_template()
8953         gst_ghost_pad_new_no_target_from_template()
8954         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
8955         (gst_ghost_pad_suite):
8956         Added tests for new ghostpad instanciation functions.
8957
8958         API additions: gst_ghost_pad_new_from_template,
8959         gst_ghost_pad_new_no_target_from_template
8960
8961 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
8962
8963         * docs/random/ensonic/profiling.txt:
8964           Ideas about qos profiling.
8965
8966 2006-08-29  Wim Taymans  <wim@fluendo.com>
8967
8968         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
8969         Code cleanups.
8970         Fix memleak.
8971
8972 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
8973
8974         * gst/gstxml.c:
8975           Improve and detypofy docs.
8976
8977         * tests/check/Makefile.am:
8978         * tests/check/gst/.cvsignore:
8979         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
8980           Add a basic test suite for GstXML.
8981
8982 2006-08-29  Wim Taymans  <wim@fluendo.com>
8983
8984         * gst/gstelement.c: (activate_pads), (clear_caps),
8985         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
8986         Clear the pad caps when the element shut down all of the pads and
8987         is not streaming data that could modify the caps. 
8988         Fixes #352958.
8989
8990 2006-08-28  Michael Smith  <msmith@fluendo.com>
8991
8992         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8993           Revert previous change; I misunderstood single-segment mode.
8994
8995 2006-08-28  Michael Smith  <msmith@fluendo.com>
8996
8997         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8998           Unset DISCONT on buffers when using single-segment mode.
8999
9000 2006-08-28  Wim Taymans  <wim@fluendo.com>
9001
9002         * gst/gstcaps.c: (gst_caps_merge_structure):
9003         * gst/gstcaps.h:
9004         Fix docs and indentation again.
9005
9006         * tests/check/gst/gstquery.c: (GST_START_TEST):
9007         Fix leak in tests and add some more tests.
9008
9009 2006-08-28  Edward Hervey  <edward@fluendo.com>
9010
9011         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9012         Inform GstSegment of the last stop position in order for the current
9013         segment to have a proper duration if it doesn't have a specific stop
9014         position from which a duration could be calculated.
9015         This bug was noticeable when a non-flushing, non-update new segment was
9016         followed by another segment (all buffers from the new segment were being
9017         dropped).
9018
9019 2006-08-28  Wim Taymans  <wim@fluendo.com>
9020
9021         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
9022         Small comment update.
9023
9024         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9025         (gst_identity_transform_ip):
9026         Drop-probability is broken, mention this in the code with a 
9027         FIXME and also in the property description.
9028         Make silent also be silent about the drop messages.
9029
9030 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
9031
9032         * docs/manual/appendix-win32.xml:
9033           Remove mention of popt, we don't depend on that any
9034           longer (#353136). Add some comments pointing out that
9035           this section is slightly outdated.
9036
9037 2006-08-28  Wim Taymans  <wim@fluendo.com>
9038
9039         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
9040
9041         * gst/gstquery.c: (gst_query_new_segment):
9042         * tests/check/gst/gstquery.c: (GST_START_TEST):
9043         Initialize variables when creating a new segment query.
9044         Fixes #353121.
9045
9046 2006-08-28  Wim Taymans  <wim@fluendo.com>
9047
9048         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
9049
9050         * gst/gstelement.c: (gst_element_get_bus):
9051         * tests/check/gst/gstelement.c: (GST_START_TEST):
9052         Check for NULL before _reffing the bus. Fixes #353122.
9053
9054 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
9055
9056         * docs/manual/basics-bus.xml:
9057           Docs update: fix wrong callback return value explanation; add
9058           some lines about the implicit relationship between main loop
9059           and main context; remove duplicate main loop variable declaration.
9060
9061 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
9062
9063         * tests/check/gst/gstcaps.c: (GST_START_TEST):
9064           Don't leak caps in unit test; add a few more simple
9065           checks. 
9066
9067 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
9068
9069         * docs/gst/gstreamer-sections.txt:
9070         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
9071         (gst_caps_structure_is_subset), (gst_caps_merge),
9072         (gst_caps_merge_structure):
9073         * gst/gstcaps.h:
9074         * libs/gst/base/gstbasetransform.c:
9075         (gst_base_transform_transform_caps):
9076         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9077           implement caps merging (fixes #352580)
9078
9079 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
9080
9081         * tools/Makefile.am:
9082         * tools/gst-plot-timeline.py:
9083           add debug-log plotting developer tool (#340674)
9084
9085 2006-08-23  Wim Taymans  <wim@fluendo.com>
9086
9087         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
9088         (gst_pad_stop_task):
9089         Improve debugging for task functions.
9090
9091         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
9092         (gst_task_start), (gst_task_pause), (gst_task_join):
9093         Make sure that the task function started and finished after a 
9094         join(). 
9095         Don't try to push the task function on the threadpool multiple
9096         times.
9097         Improve the g_warning message with some useful suggestions
9098         about how to fix the problem. 
9099
9100 2006-08-23  Wim Taymans  <wim@fluendo.com>
9101
9102         * gst/gstutils.c: (gst_pad_proxy_getcaps):
9103         Handle RESYNC correctly in _proxy_getcaps.
9104
9105 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
9106
9107         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
9108         (gst_xml_parse_memory), (gst_xml_get_element):
9109           Chain up to parent class in dispose function and also
9110           unref the elements in the toplevel_elements GList.
9111           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
9112           Always return a reference in gst_xml_get_element() rather
9113           than only sometimes.
9114
9115         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
9116           Don't leak GstXml object.
9117
9118 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
9119
9120         * docs/gst/gstreamer-sections.txt:
9121         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
9122         (gst_caps_merge):
9123         * gst/gstcaps.h:
9124         * libs/gst/base/gstbasetransform.c:
9125         (gst_base_transform_transform_caps):
9126           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
9127           in a better way
9128
9129 2006-08-21  Edward Hervey  <edward@fluendo.com>
9130
9131         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
9132         Implement GObject::dispose virtual method in GstXML so we can free the
9133         top_elements GList.
9134
9135 2006-08-21  Wim Taymans  <wim@fluendo.com>
9136
9137         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
9138         (gst_buffer_create_sub):
9139         Copy duration/offset_end/caps when creating a subbuffer of the
9140         complete parent.
9141         Make the subbuffer read-only when we make the metadata writable for
9142         now. Fixes #351768.
9143
9144         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
9145         Added check for metadata copy when creating subbuffers.
9146
9147 2006-08-21  Edward Hervey  <edward@fluendo.com>
9148
9149         * libs/gst/base/gstbasetransform.c:
9150         (gst_base_transform_buffer_alloc):
9151         Only call downstream buffer_alloc if transform element is passthrough
9152         or always_in_place. Closes #350449.
9153
9154 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
9155
9156         * ChangeLog:
9157           ChangeLog surgery to add comments to previous changes
9158
9159 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
9160
9161         * gst/gst.c:
9162           Add comments
9163
9164         * gst/gstpad.c: (gst_pad_set_active):
9165           Be more verbose in the log
9166
9167         * libs/gst/base/gstbasetransform.c:
9168         (gst_base_transform_transform_caps):
9169           Simplify caps to get rid of duplicates, fixes #345444
9170
9171 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
9172
9173         * gst/gstvalue.c:
9174         * gst/gstvalue.h:
9175           Use these optimizations only internally.
9176
9177 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
9178
9179         * gst/gstvalue.c: (gst_value_compare_list),
9180         (gst_value_compare_fraction_range),
9181         (gst_value_intersect_fraction_fraction_range),
9182         (gst_value_intersect_fraction_range_fraction_range),
9183         (gst_value_subtract_fraction_fraction_range),
9184         (gst_value_subtract_fraction_range_fraction_range),
9185         (gst_value_get_compare_func), (gst_value_compare),
9186         (gst_value_compare_with_func):
9187         * gst/gstvalue.h:
9188           Saves the expensive lookup of the compare function in many cases
9189          (#345444)
9190
9191 2006-08-18  Edward Hervey  <edward@fluendo.com>
9192
9193         * tests/check/gst/gstinfo.c: (gst_info_suite):
9194         Disable test that require gstdebug if it wasn't built in core.
9195
9196 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
9197
9198         * docs/random/ensonic/logging.txt:
9199           update ideas
9200           
9201         * gst/gstinfo.c: (gst_debug_log_default):
9202           reorder fields, save some columns, add optional color codes for log
9203           levels
9204
9205 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
9206
9207         * docs/random/ensonic/logging.txt:
9208           add ideas about making the logs a bit more useful
9209
9210 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
9211
9212         * docs/pwg/advanced-events.xml:
9213         * docs/pwg/titlepage.xml:
9214           Update for 0.10 API (#340627). Add myself
9215           to authors list.
9216
9217 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
9218
9219         * docs/libs/gstreamer-libs-docs.sgml:
9220         * docs/libs/gstreamer-libs-sections.txt:
9221         * libs/gst/check/gstbufferstraw.c:
9222           Make gstcheck stuff show up in docs (still needs to
9223           be documented properly though).
9224
9225 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
9226
9227         * docs/gst/gstreamer-sections.txt:
9228         * gst/Makefile.am:
9229         * gst/gst.c: (init_post):
9230         * gst/gst_private.h:
9231         * gst/gstquark.c: (_priv_gst_quarks_initialize):
9232         * gst/gstquark.h:
9233         * gst/gstquery.c: (gst_query_new_position),
9234         (gst_query_set_position), (gst_query_parse_position),
9235         (gst_query_new_duration), (gst_query_set_duration),
9236         (gst_query_parse_duration), (gst_query_new_convert),
9237         (gst_query_set_convert), (gst_query_parse_convert),
9238         (gst_query_new_segment), (gst_query_set_segment),
9239         (gst_query_parse_segment), (gst_query_new_seeking),
9240         (gst_query_set_seeking), (gst_query_parse_seeking):
9241         Add internal helpers for pre-registering quarks from static strings
9242         and using the quark values directly instead of looking them up when
9243         creating and parsing queries. Can be used for event construction too.
9244         Closes #350432.
9245
9246 2006-08-16  Wim Taymans  <wim@fluendo.com>
9247
9248         * gst/gstbin.c:
9249         Fix bogus docs.
9250
9251 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
9252
9253         * gst/gstutils.c: (gst_util_set_value_from_string):
9254           Fix memleak (#351502).
9255
9256         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9257           Add unit test for most of gst_util_set_value_from_string()
9258           (not that one would want to encourage use of this function).
9259
9260 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
9261
9262         * libs/gst/check/gstcheck.h:
9263           Use const gchar * variables in fail_unless_equals_string
9264           macro to avoid compiler warnings (and don't use tabs for
9265           indenting).
9266
9267 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
9268
9269         * tools/gst-launch.c: (print_tag):
9270           More space on the left for the tag names, to cater
9271           for the 'extended comment' tag (not touching the
9272           string for the first line since it's translated).
9273
9274 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
9275
9276         * libs/gst/check/gstcheck.h:
9277           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
9278           print something when they fail.
9279
9280 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
9281
9282         * docs/gst/gstreamer-sections.txt:
9283         * gst/gsttaglist.c: (_gst_tag_initialize):
9284         * gst/gsttaglist.h:
9285           API: add GST_TAG_EXTENDED_COMMENT (#350935).
9286           Also change merge function for GST_TAG_COMMENT to
9287           use_first.
9288
9289 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
9290
9291         * gst/gstinfo.c: (gst_debug_print_object):
9292           Make GST_PTR_FORMAT print messages as well.
9293
9294         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
9295         (GST_START_TEST), (gst_info_suite):
9296           More tests.
9297
9298 2006-08-14  Edward Hervey  <edward@fluendo.com>
9299
9300         * gst/gstelementfactory.c: (gst_element_register):
9301         If the GstElementClass doesn't have a GstElementDetails with all fields
9302         filled up correctly (longname, description AND author), then error out
9303         nicely instead of crashing.
9304
9305 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
9306
9307         * gst/gststructure.c:
9308           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
9309
9310         * gst/gstvalue.h:
9311           Expand on the difference between arrays and lists as we use them.
9312           
9313 2006-08-14  Wim Taymans  <wim@fluendo.com>
9314
9315         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
9316         If the parent state change function failed, don't assume we can safely
9317         stop the source, this will be done when the pads are deactivated.
9318
9319 2006-08-14  Wim Taymans  <wim@fluendo.com>
9320
9321         * gst/gstbuffer.c:
9322         * gst/gsttask.c: (gst_task_join):
9323         Small doc updates.
9324
9325         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9326         (gst_pad_stop_task):
9327         When pad (de)activation failed for some reason, restore the old
9328         activation mode and set the pad to flushing instead of assuming the
9329         pad is deactivated.
9330         If the _task_join() failed, reinstall the task on the pad so that it can
9331         be stopped later and return an error.
9332
9333 2006-08-11  Andy Wingo  <wingo@pobox.com>
9334
9335         * configure.ac:
9336         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
9337         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
9338         is only for users of API that don't want to see deprecated
9339         functions in the headers; people that want to compile out
9340         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
9341         CFLAGS. Fixes the build of multifdsink, or will soon..
9342
9343 2006-08-11  Wim Taymans  <wim@fluendo.com>
9344
9345         * docs/gst/gstreamer-sections.txt:
9346         Add GstClockClass vmethod docs.
9347
9348         * gst/gstcaps.h:
9349         Mark #endif with comment for associated #if
9350
9351         * gst/gstclock.c: (gst_clock_id_wait):
9352         * gst/gstclock.h:
9353         Add vmethod wait_jitter to avoid an unneeded _get_time() for
9354         most clock implementations.
9355         Document vmethods.
9356         Flesh out docs about resolution methods.
9357         API: GstClockClass::wait_jitter
9358
9359         * gst/gstsystemclock.c: (gst_system_clock_class_init),
9360         (gst_system_clock_async_thread),
9361         (gst_system_clock_id_wait_jitter_unlocked),
9362         (gst_system_clock_id_wait_jitter):
9363         Use base class wait_jitter variant for improved performance
9364         due to less clock polling.
9365
9366 2006-08-11  Edward Hervey  <edward@fluendo.com>
9367
9368         * gst/gst.c: (gst_init_check), (init_post):
9369         Set gst as being initialized before scanning/updating the registry,
9370         since there might be my python plugin loader that calls gst_init() and
9371         we don't want to loop back in.
9372         Closes #350879
9373
9374 2006-08-11  Wim Taymans  <wim@fluendo.com>
9375
9376         * docs/design/part-qos.txt:
9377         Bring docs in line with the code. Mostly the sign of the jitter was
9378         wrong in the docs. Fixes #349943.
9379
9380         * gst/gstclock.c:
9381         Fix the docs for the jitter.
9382
9383         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
9384         (gst_event_parse_tag), (gst_event_new_buffer_size),
9385         (gst_event_parse_buffer_size), (gst_event_parse_qos),
9386         (gst_event_new_seek), (gst_event_parse_seek),
9387         (gst_event_new_navigation):
9388         Make sure the GstStructure has no parent when creating custom
9389         events.
9390         Add some more argument checking so that we avoid 0.0 rates.
9391         Flesh out the docs for the QoS event some more.
9392
9393 2006-08-11  Wim Taymans  <wim@fluendo.com>
9394
9395         * docs/gst/gstreamer-sections.txt:
9396         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9397         (ensure_current_registry_forking), (ensure_current_registry),
9398         (parse_one_option), (parse_goption_arg), (gst_deinit),
9399         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
9400         * gst/gst.h:
9401         Doc updates.
9402         Added API and command line option to disable registry forking in
9403         addition to the environment variable.
9404         Constify some static arrays.
9405         Added some more debug.
9406         Don't deinit twice.
9407         API: gst_registry_fork_is_enabled()
9408         API: gst_registry_fork_set_enabled()
9409         API: --gst-disable-registry-fork command line option
9410         Fixes #348918.
9411
9412 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
9413
9414         * gst/gst.c: (gst_init):
9415           Fix typo in error message.
9416
9417 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
9418
9419         * libs/gst/controller/gstcontroller.h:
9420           fix ABI size-correction
9421
9422         * tests/check/libs/gdp.c: (gst_dp_suite):
9423           make tests that use deprecated API conditional
9424
9425 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
9426
9427         * docs/libs/gstreamer-libs-sections.txt:
9428         * libs/gst/controller/gstcontroller.c:
9429         (_gst_controller_get_property), (_gst_controller_set_property),
9430         (_gst_controller_init), (_gst_controller_class_init):
9431         * libs/gst/controller/gstcontroller.h:
9432         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
9433         (gst_object_set_control_rate):
9434           API: add gst_object_{s,g}et_control_rate(), add private data section,
9435           fix docs
9436
9437         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
9438         * libs/gst/dataprotocol/dataprotocol.h:
9439           add deprecation guards to make gtk-doc happy and allow disabling cruft
9440
9441 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
9442
9443         * tests/check/Makefile.am:
9444         * tests/check/gst/.cvsignore:
9445           Let's enable the new unit test as well.
9446
9447 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9448
9449         * configure.ac:
9450         * docs/gst/gstreamer-sections.txt:
9451         * gst/gstconfig.h.in:
9452         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
9453         (_gst_info_printf_extension_ptr),
9454         (_gst_info_printf_extension_segment):
9455           API: add GST_SEGMENT_FORMAT, which is a printf extension we
9456           register that lets us easily dump GstSegments into debug
9457           logs (#350419).
9458
9459         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
9460         (info_segment_format_printf_extension), (gst_info_suite):
9461           Add simple unit test that logs a bunch of different segments (not
9462           valgrinded at the moment because of leaks in
9463           gst_debug_add_log_function).
9464
9465 2006-08-09  Edward Hervey  <edward@fluendo.com>
9466
9467         * libs/gst/base/gstbasetransform.c:
9468         (gst_base_transform_buffer_alloc):
9469         Even if we can't figure out the proper format to request downstream,
9470         call buffer_alloc() downstream with the input parameters without setting
9471         the caps on the srcpad. This will force negotiation in the chain
9472         function.
9473         Closes #350449
9474
9475 2006-08-08  Edward Hervey  <edward@fluendo.com>
9476
9477         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
9478         Unlinking from a pad without a target is now a perfectly valid case
9479         which should NOT raise an assertion.
9480         This case would happen if a linked ghostpad its target set to NULL after
9481         it was previously linked.
9482
9483 2006-08-08  Edward Hervey  <edward@fluendo.com>
9484
9485         * tests/check/libs/gdp.c:
9486         Also comment out the test (see below).
9487
9488 2006-08-08  Edward Hervey  <edward@fluendo.com>
9489
9490         * tests/check/libs/gdp.c: (gst_dp_suite):
9491         Use the architecture information from config.h and not gcc macros
9492         in order to properly disable a test that fails on PPC64.
9493
9494 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
9495
9496         * gst/gstelement.c: (gst_element_remove_pad):
9497           Don't crash printing the warning if the pad has no parent.
9498
9499 2006-08-02  Wim Taymans  <wim@fluendo.com>
9500
9501         * libs/gst/dataprotocol/dataprotocol.c:
9502         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
9503         (gst_dp_crc), (gst_dp_header_payload_length),
9504         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
9505         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
9506         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
9507         (gst_dp_event_from_packet), (gst_dp_validate_header),
9508         (gst_dp_validate_payload):
9509         Make debug category static
9510         Constify the crc table.
9511         Do some more arg checking in public functions.
9512         Fix some docs and do some small cleanups.
9513
9514         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
9515         Add some more checks to see if GDP deals with bogus input.
9516
9517 2006-07-31  Wim Taymans  <wim@fluendo.com>
9518
9519         * gst/gstvalue.c: (gst_value_compare_list):
9520         Fix GstValueList comparison code. Fixes #347293.
9521
9522         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9523         Check to test GstValueList comparison.
9524
9525 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
9526
9527         * gst/gstelementfactory.c: (gst_element_factory_create):
9528         Remove unnecessary ref/unref pair
9529
9530         * gst/parse/grammar.y:
9531         Make sure to free the parse buffer on all code paths.
9532         Move a g_free up to the error handler where it's easier to see.
9533
9534         * tests/check/gst/gstevent.c: (test_event):
9535         Extending timeout for downstream travelling events to 10 seconds to
9536         hopefully avoid intermittent failure on the buildbots.
9537
9538         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
9539         Don't manually set the state of the src element - it will happen as a
9540         natural consequence of the pipeline changing state, and that way it
9541         will do it in the right order too.
9542
9543 2006-07-31  Wim Taymans  <wim@fluendo.com>
9544
9545         * libs/gst/base/gstbasetransform.c:
9546         (gst_base_transform_buffer_alloc):
9547         Use OBJECT_LOCK and refcounting to get the pad caps in the
9548         buffer_alloc function because the caps could change while we are
9549         busy with them. Fixes #349105
9550
9551 2006-07-31  Wim Taymans  <wim@fluendo.com>
9552
9553         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
9554         Protect _PAD_CAPS with OBJECT_LOCK.
9555
9556 2006-07-31  Wim Taymans  <wim@fluendo.com>
9557
9558         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
9559         (gst_pad_get_property), (gst_pad_activate_pull),
9560         (gst_pad_activate_push), (gst_pad_set_blocked_async),
9561         (gst_pad_set_activate_function),
9562         (gst_pad_set_activatepull_function),
9563         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
9564         (gst_pad_set_getrange_function),
9565         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
9566         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
9567         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
9568         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
9569         (gst_pad_set_acceptcaps_function),
9570         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
9571         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
9572         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
9573         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
9574         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
9575         (gst_pad_configure_sink), (gst_pad_configure_src),
9576         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
9577         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
9578         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
9579         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
9580         (gst_pad_send_event):
9581         Use _DEBUG_OBJECT when it makes sense.
9582         Protect GST_PAD_CAPS with the OBJECT_LOCK.
9583         Small cleanups and code reflows.
9584         Avoid caps refcounting in _accept_caps.
9585         Refactor alloc_buffer so that the code performed on the peer is in a
9586         separate function. Also if the pad does not implement a buffer alloc
9587         function, we should still check if the pad is flushing before falling
9588         back to the default allocator.
9589
9590 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
9591
9592         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9593         Make all uses of identity and fakesink have silent=true to avoid
9594         serialising every passing data structure, which is breaking tests
9595         on FC4 for some unknown reason.
9596
9597 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
9598
9599         * gst/parse/Makefile.am:
9600         * gst/parse/grammar.y:
9601         * gst/parse/parse.l:
9602           Reverted previous patch as it required to bump the flex dependency to
9603           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
9604
9605 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
9606
9607         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
9608
9609         * gst/parse/Makefile.am:
9610         * gst/parse/grammar.y:
9611         * gst/parse/parse.l:
9612           push & pop the state of the lexer for reentrant use case
9613           Fixes #349180
9614
9615 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
9616
9617         * libs/gst/base/gstbasesrc.h:
9618           Note in the docs that the ::newsegment vfunc is not actually used by
9619           GstBaseSrc.
9620
9621 2006-07-28  Wim Taymans  <wim@fluendo.com>
9622
9623         * libs/gst/base/gstcollectpads.c:
9624         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
9625         (gst_collect_pads_clear), (gst_collect_pads_flush),
9626         (gst_collect_pads_event), (gst_collect_pads_chain):
9627         When flushing a pad, also clear the queued buffer so that we don't
9628         accidentally use it when we shouldn't.
9629         Fix leaks by inreffing incomming buffer.
9630         Flush out queued buffers in case of errors.
9631         Fixes #347452.
9632
9633 2006-07-28  Wim Taymans  <wim@fluendo.com>
9634
9635         * docs/random/phonon-gst:
9636         Random notes about a Phonon backend.
9637
9638 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
9639
9640         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9641         Extra debug output
9642         * tests/check/libs/gdp.c: (gst_dp_suite):
9643         Take a whack at fixing the ppc compile using a different define to
9644         disable the broken test.
9645
9646         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9647         Remove excess g_print()
9648
9649 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
9650
9651         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
9652         Oops, meant to uncomment this line too to dampen the noise a bit.
9653
9654 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
9655
9656         * gst/parse/grammar.y:
9657         * gst/parse/parse.l:
9658         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
9659         (GST_START_TEST), (parse_suite):
9660         Fix some of the leaks exposed by extending the parse-launch testsuite,
9661         and move the 3 I can't figure out into a separate test that won't run
9662         the pipelines unless the appropriate line is uncommented.
9663
9664 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
9665
9666         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9667           Requesting 0 bytes before the end of the file should result in
9668           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
9669           unit test.
9670
9671 2006-07-27  Wim Taymans  <wim@fluendo.com>
9672
9673         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
9674         Fix useless assert, a uint is always positive.
9675
9676         * gst/gststructure.c: (gst_structure_nth_field_name),
9677         (gst_structure_foreach), (gst_structure_map_in_place):
9678         Check input arguments for public functions to avoid obvious crashes.
9679
9680         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
9681         * plugins/elements/gstfakesink.h:
9682         Do less useless typechecking.
9683
9684 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
9685
9686         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
9687           Do not use mmap() by default since there are a number of error
9688           conditions that we would like to handle in a non-fatal way that
9689           will result in a SIGBUS if we use mmap(). Examples: external
9690           devices (USB harddrive, portable music player) being unplugged
9691           while in use; file on mounted CD/DVD that can't be read because
9692           the medium is partly damaged. Fixes #348455 and #348475.
9693
9694 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
9695
9696         * gst/gstquery.h:
9697         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
9698         rates are a gdouble
9699
9700 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
9701
9702         * gst/gstregistry.c:
9703           Move big documentation comment into class section header, so that it
9704           appears in the API docs.
9705
9706 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9707
9708         * docs/gst/gstreamer-sections.txt:
9709         Oops. Commit the docs additions too for new API.
9710         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
9711
9712 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9713
9714         * gst/gststructure.c: (gst_structure_id_set),
9715         (gst_structure_id_set_valist):
9716         * gst/gststructure.h:
9717         Add API for setting values into structures without performing
9718         a quark lookup, if the appropriate quark is already known.
9719
9720         API: gst_structure_id_set
9721         API: gst_structure_id_set_valist
9722
9723         * gst/parse/grammar.y:
9724         * gst/parse/parse.l:
9725         Remove some dead code shown by the coverage information.
9726         Don't throw a critical g_warning when encountering a syntax error,
9727         just warn and let the normal error path handle it.
9728
9729         * plugins/elements/gstelements.c:
9730         Bump the rank of filesink up to PRIMARY so that it is preferred over
9731         gnomevfssink for file:// sink uri's
9732
9733         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
9734         (GST_START_TEST), (run_delayed_test),
9735         (gst_parse_test_element_base_init),
9736         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
9737         (gst_parse_test_element_change_state),
9738         (gst_register_parse_element), (parse_suite):
9739         Beef up the tests for parse syntax to check that more error cases
9740         fail as they are supposed to. Increases the test coverage a bit.
9741
9742 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
9743
9744         * docs/manual/basics-elements.xml:
9745           Fix gst_element_link() example.
9746
9747         * gst/gstutils.c:
9748           Mention in API docs that one should usually gst_bin_add()
9749           elements to a bin or pipeline before doing the linking.
9750           
9751 2006-07-26  Wim Taymans  <wim@fluendo.com>
9752
9753         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
9754         (gst_subbuffer_get_type), (gst_buffer_create_sub):
9755         Avoid function call for known types by keeping the buffer and
9756         subbuffer GType global.
9757
9758         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9759         Random silly optimisations in read() path.
9760
9761 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9762
9763         * tools/gst-launch.c: (main):
9764           If the top-level of the parse is a normal bin, it doesn't do the
9765           right logic to run as a top-level element, so place it inside a
9766           pipeline.
9767
9768 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
9769
9770         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
9771           Remove superfluous g_object_notify() calls, GObject does
9772           that for us automatically.
9773
9774 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
9775
9776         * gst/gstinfo.h:
9777           on Win32, use dllspec to export the debug category symbols
9778
9779 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
9780
9781         * gst/gsttaglist.c: (_gst_tag_initialize):
9782           Allow more than one GST_TAG_IMAGE per taglist.
9783
9784 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9785
9786         * gst/gstminiobject.c:
9787           update docs
9788         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
9789         (gst_fd_src_create):
9790           log recurring events at LOG level
9791           add more debug for when the fd gets set
9792
9793 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
9794
9795         * gst/gstparse.c: (gst_parse_launch):
9796           Also remove reentrance checks if flex is MT safe (#348179)
9797          Fix my empty ChangeLog entry below
9798
9799 2006-07-21  Andy Wingo  <wingo@pobox.com>
9800
9801         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
9802
9803         * libs/gst/check/Makefile.am
9804         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
9805         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
9806         * libs/gst/check/gstbufferstraw.h:
9807         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
9808         functions, thus proving I am still a GStreamer haxor. OK I wrote
9809         them a long time ago, but anyways.
9810
9811 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
9812
9813         * configure.ac:
9814         * gst/gstparse.c: (gst_parse_launch):
9815           Check for flex version and omit mutex if we have a MT save flex
9816           (fixes #348179)
9817
9818 2006-07-21  Wim Taymans  <wim@fluendo.com>
9819
9820         * gst/gstparse.c: (gst_parse_launch):
9821         Protect recursive calls to _parse with a recursive mutex
9822         and busy flag.
9823
9824 2006-07-21  Wim Taymans  <wim@fluendo.com>
9825
9826         * tests/check/gst/gstpad.c: (GST_START_TEST):
9827         Fix leak in test.
9828
9829 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
9830
9831         * gst/gstparse.c: (gst_parse_launch):
9832           Do not hang on recursive usage of gst_parse_launch()
9833
9834 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
9835
9836         * gst/gsttaglist.c:
9837           Add some more docs, comments and FIXME 0.11s here and there
9838           and also fix some typos.
9839
9840 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
9841
9842         * gst/gstsegment.h:
9843           Convert tabs to spaces for better readability. 
9844
9845 2006-07-20  Edward Hervey  <edward@fluendo.com>
9846
9847         * tests/check/libs/gdp.c: (gst_dp_suite):
9848         the test_buffer test fails at line 140 on ppc64 at the following
9849         check:
9850         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
9851                 GST_BUFFER_FLAG_IN_CAPS),
9852                 "GST_BUFFER_IN_CAPS flag should have been copied !");
9853         See bug #348114 for more details.
9854
9855 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
9856
9857         * docs/pwg/advanced-scheduling.xml:
9858         * gst/gstpad.c:
9859           Fix typos (#348000).
9860
9861 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
9862
9863         * docs/pwg/intro-basics.xml:
9864           Fix wrong links (#347927).
9865
9866 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
9867
9868         * gst/gstregistry.h:
9869         * gst/gstregistryxml.c: (load_feature),
9870         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
9871         * win32/common/config.h:
9872           make --disable-index work (#342564)
9873
9874 2006-07-18  Wim Taymans  <wim@fluendo.com>
9875
9876         Patch by: Peter Kjellerstedt <pkj at axis dot com>
9877
9878         * gst/Makefile.am:
9879         * gst/gsttrace.h:
9880         The attached patch adds two missing defines to gsttrace.h when tracing
9881         is disabled.  It also corrects one existing define.
9882         Fixes #347756.
9883
9884 2006-07-17  Wim Taymans  <wim@fluendo.com>
9885
9886         * docs/gst/gstreamer-sections.txt:
9887         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
9888         * gst/gst.h:
9889         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
9890         Add two functions to check and change the SIGSEGV behaviour
9891         when loading plugins.
9892         Don't mess with the SIGSEGV handler when we were told not to.
9893         Fixes #347794.
9894         API: gst_segtrap_is_enabled
9895         API: gst_segtrap_set_enabled
9896
9897 2006-07-14  Wim Taymans  <wim@fluendo.com>
9898
9899         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
9900         * tests/check/elements/filesrc.c: (GST_START_TEST):
9901         Revert fix for regression in #347408 after release.
9902
9903 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
9904
9905         Patch by: Antoine Tremblay <hexa00 at gmail com>
9906
9907         * gst/gstutils.c: (gst_element_unlink):
9908           Free iterator when done (#347311).
9909
9910         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9911           And add a test case for this.
9912
9913 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
9914
9915         * configure.ac:
9916         Bump nano back to CVS
9917
9918 === release 0.10.9 ===
9919
9920 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
9921
9922         * configure.ac:
9923           releasing 0.10.9, "On the road again"
9924
9925 2006-07-13  Wim Taymans  <wim@fluendo.com>
9926
9927         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
9928         * tests/check/elements/filesrc.c: (GST_START_TEST):
9929         Revert pull-0 fix for release. Disable check. Fixes #347408.
9930
9931 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9932
9933         * libs/gst/dataprotocol/dataprotocol.c:
9934         (gst_dp_event_from_packet_1_0):
9935           Fixes #347337: failure to deserialize event packets with
9936           empty payload (only event type)
9937
9938 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9939
9940         * gst/Makefile.am:
9941           do not install a .c file in the header directory
9942
9943 2006-07-13  Edward Hervey  <edward@fluendo.com>
9944
9945         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
9946         GhostPad no longer implicitely use the padtemplates of the targets.
9947         Fixes #347384
9948
9949 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
9950
9951         * gst/gstvalue.c: (gst_value_compare_list),
9952         (gst_value_compare_array), (_gst_value_initialize):
9953         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9954         Make GstValueArray comparison be order dependent as designed.
9955         Add checks for value lists and value array comparisons.
9956         Fixes #347221
9957
9958 2006-07-11  Edward Hervey  <edward@fluendo.com>
9959
9960         * gst/gstbin.c: (activate_pads),
9961         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
9962         (gst_bin_change_state_func):
9963         (de)activate src pads before calling state_change on the childs.
9964         This is to avoid the case where a src ghostpad is blocked (holding the
9965         stream lock), which would block the deactivation of the ghostpad's
9966         target pad.
9967         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
9968         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
9969         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
9970         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9971         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9972         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9973         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
9974         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
9975         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
9976         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
9977         (gst_ghost_pad_class_init),
9978         (gst_ghost_pad_internal_do_activate_push),
9979         (gst_ghost_pad_internal_do_activate_pull),
9980         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9981         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9982         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
9983         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
9984         GhostPads now create their internal GstProxyPad at creation (and not
9985         when they're linked, as it was being done previously).
9986         The internal and target pads are linked straight away.
9987         The data will also travel through the other pad in order to make
9988         pad blocking and probes non-hackish (the probe/block now really happens
9989         on the GhostPad and not on the target).
9990         * gst/gstpad.c: (gst_pad_set_blocked_async),
9991         (gst_pad_link_prepare), (gst_pad_push_event):
9992         Remove previous ghostpad cruft.
9993         * gst/gstutils.c: (gst_pad_add_data_probe),
9994         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9995         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9996         (gst_pad_remove_buffer_probe):
9997         Remove previous ghost pad cruft.
9998         Added more detailed debug statements.
9999         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
10000         Fix the testsuite for refcounting changes.
10001         The comments about who has references were correct, but the refcount
10002         being checked wasn't the same (!?!).
10003
10004         Fixes #341029
10005
10006 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
10007
10008         * docs/gst/gstreamer-sections.txt:
10009         * gst/gstconfig.h.in:
10010         More docs for configuration options, add docs to gtk-doc.
10011
10012 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
10013
10014         * gst/Makefile.am:
10015         * gst/gstconfig.h.in:
10016         * win32/common/config.h:
10017         Fix build when disabling tracing (fixes #344016). Also start to document
10018         the defines that disable the sub-systems.
10019
10020 2006-07-10  Edward Hervey  <edward@fluendo.com>
10021
10022         * gst/gst.c: (ensure_current_registry_forking):
10023         let's make valgrind happy...
10024
10025 2006-07-09  Wim Taymans  <wim@fluendo.com>
10026
10027         * gst/gstelement.c: (activate_pads),
10028         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
10029         Better pad activation code: Reset the collect value too on resync.
10030         Add some comments.
10031
10032 2006-07-09  Wim Taymans  <wim@fluendo.com>
10033
10034         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
10035         (gst_pad_activate_push):
10036         Use some more macros where it makes sense.
10037         Allow pad mode switching instead of asserting. When a pad
10038         is activated in one mode and we activate it in another, 
10039         deactivate it first before activating it in a different mode.
10040         Fixes #329198.
10041
10042 2006-07-08  Andy Wingo  <wingo@pobox.com>
10043
10044         * tools/gst-launch.c (main): Handle err == NULL.
10045
10046         * gst/gst.c (init_post, ensure_current_registry)
10047         (ensure_current_registry_forking)
10048         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
10049         factoring out the registry scanning into separate functions. Don't
10050         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
10051         Better environment var name/interface suggestions accepted.
10052
10053 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
10054
10055         * gst/gstobject.c: (gst_object_set_name_default),
10056         (gst_object_set_name):
10057           Random micro-optimisation: don't use a hash table
10058           with strings as keys and the usual strdup/strcmp
10059           involved, but rather just use the GQuark of the
10060           type name as key, since it needs to be looked up
10061           anyway to get the type name string.
10062
10063         * tests/check/gst/gstobject.c: (GST_START_TEST):
10064           Fix various leaks.
10065
10066 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
10067
10068         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
10069         (gst_bin_iterate_all_by_interface):
10070           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
10071           GTypes are gulongs and thus the top 4 bytes might be cut
10072           off on some platforms when doing GPOINTER_TO_INT, leading
10073           to invalid GTypes and bad things happening (see RH bug #179654).
10074           Also add a check to make sure the type passed in is really
10075           an interface type.
10076
10077 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
10078
10079         * .cvsignore:
10080           Ignore more.
10081
10082 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
10083
10084         * Makefile.am:
10085         * configure.ac:
10086         * gst-element-check.m4:
10087         * gst-element-check.m4.in:
10088           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
10089           instead of the unversioned gst-inspect (#324176, #168659).
10090
10091 2006-07-06  Wim Taymans  <wim@fluendo.com>
10092
10093         * gst/gstmessage.h:
10094         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
10095         warnings.
10096
10097 2006-07-06  Wim Taymans  <wim@fluendo.com>
10098
10099         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10100         (gst_base_src_wait), (gst_base_src_update_length),
10101         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
10102         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
10103         (gst_base_src_loop), (gst_base_src_start),
10104         (gst_base_src_activate_pull):
10105         Update docs.
10106         blocksize == 0 now means the default blocksize when working in push
10107         based mode.
10108         Remove some pointless asserts in _wait function.
10109         Fix offset/length calculations and EOS handling. We can now pull 0
10110         bytes as well, which is allowed.
10111         use _check_get_range() to decide if we can operate in _pull based
10112         mode.
10113         Fix refcounting leak when check_get_range function was not 
10114         implemented.
10115         API GstBaseSrc::blocksize range can be 0 too now (default)
10116
10117         * tests/check/elements/filesrc.c: (GST_START_TEST),
10118         (filesrc_suite):
10119         Added check to test _get_range() behaviour.
10120
10121 2006-07-06  Wim Taymans  <wim@fluendo.com>
10122
10123         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
10124         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
10125         (gst_pad_pull_range):
10126         * gst/gstpad.h:
10127         Lots of comments and docs added to the pad functions.
10128         Flesh out the expected behaviour of the get_range() functions.
10129
10130 2006-07-06  Wim Taymans  <wim@fluendo.com>
10131
10132         * gst/gstbus.h:
10133         * gst/gstclock.h:
10134         * gst/gstevent.h:
10135         * gst/gstiterator.h:
10136         * gst/gstpad.h:
10137         * gst/gstplugin.h:
10138         * gst/gsttask.h:
10139         Remove comma at end of enumerator list. 
10140
10141 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
10142
10143         * win32/common/libgstbase.def:
10144         * win32/common/libgstdataprotocol.def:
10145         * win32/common/libsgtreamer.def:
10146         Add new exported functions.
10147
10148 2006-07-05  Wim Taymans  <wim@fluendo.com>
10149
10150         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
10151         Add some more docs here and there.
10152
10153 2006-07-05  Wim Taymans  <wim@fluendo.com>
10154
10155         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
10156         (gst_base_sink_loop), (gst_base_sink_get_position):
10157         When operating in pull mode update the offset so that we
10158         read sequentially.
10159
10160 2006-07-05  Wim Taymans  <wim@fluendo.com>
10161
10162         * gst/gstregistryxml.c: (read_string):
10163         Avoid strdup. (will happen in libxml, but hey!)
10164
10165         * gst/gsturi.c:
10166         Add some more docs.
10167
10168 2006-07-05  Wim Taymans  <wim@fluendo.com>
10169
10170         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
10171         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
10172         (gst_buffer_suite):
10173         No point in checking if the size of the subbuffer > 0, the
10174         code handles it correclty as demonstrated by unit test.
10175         Also add a unit test for the zero sized _new_and_alloc and
10176         _copy. Fixes #346663.
10177
10178 2006-07-05  Wim Taymans  <wim@fluendo.com>
10179
10180         * libs/gst/base/gstbasetransform.c:
10181         (gst_base_transform_prepare_output_buffer),
10182         (gst_base_transform_buffer_alloc),
10183         (gst_base_transform_handle_buffer):
10184         Make sure the buffer we pass to transform_ip has a refcount of
10185         1 and thus is writable. Fixes #343196
10186
10187 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
10188
10189         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
10190         (gst_file_src_init), (gst_file_src_set_property),
10191         (gst_file_src_get_property), (gst_file_src_map_region):
10192         * plugins/elements/gstfilesrc.h:
10193         Add "sequential" property, off by default, to use madvise and hint
10194         to the kernel that sequential access is desired.
10195         Touch all retrieved pages by default to ensure they are pulled
10196         into memory. (Closes #345720)
10197
10198 2006-07-03  Wim Taymans  <wim@fluendo.com>
10199
10200         * docs/design/part-block.txt:
10201         * docs/design/part-dynamic.txt:
10202         Small docs updates.
10203
10204 2006-07-03  Wim Taymans  <wim@fluendo.com>
10205
10206         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
10207         (gst_caps_unref), (gst_static_caps_get),
10208         (gst_caps_append_structure):
10209         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
10210         Use GSlice when the glib we build against is >= 2.10
10211
10212 2006-07-03  Wim Taymans  <wim@fluendo.com>
10213
10214         * gst/gstelement.c: (gst_element_pads_activate):
10215         Small cleanup in pad activation code.
10216
10217 2006-07-03  Wim Taymans  <wim@fluendo.com>
10218
10219         Patch by: Peter Kjellerstedt <pkj at axis dot com>
10220
10221         * gst/gst-i18n-app.h:
10222         * gst/gst-i18n-lib.h:
10223         * tools/gst-inspect.c: (print_signal_info):
10224         The attached patch will make the inclusion of gettext.h unconditional in
10225         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
10226         libintl.h in tools/gst-inspect.c.
10227         This allows use of --disable-nls again and fixes #344642.
10228
10229 2006-07-03  Edward Hervey  <edward@fluendo.com>
10230
10231         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
10232         Implement pad blocking on events according to part-block.txt.
10233         More comments on behaviour.
10234         * tests/check/gst/gstevent.c: (test_event):
10235         Send event to peer pad of blocked pad (else it will block).
10236
10237 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10238
10239         * libs/gst/check/gstcheck.c: (gst_check_message_error),
10240         (gst_check_run_suite):
10241           if we get the wrong message, give us the types as string
10242         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10243           Fix a translatable
10244         * tests/check/elements/filesrc.c: (GST_START_TEST):
10245           add a test for trying to open a non-existing file
10246
10247 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10248
10249         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10250           add a test for adding self
10251
10252 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10253
10254         * libs/gst/check/gstcheck.h:
10255           add some assert_ as alias for fail_unless_*
10256         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
10257           increase test coverage
10258
10259 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10260
10261         * Makefile.am:
10262           include lcov.mak for lcov coverage generation
10263         * tools/Makefile.am:
10264           add to CLEANFILES
10265
10266 2006-07-02  Edward Hervey  <edward@fluendo.com>
10267
10268         * tests/check/elements/.cvsignore:
10269         moaping
10270
10271 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10272
10273         * configure.ac:
10274           don't set CFLAGS and friends for gcov, done from GST_GCOV now
10275         * tests/check/Makefile.am:
10276           clean up gcov files
10277
10278 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10279
10280         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
10281           remove gst_caps_simplify; it was not declared and not used
10282           and deprecated in 0.8
10283
10284 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10285
10286         * docs/faq/gst-uninstalled:
10287           don't put empty paths on PYTHONPATH
10288         * docs/gst/gstreamer-sections.txt:
10289           remove some symbols that are not there
10290
10291 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10292
10293         * gst/gstcaps.c: (gst_caps_compare_structures):
10294           whitespace fixes
10295         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
10296         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10297           add more tests
10298
10299 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10300
10301         * libs/gst/dataprotocol/Makefile.am:
10302           build dataprotocol test by linking to the lib, instead of
10303           compiling the source, so we get coverage
10304         * tests/check/Makefile.am:
10305         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
10306         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
10307           add a test for filesrc
10308
10309 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10310
10311         * tests/check/gst/gststructure.c: (GST_START_TEST),
10312         (gst_structure_suite):
10313           Push coverage from 59.04% to 70.00%
10314
10315 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10316
10317         * tests/check/Makefile.am:
10318           gst-inspect every element; this makes sure that we also get
10319           coverage on element's get/set functions
10320
10321 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10322
10323         * configure.ac:
10324           set CFLAGS and friends to -O0 if gcov is being used
10325           add GCOV LIBS
10326         * gst/Makefile.am:
10327         * libs/gst/base/Makefile.am:
10328         * libs/gst/check/Makefile.am:
10329         * libs/gst/controller/Makefile.am:
10330         * libs/gst/dataprotocol/Makefile.am:
10331         * libs/gst/net/Makefile.am:
10332         * plugins/elements/Makefile.am:
10333         * plugins/indexers/Makefile.am:
10334           add makefile rules to generate gcov data and clean up
10335         * tests/check/Makefile.am:
10336           add a coverage target that generates an html overview
10337           of coverage data
10338
10339 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10340
10341         * tests/check/elements/fakesink.c:
10342         * tests/check/elements/fakesrc.c:
10343         * tests/check/elements/fdsrc.c:
10344         * tests/check/elements/identity.c:
10345         * tests/check/generic/sinks.c: (gst_sinks_suite):
10346         * tests/check/generic/states.c:
10347         * tests/check/gst/gst.c:
10348         * tests/check/gst/gstabi.c:
10349         * tests/check/gst/gstbin.c:
10350         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
10351         * tests/check/gst/gstbus.c: (gst_bus_suite):
10352         * tests/check/gst/gstcaps.c: (GST_START_TEST):
10353         * tests/check/gst/gstelement.c:
10354         * tests/check/gst/gstevent.c: (gst_event_suite):
10355         * tests/check/gst/gstghostpad.c:
10356         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
10357         * tests/check/gst/gstmessage.c: (gst_message_suite):
10358         * tests/check/gst/gstminiobject.c:
10359         * tests/check/gst/gstobject.c:
10360         * tests/check/gst/gstpad.c:
10361         * tests/check/gst/gstpipeline.c:
10362         * tests/check/gst/gstplugin.c:
10363         * tests/check/gst/gstquery.c: (gst_query_suite):
10364         * tests/check/gst/gstsegment.c: (gst_segment_suite):
10365         * tests/check/gst/gststructure.c:
10366         * tests/check/gst/gstsystemclock.c:
10367         * tests/check/gst/gsttag.c:
10368         * tests/check/gst/gsttask.c: (gst_task_suite):
10369         * tests/check/gst/gstutils.c:
10370         * tests/check/gst/gstvalue.c:
10371         * tests/check/libs/adapter.c:
10372         * tests/check/libs/basesrc.c:
10373         * tests/check/libs/collectpads.c:
10374         * tests/check/libs/controller.c:
10375         * tests/check/libs/gdp.c: (gst_dp_suite):
10376         * tests/check/libs/gstnetclientclock.c:
10377         * tests/check/libs/gstnettimeprovider.c:
10378         * tests/check/libs/libsabi.c: (libsabi_suite):
10379         * tests/check/libs/typefindhelper.c:
10380         * tests/check/pipelines/cleanup.c:
10381         * tests/check/pipelines/parse-launch.c:
10382         * tests/check/pipelines/simple-launch-lines.c:
10383         * tests/check/pipelines/stress.c: (stress_suite):
10384           use the new macro
10385
10386 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10387
10388         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
10389         * libs/gst/check/gstcheck.h:
10390           create a macro and function so that the simple unit test
10391           case can be just one macro to create main()
10392
10393 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
10394
10395         * gst/gstbin.c: (gst_bin_restore_thyself):
10396         * gst/gstxml.c: (gst_xml_make_element):
10397           Fix deserialisation from XML. Set parent manually
10398           instead of using gst_bin_add(), since gst_bin_add()
10399           will unlink all pads of the element being added.
10400           Fixes #341667.
10401
10402 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
10403
10404         Patch by: Peter Kjellerstedt <pkj at axis com>
10405
10406         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
10407           Fix missing g_strdup() and double free when using the
10408           --gst-plugin-load command line option (#346097).
10409
10410 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
10411
10412         * gst/gstinfo.c:
10413           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
10414
10415         * libs/gst/net/gstnetclientclock.c:
10416         * libs/gst/net/gstnettimeprovider.c:
10417           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
10418
10419 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
10420
10421         * docs/manual/advanced-dataaccess.xml:
10422           Fix buffer probe example compilation in
10423           ADM (#345708).
10424         
10425 2006-06-22  Edward Hervey  <edward@fluendo.com>
10426
10427         * gst/gstelement.c: (gst_element_pads_activate):
10428         We need to deactivate src pads first and then sink pads.
10429         The reason is the src pads might be blocking while holding the streaming
10430         lock, so we need to deactivate them first so that deactivating the sink
10431         pads doesn't block (since it will require the streaming lock).
10432
10433 2006-06-22  Wim Taymans  <wim@fluendo.com>
10434
10435         * libs/gst/base/gstbasetransform.c:
10436         (gst_base_transform_buffer_alloc):
10437         Forgot to remove two unneeded unrefs.
10438         Simplify a check _is_equal allready checks the obvious case.
10439
10440 2006-06-22  Wim Taymans  <wim@fluendo.com>
10441
10442         * docs/design/part-block.txt:
10443         Some docs about what pad_block should do.
10444
10445 2006-06-22  Wim Taymans  <wim@fluendo.com>
10446
10447         * gst/gstcaps.c: (gst_caps_replace):
10448         Fix crasher when passed NULL. Doc clarification.
10449         Optimize for the trivial case.
10450
10451         * gst/gstpipeline.c: (gst_pipeline_change_state):
10452         Small cleanups.
10453
10454         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10455         Small documentation cleanup.
10456
10457         * libs/gst/base/gstbasetransform.c:
10458         (gst_base_transform_buffer_alloc):
10459         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
10460         is what we need and it avoids a whole lot of redundant 
10461         refcount operations.
10462
10463 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
10464
10465         Patch by: Philip Jägenstedt  <philip at lysator liu se>
10466
10467         * docs/manual/advanced-dataaccess.xml:
10468           Fix 'Embedding static elements' section to use
10469           GST_PLUGIN_DEFINE_STATIC (#345607).
10470
10471 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
10472
10473         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
10474           Attempt to 'fix' spuriously failing test case: it seems like the
10475           timeout of half a second is simply too small when the system is under
10476           load otherwise, and the timeout doesn't really seem to serve any
10477           particular purpose here. Give the pipeline a few seconds to preroll
10478           first, and then give it another half a second to go from PAUSED to
10479           PLAYING and marshal the message into the main thread.
10480
10481 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
10482
10483         * tools/gst-feedback-m.m:
10484           Don't only use unversioned tools, try versioned tools as well
10485           (#345086).
10486
10487 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
10488
10489         * gst/gstbus.c: (gst_bus_class_init):
10490           Fix some typos, make docs more explicit.
10491
10492 2006-06-20  Wim Taymans  <wim@fluendo.com>
10493
10494         * tests/check/gst/gstghostpad.c: (block_callback),
10495         (GST_START_TEST), (gst_ghost_pad_suite):
10496         Added some more ghostpad tests, mainly blocking
10497         and probes.
10498
10499 2006-06-16  Wim Taymans  <wim@fluendo.com>
10500
10501         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
10502         (gst_file_sink_close_file), (gst_file_sink_do_seek),
10503         (gst_file_sink_event), (gst_file_sink_render):
10504         * plugins/elements/gstfilesink.h:
10505         Check if we can seek in the file instead of assuming
10506         we always can. Post an error when we are asked to seek in a
10507         non-seekable file (like a fifo). Fixes #343312.
10508         Some cleanups.
10509
10510 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
10511
10512         * tools/gst-launch.1.in:
10513           Un-garble (fourcc) bit in filtered caps section.
10514
10515 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
10516
10517         * docs/manual/advanced-autoplugging.xml:
10518         * docs/manual/basics-helloworld.xml:
10519         * docs/manual/highlevel-components.xml:
10520           Don't leak bus reference in sample code.
10521
10522 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
10523
10524         * autogen.sh:
10525           Add default for new --enable-plugin-docs switch.
10526
10527         * configure.ac:
10528           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
10529           Fixes #344039.
10530
10531         * docs/Makefile.am:
10532           Use new ENABLE_PLUGIN_DOCS conditional.
10533
10534 2006-06-14  Wim Taymans  <wim@fluendo.com>
10535
10536         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
10537         Make it clear with a FIXME and a real define what the #if 0
10538         previously disabled.
10539
10540 2006-06-14  Wim Taymans  <wim@fluendo.com>
10541
10542         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10543         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
10544         * libs/gst/base/gstbasetransform.c:
10545         (gst_base_transform_sink_eventfunc):
10546         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
10547         Don't randomly and silently reset a segment when the format 
10548         changes as this is a bug somewhere upstream. Fixes #330379.
10549
10550 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
10551
10552         Patch by: Wouter Paesen  <wouter at kangaroot net>
10553
10554         * libs/gst/controller/gstcontroller.c:
10555         (gst_controlled_property_new):
10556           Fix controlling of float properties (#344849).
10557
10558         * tests/check/libs/controller.c:
10559         (gst_test_mono_source_get_property),
10560         (gst_test_mono_source_set_property),
10561         (gst_test_mono_source_class_init), (GST_START_TEST):
10562           While we're at it, add some float stuff to unit test.
10563
10564 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10565
10566         * docs/README:
10567         * docs/images/gdp-header.svg:
10568           add a gdp image
10569         * docs/libs/Makefile.am:
10570         * docs/libs/gdp-header.png:
10571         * libs/gst/dataprotocol/dataprotocol.c:
10572           add it to the API docs
10573         * docs/manual/intro-motivation.xml:
10574           fix typo
10575
10576 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
10577
10578         * gst/gst.c: (scan_and_update_registry), (init_post):
10579           If the fork()'ed child process can't write the updated registry cache
10580           file to disk for some reason, make it exit with a failure exit code,
10581           so that the parent can then re-scan the plugins itself and update the
10582           registry structures in memory and work with that (rather than failing
10583           when creating elements because seemingly no plugins are available).
10584           Refactor registry scanning code into separate function for this and
10585           also separate fork() and non-fork() code paths. Fixes #344748.
10586
10587 2006-06-13  Wim Taymans  <wim@fluendo.com>
10588
10589         * docs/manual/advanced-dataaccess.xml:
10590         Fix wrong PluginDesc. Fixes #344755.
10591
10592 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
10593
10594         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
10595           Fix silly bug that prevented us from creating
10596           ~/.gstreamer-0.10 and writing the registry in one
10597           go (the first call to g_mkstemp() would overwrite the
10598           placeholder in the template string, so the second call
10599           to g_mkstemp() after creating the missing directory
10600           would then error out with 'invalid argument').
10601
10602 2006-06-13  Edward Hervey  <edward@fluendo.com>
10603
10604         * gst/gst.c: (init_post):
10605         Free string.
10606
10607 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10608
10609         * gst/glib-compat-private.h:
10610         * gst/glib-compat.c:
10611         * gst/glib-compat.h:
10612         * gst/gstvalue.c: (gst_value_serialize_flags):
10613           remove GLib 2.6 compatibility code
10614
10615 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
10616
10617         * gst/parse/Makefile.am:
10618           Fix build with 'make -j N' even more (#340016).
10619
10620 2006-06-12  Wim Taymans  <wim@fluendo.com>
10621
10622         * docs/gst/gstreamer-sections.txt:
10623         Fix docs.
10624
10625 2006-06-12  Wim Taymans  <wim@fluendo.com>
10626
10627         * gst/gstsegment.c: (gst_segment_set_duration),
10628         (gst_segment_set_last_stop), (gst_segment_set_seek),
10629         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
10630         (gst_segment_to_running_time), (gst_segment_clip):
10631         Use G_UNLIKELY to help the compiler a bit.
10632
10633 2006-06-12  Wim Taymans  <wim@fluendo.com>
10634
10635         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
10636
10637         * gst/gstevent.c: (gst_event_get_type):
10638         * gst/gstmessage.c:
10639         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
10640         (gst_pad_push):
10641         constify quark registration strings. Fixes #344115
10642         Avoid unneeded type checking is _pad_push() by internally
10643         calling gst_pad_chain_unchecked().
10644
10645 2006-06-12  Wim Taymans  <wim@fluendo.com>
10646
10647         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
10648         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
10649         (gst_subbuffer_finalize), (gst_buffer_create_sub),
10650         (gst_buffer_is_span_fast), (gst_buffer_span):
10651         Init _type for consistency.
10652         Use _FLAGS macro to avoid type check.
10653         Avoid unneeded type checks in subbufer code.
10654
10655 2006-06-12  Wim Taymans  <wim@fluendo.com>
10656
10657         * gst/gst.c: (gst_debug_help):
10658         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
10659         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
10660         (gst_plugin_feature_list_free):
10661         * gst/gstregistry.c: (gst_registry_add_plugin),
10662         (gst_registry_add_feature), (gst_registry_plugin_filter),
10663         (gst_registry_feature_filter), (gst_registry_find_plugin),
10664         (gst_registry_find_feature), (gst_registry_get_plugin_list),
10665         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
10666         * gst/gstregistryxml.c: (load_feature),
10667         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
10668         * gst/gstminiobject.c: (gst_mini_object_unref),
10669         (gst_mini_object_replace), (gst_value_mini_object_free),
10670         (gst_value_mini_object_copy):
10671         Use _CAST macros to avoid unneeded type checking.
10672         Added some more G_UNLIKELY.
10673
10674 2006-06-12  Wim Taymans  <wim@fluendo.com>
10675
10676         * gst/gstbuffer.h:
10677         Avoid unneeded type checking.
10678         API: GST_BUFFER_IS_DISCONT
10679
10680         * gst/gstminiobject.h:
10681         Avoid type check in flag accessor.
10682
10683         * gst/gstelementfactory.h:
10684         * gst/gstplugin.h:
10685         * gst/gstpluginfeature.h:
10686         Add _CAST macros.
10687         API: GST_ELEMENT_FACTORY_CAST
10688         API: GST_PLUGIN_CAST
10689         API: GST_PLUGIN_FEATURE_CAST
10690
10691 2006-06-12  Wim Taymans  <wim@fluendo.com>
10692
10693         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
10694         (gst_object_unref):
10695         Add G_UNLIKELY in type registration.
10696         Avoid type check in _ref/_unref since that is also
10697         done in glib.
10698
10699 2006-06-12  Wim Taymans  <wim@fluendo.com>
10700
10701         * gst/gsterror.c: (gst_g_error_get_type):
10702         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10703         (gst_static_pad_template_get_type):
10704         * gst/gsttaglist.c: (gst_tag_list_get_type):
10705         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
10706         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
10707         * gst/gsturi.c: (gst_uri_handler_get_type):
10708         * gst/gstvalue.c: (gst_date_get_type):
10709         * gst/gstxml.c: (gst_xml_get_type):
10710         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
10711         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
10712         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
10713         Add G_UNLIKELY in type registration.
10714
10715 2006-06-12  Wim Taymans  <wim@fluendo.com>
10716
10717         * tools/gst-inspect.c: (print_signal_info):
10718         Properly print enum values.
10719
10720 2006-06-12  Wim Taymans  <wim@fluendo.com>
10721
10722         * gst/gstinfo.c: (gst_debug_set_active),
10723         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
10724         * gst/gstinfo.h:
10725         Add some G_[UN]LIKELY.
10726         Maintain __gst_debug_min to avoid formatting the arguments of
10727         debug messages that will be dropped anyway to avoid a lot of 
10728         overhead from the debugging system.
10729
10730 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10731
10732         * po/POTFILES.in:
10733         * po/POTFILES.skip:
10734           add missing files containing translatable strings, tell intltool about
10735           one exception
10736
10737 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10738
10739         * tests/check/libs/.cvsignore:
10740         add test-binary to ignore list
10741
10742 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10743
10744         * docs/libs/gstreamer-libs-docs.sgml:
10745         reorder (put dp into a chapter) and indent
10746
10747 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10748
10749         * configure.ac:
10750           back to HEAD
10751
10752 === release 0.10.8 ===
10753
10754 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
10755
10756         * configure.ac:
10757           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
10758
10759 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10760
10761         * gst/gst.c: (init_post):
10762           move pid declaration to declaration block
10763
10764 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10765
10766         * gst/gst.c: (init_post):
10767           use _exit() instead of exit() in our forked child; this ensures
10768           that none of the registered exit handlers from whatever is using
10769           GStreamer get executed.  This fixes gnome-mixer-applet failing
10770           to load, because ORBit would shut down.
10771           Spotted by: Edward Hervey  <edward@fluendo.com>
10772           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
10773           Fixes #344474
10774
10775 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10776
10777         * configure.ac:
10778           back to TRUNK
10779
10780 === release 0.10.7 ===
10781
10782 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
10783
10784         * configure.ac:
10785           releasing 0.10.7, "Soepeke, ik zie ou"
10786
10787 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10788
10789         * configure.ac:
10790         * po/af.po:
10791         * po/az.po:
10792         * po/bg.po:
10793         * po/ca.po:
10794         * po/cs.po:
10795         * po/de.po:
10796         * po/en_GB.po:
10797         * po/fr.po:
10798         * po/it.po:
10799         * po/nb.po:
10800         * po/nl.po:
10801         * po/ru.po:
10802         * po/sq.po:
10803         * po/sr.po:
10804         * po/sv.po:
10805         * po/tr.po:
10806         * po/uk.po:
10807         * po/vi.po:
10808         * po/zh_CN.po:
10809         * po/zh_TW.po:
10810         * win32/common/config.h:
10811           0.10.6.2 prerelease
10812
10813 2006-06-07  Wim Taymans  <wim@fluendo.com>
10814
10815         * gst/gstindex.c: (gst_index_gtype_resolver):
10816         * tools/gst-xmlinspect.c: (print_plugin_info):
10817         Fix leak spotted by coverity checker. Fixes #343827
10818         Fix another other leak found by paolo borelli.
10819
10820 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10821
10822         * libs/gst/dataprotocol/dataprotocol.c:
10823         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
10824         (gst_dp_version_get_type), (gst_dp_init),
10825         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
10826         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
10827         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
10828         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
10829         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
10830         (gst_dp_packetizer_free):
10831         * libs/gst/dataprotocol/dataprotocol.h:
10832           API: add a GstDPPacketizer object, and create/free functions
10833           API: add GstDPVersion enum
10834           Add 1.0 event function that uses the string serialization
10835           Serialize more useful buffer flags
10836           Fixes #343988
10837
10838 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10839
10840         * tests/check/Makefile.am:
10841         * tests/check/gst/gstabi.c:
10842         * tests/check/gst/struct_ppc64.h:
10843         * tests/check/libs/libsabi.c:
10844         * tests/check/libs/struct_ppc64.h:
10845           add ppc64 structure sizes
10846
10847 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10848
10849         * tests/check/Makefile.am:
10850         * tests/check/gst/gstabi.c:
10851         * tests/check/gst/struct_x86_64.h:
10852         * tests/check/libs/libsabi.c:
10853         * tests/check/libs/struct_x86_64.h:
10854           generate and add structure size lists for x86_64
10855
10856 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10857
10858         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10859         * libs/gst/check/gstcheck.h:
10860           factor out the method from tests that checks size of structures,
10861           and add code to generate the header containing these sizes
10862         * tests/check/gst/gstabi.c: (GST_START_TEST):
10863         * tests/check/gst/struct_i386.h:
10864         * tests/check/libs/libsabi.c: (GST_START_TEST):
10865         * tests/check/libs/struct_i386.h:
10866           use it
10867
10868 2006-06-06  Michael Smith  <msmith@fluendo.com>
10869
10870         * gst/gstsegment.h:
10871           Don't use c++-style comments, fixes #343929
10872
10873 2006-06-05  Edward Hervey  <edward@fluendo.com>
10874
10875         * gst/gst.c:
10876         plugin_paths is not used if we build without registry support.
10877
10878         * gst/gstsegment.c: (gst_segment_copy): 
10879         _copy() was always returning NULL...
10880
10881 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10882
10883         * libs/gst/dataprotocol/dataprotocol.c:
10884         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10885         (gst_dp_packet_from_event):
10886           factor out CRC code
10887
10888 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10889
10890         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
10891           make sure we unset caps
10892
10893 2006-06-02  Michael Smith  <msmith@fluendo.com>
10894
10895         * libs/gst/check/gstcheck.c: (gst_check_init),
10896         (gst_check_chain_func):
10897         * libs/gst/check/gstcheck.h:
10898           Add a cond/mutex to the check support lib, signal this whenever we
10899           add to the buffers list. This will allow tests to not busy-wait on
10900           the buffer-list.
10901
10902 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10903
10904         * libs/gst/dataprotocol/dataprotocol.c:
10905         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10906         (gst_dp_packet_from_event):
10907           factor out some common header init code
10908
10909 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10910
10911         * docs/libs/gstreamer-libs-sections.txt:
10912         * docs/libs/tmpl/gstdataprotocol.sgml:
10913         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
10914         * libs/gst/dataprotocol/dataprotocol.h:
10915           API: make gst_dp_crc() public
10916
10917 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
10918
10919         * plugins/indexers/gstindexers.c: (plugin_init):
10920         conditionally register fileindexer (fixes #343598)
10921
10922 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
10923
10924         * gst/gsttagsetter.h:
10925         Can't cast ifaces to a class
10926
10927         * libs/gst/net/gstnetclientclock.h:
10928         * libs/gst/net/gstnettimeprovider.h:
10929         * plugins/elements/gstfakesink.h:
10930         * plugins/elements/gstfakesrc.h:
10931         * plugins/elements/gstfdsink.h:
10932         * plugins/elements/gstfdsrc.h:
10933         * plugins/elements/gstfilesink.h:
10934         * plugins/elements/gstfilesrc.h:
10935         * plugins/elements/gstidentity.h:
10936         * plugins/elements/gstqueue.h:
10937         * plugins/elements/gsttee.h:
10938         * plugins/indexers/gstfileindex.c:
10939         * plugins/indexers/gstmemindex.c:
10940         * tests/old/examples/plugins/example.h:
10941         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
10942
10943 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10944
10945         * libs/gst/dataprotocol/dataprotocol.c:
10946         (gst_dp_header_from_buffer):
10947           make sure we zero the whole ABI-compatible area
10948
10949 2006-06-01  Wim Taymans  <wim@fluendo.com>
10950
10951         Patch by: Alessandro Decina <alessandro at nnva dot org>
10952
10953         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
10954         Make sure the EOS flag is cleared from pads after a flush
10955         or stop. Fixes #343538.
10956
10957         * tests/check/libs/collectpads.c: (GST_START_TEST),
10958         (gst_collect_pads_suite):
10959         Added test for collectpads reusage after EOS.
10960
10961 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
10962
10963         * gst/gst.c:
10964          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
10965         * win32/common/libgstbase.def:
10966          export gst_collect_pads_set_flushing
10967         * win32/common/libgstreamer.def:
10968          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
10969          gst_value_fraction_multiply
10970         * win32/vs6/gst_inspect.dsp:
10971          add a link to intl.lib
10972
10973 2006-05-30  Wim Taymans  <wim@fluendo.com>
10974
10975         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
10976         (gst_collect_pads_chain):
10977         Handle the case where a pad is removed from the collection
10978         that could cause the other pads to become collectable.
10979
10980 2006-05-30  Wim Taymans  <wim@fluendo.com>
10981
10982         * gst/gstelement.c:
10983         Clarify the use of _release_request_pad() and
10984         _get_request_pad() a bit better.
10985
10986         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
10987         (gst_adapter_take_buffer):
10988         Fix some doc and comment typos.
10989
10990 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10991
10992         * docs/gst/gstreamer-sections.txt:
10993         * docs/libs/gstreamer-libs-sections.txt:
10994           add declared symbols
10995
10996 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
10997
10998         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10999         Add debug that can be enabled using a #define at the top of the file,
11000         for dumping stats about how late/early we were when waking up from
11001         waiting on the clock.
11002
11003 2006-05-30  Wim Taymans  <wim@fluendo.com>
11004
11005         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
11006         When rebuilding the pad list, don't leak the previous list.
11007
11008 2006-05-30  Wim Taymans  <wim@fluendo.com>
11009
11010         Patch by: Lutz Mueller <lutz at topfrose dot de>
11011
11012         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11013         (gst_base_src_get_query_types), (gst_base_src_update_length):
11014         Publish supported query types.
11015         Update last_stop field in get_range mode so the position
11016         query works. Fixes #342321.
11017
11018 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
11019
11020         * docs/gst/gstreamer-sections.txt:
11021         * gst/gsttaglist.c: (_gst_tag_initialize):
11022         * gst/gsttaglist.h:
11023           API: add GST_TAG_PREVIEW_IMAGE (#343341).
11024
11025 2006-05-30  Wim Taymans  <wim@fluendo.com>
11026
11027         Patch by: Alessandro Decina <alessandro at nnva dot org>
11028
11029         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
11030         Unlock mutex when removing an unknown pad.
11031         Fixes #343334.
11032
11033         * tests/check/Makefile.am:
11034         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
11035         (push_event), (setup), (teardown), (GST_START_TEST),
11036         (gst_collect_pads_suite), (main):
11037         Added collecpads check, disabled for now as check crashes for
11038         some reason.
11039
11040 2006-05-29  Wim Taymans  <wim@fluendo.com>
11041
11042         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
11043         Don't leak pads lists.
11044
11045 2006-05-29  Wim Taymans  <wim@fluendo.com>
11046
11047         * docs/libs/gstreamer-libs-sections.txt:
11048         * libs/gst/base/gstcollectpads.c:
11049         (gst_collect_pads_set_flushing_unlocked),
11050         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
11051         (gst_collect_pads_stop):
11052         * libs/gst/base/gstcollectpads.h:
11053         API: gst_collect_pads_set_flushing()
11054         Added api to set the pads to flushing, useful for seeking
11055         code in elements using collectpads.
11056         Clear segment when receiving a flush.
11057
11058 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
11059
11060         * gst/gst.c: (add_path_func), (init_post):
11061           Don't scan registry paths passed via --gst-plugin-path immediately
11062           (will crash, because absolutely nothing is set up and no types are
11063           registered etc.); do this later in init_post(). Fixes #343057.
11064
11065 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11066
11067         * gst/gst.c: (init_post):
11068           if we have fork, fork while reading/rebuilding the registry
11069           so the parent doesn't take the hit of having all plugins loaded
11070           in memory.  Fixes #342777.
11071         * configure.ac:
11072           Check if we have fork()
11073         * win32/common/config.h.in:
11074           no fork() on win32
11075
11076 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
11077
11078         * plugins/elements/gstelements.c:
11079         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11080         (gst_file_src_init), (gst_file_src_set_property),
11081         (gst_file_src_get_property), (gst_file_src_start):
11082         * plugins/elements/gstfilesrc.h:
11083           API: GstFileSrc::use-mmap
11084
11085         Add a use-mmap property to enable easier testing of all code paths.
11086         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
11087         in the absence of gnomevfssrc. (Closes #340501)
11088
11089 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11090
11091         * tools/gst-inspect.c:
11092         Add missing include, removes warning of ngettext not being defined on
11093         some arches.
11094
11095 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
11096
11097         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11098         Handle NULL input and output pointers silently as a failed conversion,
11099         rather than g_warnings.
11100
11101 2006-05-25  Wim Taymans  <wim@fluendo.com>
11102
11103         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
11104         Initialize variable before using. Fixes #342820.
11105
11106 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
11107
11108         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
11109           Fix off-by-one bug that would only allow peeks of N-1 bytes
11110           from the start even if the buffer to typefind on contains
11111           in fact N bytes of data (makes vorbis typefinding from a
11112           vorbis identification header buffer work).
11113
11114         * tests/check/Makefile.am:
11115         * tests/check/libs/.cvsignore:
11116         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
11117         (gst_typefindhelper_suite), (main), (foobar_typefind),
11118         (plugin_init):
11119           Add very basic unit test for gst_type_find_helper_for_buffer()
11120           that checks for the problem fixed above.
11121
11122 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11123
11124         * tools/gst-inspect.c: (print_interfaces),
11125         (print_element_properties_info), (print_element_list), (main):
11126           add more translatable strings
11127
11128 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
11129
11130         Patch by: Julien Moutte  <julien at moutte net>
11131
11132         * docs/gst/gstreamer-sections.txt:
11133           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
11134           
11135         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
11136         (gst_fake_sink_preroll):
11137         * plugins/elements/gstfakesink.h:
11138           API: Add new GstFakeSink::preroll-handoff signal (#337100).
11139
11140 2006-05-23  Wim Taymans  <wim@fluendo.com>
11141
11142         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
11143         * gst/gstpad.h:
11144         Added _CUSTOM error and success GstFlowReturn that can be
11145         used be elements internally. 
11146         Added macro to check for SUCCESS flowreturns.
11147         API: GST_FLOW_CUSTOM_SUCCESS
11148         API: GST_FLOW_CUSTOM_ERROR
11149         API: GST_FLOW_IS_SUCCESS
11150
11151         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
11152         Added check for GstFlowReturn sanity.
11153
11154 2006-05-23  Wim Taymans  <wim@fluendo.com>
11155
11156         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11157
11158         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
11159         (gst_collect_pads_event):
11160         clear/reset segment info in FLUSH_STOP.
11161         Fixes #336929.
11162
11163 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
11164
11165         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
11166         (gst_collect_pads_check_collected):
11167         Flush queued buffer on _stop(), fixes playing again (#342454)
11168
11169 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11170
11171         * tests/check/gst/gststructure.c: (GST_START_TEST),
11172         (gst_structure_suite):
11173           add a test for a complete structure
11174
11175 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
11176
11177         * docs/faq/developing.xml:
11178         * docs/faq/faq.xml:
11179         * docs/faq/troubleshooting.xml:
11180         * docs/faq/using.xml:
11181           Some minor FAQ updates that won't change the fact that
11182           our FAQ is badly structured, full of information hardly
11183           anyone new to GStreamer needs to know and lacking lots
11184           of information people constantly ask for.
11185           
11186 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
11187
11188         * gst/gstpad.c: (gst_pad_set_caps):
11189           Short-circuit gst_pad_set_caps if setting the existing
11190           caps pointer again, and avoid printing debug and 
11191           reffing/unreffing the caps.
11192
11193         * plugins/elements/gstqueue.c: (gst_queue_push_one):
11194           There's actually no need to set the caps before pushing -
11195           the acceptcaps method will handle it anyway.
11196
11197 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
11198
11199         * docs/gst/gstreamer-sections.txt:
11200         * win32/common/libgstreamer.def:
11201         * gst/gstutils.c: (gst_element_seek_simple):
11202         * gst/gstutils.h:
11203           API: add gst_element_seek_simple() (#342238).
11204
11205 2006-05-18  Edward Hervey  <edward@fluendo.com>
11206
11207         * gst/gsttypefind.c: (gst_type_find_get_type):
11208         * gst/gsttypefind.h:
11209         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
11210         registered for GstTypeFind pointers. This allows wrapping the structure
11211         in bindings (i.e. gst-python).
11212
11213 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
11214
11215         * gst/gsttagsetter.c:
11216           Docs additions and fixes (see #339918).
11217
11218 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11219
11220         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11221         The caps intersection algorithm can produce multiple copies of the
11222         caps. Until that is fixed, we need to simplify the result to be
11223         sure whether the allowed caps are fixed or not.
11224
11225         * plugins/elements/gstqueue.c: (gst_queue_init),
11226         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
11227         (gst_queue_push_one):
11228         Proxied buffer alloc should not set the caps on the source pad.
11229         When pushing buffers, we always accept the caps change that triggers.
11230         This prevents negotiation errors caused by caps changing mid-stream 
11231         and then being refused on our source pad (because upstream is now
11232         refusing those caps).
11233
11234 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
11235
11236         * tests/examples/helloworld/helloworld.c: (main):
11237           Must plug audioconvert and audioresample between decoder
11238           and audio sink.
11239
11240 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
11241
11242         * gst/gstregistryxml.c: (read_string), (load_pad_template),
11243         (load_feature), (load_plugin):
11244         Allow empty strings for some of the plugin fields so we don't 
11245         drop valid plugin entries that were written out correctly
11246         (Fixes #341479)
11247
11248 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
11249         
11250         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
11251           Use g_remove and g_rename instead of remove and rename that don't 
11252           handle utf8 characters. rename was failing for users who had specific
11253           characters in their name then the registry was built at each 
11254           gstreamer init.
11255         * win32/vs6/gst_inspect.dsp:
11256         * win32/vs6/gst_launch.dsp:
11257         * win32/vs6/libgstbase.dsp:
11258         * win32/vs6/libgstcoreelements.dsp:
11259         * win32/vs6/libgstreamer.dsp:
11260           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
11261           build of libgstreamer and clean unused libraries in projects link 
11262           settings.
11263
11264 2006-05-17  Edward Hervey  <edward@fluendo.com>
11265
11266         * plugins/elements/gstqueue.c: (gst_queue_push_one):
11267         The queue is not responsible for pushing an EOS when receiving a fatal
11268         flow error. It's up to the real element driving the pipeline to do that.
11269
11270 2006-05-16  Edward Hervey  <edward@fluendo.com>
11271
11272         * plugins/elements/gstqueue.c: (gst_queue_push_one):
11273         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
11274         buffer returned a fatal error. It should just send an EOS and stop
11275         its task.
11276         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
11277         when pushing buffers on the queue and will be able to handle the event.
11278
11279 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
11280
11281         * docs/manual/basics-bins.xml:
11282         * docs/manual/basics-init.xml:
11283           Fix typos and minor errors in sample code (#341856).
11284
11285 2006-05-16  Wim Taymans  <wim@fluendo.com>
11286
11287         * docs/design/part-qos.txt:
11288         Fix indexes in formulas to make more sense.
11289
11290 2006-05-15  Wim Taymans  <wim@fluendo.com>
11291
11292         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11293         Don't report POSITION based on clock time if sync is
11294         disabled in a sink.
11295
11296 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
11297
11298         * gst/gstobject.h:
11299           Add cast to make compiler happy - refcount variable was a gint
11300           in GstObject but is a guint in GObject and g_atomic_int_get()
11301           wants a gint *.
11302
11303 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11304
11305         * gst/parse/Makefile.am:
11306           chain commands using &&, which also makes parallel make work
11307
11308 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
11309
11310         * docs/gst/gstreamer-sections.txt:
11311         * gst/gstevent.c:
11312         * gst/gstevent.h:
11313         * gst/gstmessage.h:
11314           Minor docs fixes.
11315
11316 === release 0.10.6 ===
11317
11318 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
11319
11320         * configure.ac:
11321           releasing 0.10.6, "Take the cannoli"
11322
11323 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11324
11325         * tools/gst-launch.c: (print_tag):
11326           Fix use of uninitialized variable in the hypothetical
11327           case that some broken plugin creates a GST_TAG_IMAGE
11328           tag containing a NULL buffer (#341667).
11329
11330 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11331
11332         * tools/gst-launch.c: (print_tag):
11333           Print something more intelligible for image tags when
11334           using the -t switch (#341556).
11335
11336 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11337
11338         * Makefile.am:
11339           updates for win32
11340         * configure.ac:
11341           define GST_MAJORMINOR so we have it available in win32/common/config.h
11342           Possibly remove it from our Makefile.am files later
11343         * win32/common/config.h:
11344         * win32/common/config.h.in:
11345           added GST_MAJORMINOR
11346         * win32/common/gstenumtypes.c: (register_gst_resource_error):
11347         * win32/common/gstversion.h:
11348           updated
11349
11350 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
11351
11352         * win32/MANIFEST:
11353           Update win32 files listing.
11354         * win32/common/gstversion.h:
11355           Add GST_MAJORMINOR definition.
11356         * win32/common/libgstreamer.def:
11357           Add new exported functions.
11358           
11359 2006-05-12  Michael Smith  <msmith@fluendo.com>
11360
11361         * gst/gstplugin.c: (gst_plugin_load_file):
11362           If an so file has no plugin entry point, unload the module.
11363
11364 2006-05-11  Wim Taymans  <wim@fluendo.com>
11365
11366         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
11367         (gst_queue_set_property):
11368         Don't forget to signal the _chain or _loop function 
11369         when the queue size or thresholds change since that might
11370         cause them to make progres again.
11371
11372 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
11373
11374         * gst/gstclock.c: (gst_clock_class_init):
11375         * gst/gstindex.c: (gst_index_class_init):
11376         * gst/gstobject.c: (gst_object_class_init):
11377         * gst/gstpad.c: (gst_pad_class_init):
11378         * gst/gstpipeline.c: (gst_pipeline_class_init):
11379         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
11380         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
11381         * libs/gst/base/gstbasetransform.c:
11382         (gst_base_transform_class_init):
11383         * libs/gst/net/gstnetclientclock.c:
11384         (gst_net_client_clock_class_init):
11385         * libs/gst/net/gstnettimeprovider.c:
11386         (gst_net_time_provider_class_init):
11387         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
11388         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
11389         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
11390         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
11391         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
11392         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11393         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
11394         * plugins/elements/gstidentity.c: (gst_identity_class_init):
11395         * plugins/elements/gsttee.c: (gst_tee_class_init):
11396         * tests/old/examples/plugins/example.c: (gst_example_class_init):
11397         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
11398           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
11399
11400 2006-05-11  Wim Taymans  <wim@fluendo.com>
11401
11402         * gst/gstbuffer.c: (_gst_buffer_initialize):
11403         Register subbufer along with the buffer type so that
11404         it does not accidentally gets registered from N
11405         different streaming threads in a non threadsafe way.
11406
11407 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
11408
11409         * gst/gstbuffer.h:
11410         * gst/gstevent.h:
11411         * gst/gstmessage.h:
11412           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
11413           gst_event_ref() and gst_message_ref() functions again
11414           (ugly hack, please do fix if there's a better way besides
11415           overrides.txt, which doesn't seem to work).
11416
11417 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11418
11419         * libs/gst/check/gstcheck.h:
11420           add an assert for setting state to avoid lots of repetitive code
11421           in the future
11422
11423 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11424
11425         * gst/gstvalue.c: (gst_value_serialize_flags):
11426           fix a leak if no flags are set
11427         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11428           fix leak in tests
11429
11430 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
11431
11432         * docs/manual/basics-pads.xml:
11433           Expand a bit on caps and filtered links and update
11434           examples that were still using the no longer existing
11435           gst_pad_link_filtered() (#338206).
11436
11437 2006-05-10  Wim Taymans  <wim@fluendo.com>
11438
11439         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
11440         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11441         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
11442         (gst_collect_pads_stop):
11443         * libs/gst/base/gstcollectpads.h:
11444         No need to call _stop in _finalize.
11445         Iterate the main pad list in _finalize.
11446         Added some more debug.
11447         Free lists and data in the right order.
11448         Also free data whem doing _remove_pad when stopped for
11449         backward compatibility protect ::started with PAD_LOCK as
11450         well.
11451
11452 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11453
11454         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
11455         (gst_structure_parse_value):
11456           add some comments
11457           rename a method so that it actually says what it does better
11458
11459 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11460
11461         * gst/gstevent.c: (_gst_event_initialize):
11462         * gst/gstformat.c: (_gst_format_initialize):
11463           make sure some essential types used by events are registered
11464           as part of gst_init()
11465         * gst/gstvalue.c: (gst_value_serialize_flags):
11466           if no flags are set, serialize them to a value that represents NONE
11467           so that deserializing them works
11468         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11469           add tests for serialization and deserialization of flags
11470
11471 2006-05-10  Wim Taymans  <wim@fluendo.com>
11472
11473         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
11474         (gst_collect_pads_collect_range), (gst_collect_pads_available),
11475         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
11476         (gst_collect_pads_event), (gst_collect_pads_chain):
11477         Update docs.
11478         Better debug info.
11479         Catch and return errors from the collect function
11480         Refuse data on eos pads.
11481
11482 2006-05-10  Edward Hervey  <edward@fluendo.com>
11483
11484         * gst/gstinterface.h:
11485         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
11486         GInterface type checking.
11487         They were previously using non-defined macros.
11488
11489 2006-05-09  Wim Taymans  <wim@fluendo.com>
11490
11491         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
11492         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
11493         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
11494         (gst_collect_pads_start), (gst_collect_pads_stop),
11495         (gst_collect_pads_peek), (gst_collect_pads_pop),
11496         (gst_collect_pads_available), (gst_collect_pads_read),
11497         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
11498         (gst_collect_pads_is_collected), (gst_collect_pads_event),
11499         (gst_collect_pads_chain):
11500         * libs/gst/base/gstcollectpads.h:
11501         Clean up the mess that is collectpads, add comments and
11502         FIXMEs where needed.
11503         Maintain a separate pad list so we can add pads while
11504         collecting the other ones. For this we need a new separate 
11505         lock (see comics).
11506         Fix memory leak in finalize.
11507         Refactor some weird code to set/unset pad flushing flags, mark
11508         with comments.
11509         Don't crash in _available, _read, _flush when we're EOS.
11510
11511         * tests/check/libs/.cvsignore:
11512         Ignore adapter check binary.
11513
11514 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11515
11516         * gst/gstindex.c: (gst_index_resolver_get_type):
11517         * plugins/elements/gstfakesink.c:
11518         (gst_fake_sink_state_error_get_type):
11519         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11520         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
11521         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11522           Const-ify GEnumValue arrays.
11523
11524 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11525
11526         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
11527           Add test case for flags + gst_buffer_make_metadata_writable().
11528
11529 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11530
11531         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
11532           gst_buffer_make_metadata_writable() should maintain the
11533           buffer flags (those that make sense at least) (see #340859).
11534
11535 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11536
11537         * tools/gst-inspect.c:
11538         * tools/gst-launch.c:
11539         * tools/gst-typefind.c:
11540         * tools/gst-xmlinspect.c:
11541         * tools/tools.h:
11542           Fix up includes: need to include stdlib.h in tools.h for exit().
11543
11544 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11545
11546         * gst/gsttaglist.c: (_gst_tag_initialize):
11547         * gst/gsttaglist.h:
11548           API: add GST_TAG_IMAGE tag (#340721).
11549
11550 2006-05-08  Wim Taymans  <wim@fluendo.com>
11551
11552         * gst/gstquery.c:
11553         Added some docs for the segment query.
11554
11555 2006-05-08  Wim Taymans  <wim@fluendo.com>
11556
11557         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
11558         (gst_base_src_loop), (gst_base_src_change_state):
11559         Always push non-flushing serialized events in the streaming 
11560         thread.
11561
11562 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11563
11564         * gst/gsterror.c: (_gst_stream_errors_init):
11565           Add a missing error string.
11566
11567 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
11568
11569         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
11570         Add applied_rate to the debug
11571
11572         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
11573         Copy applied_rate into the outgoing NEWSEGMENT event
11574
11575 2006-05-08  Wim Taymans  <wim@fluendo.com>
11576
11577         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
11578
11579         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
11580         (gst_base_sink_change_state):
11581         call ::unlock before taking the PREROLL_LOCK so we can safely
11582         handle elements that lock in ::render.
11583         Fixes #340174.
11584
11585 2006-05-08  Edward Hervey  <edward@fluendo.com>
11586
11587         * autogen.sh: (CONFIGURE_DEF_OPT): 
11588         Darwin's libtoolize is in fact called glibtoolize.
11589         Adding glibtoolize to the list of accepted names for libtoolize.
11590
11591 2006-05-08  Wim Taymans  <wim@fluendo.com>
11592
11593         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
11594         Unify error handling, don't post an error message
11595         when a push() returns EOS but perform our normal EOS
11596         handling code. Fixes #340772.
11597
11598 2006-05-08  Wim Taymans  <wim@fluendo.com>
11599
11600         * docs/design/part-overview.txt:
11601         Make upsteam/downstream concepts more clear.
11602         Give an example of serialized/non-serialized events.
11603
11604         * docs/design/part-events.txt:
11605         * docs/design/part-streams.txt:
11606         Mention applied_rate.
11607
11608         * docs/design/part-trickmodes.txt:
11609         Mention applied rate, flesh out some more use cases.
11610
11611         * gst/gstevent.c: (gst_event_new_new_segment),
11612         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
11613         (gst_event_parse_new_segment_full), (gst_event_new_tag),
11614         (gst_event_parse_tag), (gst_event_new_buffer_size),
11615         (gst_event_parse_buffer_size), (gst_event_new_qos),
11616         (gst_event_parse_qos), (gst_event_parse_seek),
11617         (gst_event_new_navigation):
11618         * gst/gstevent.h:
11619         Add applied_rate field to NEWSEGMENT event.
11620         API: gst_event_new_new_segment_full()
11621         API: gst_event_parse_new_segment_full()
11622
11623         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
11624         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
11625         (gst_segment_to_stream_time), (gst_segment_to_running_time):
11626         * gst/gstsegment.h:
11627         Add applied_rate to GstSegment structure.
11628         Make calculation of stream_time and running_time more correct
11629         wrt rate/applied_rate.
11630         Add some more docs.
11631         API: GstSegment::applied_rate field
11632         API: gst_segment_set_newsegment_full();
11633
11634         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
11635         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
11636         * libs/gst/base/gstbasetransform.c:
11637         (gst_base_transform_sink_eventfunc),
11638         (gst_base_transform_handle_buffer):
11639         Parse and use applied_rate in the GstSegment field.
11640
11641         * tests/check/gst/gstevent.c: (GST_START_TEST):
11642         Add check for applied_rate field.
11643
11644         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11645         (gstsegments_suite):
11646         Add more checks for various GstSegment operations.
11647
11648 2006-05-08  Wim Taymans  <wim@fluendo.com>
11649
11650         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
11651         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
11652         (gst_base_sink_get_position), (gst_base_sink_change_state):
11653         Store the sync time of the buffer end position separatly in a
11654         new variable eos_rtime so we can properly sync the EOS event.
11655         Fixes #340697.
11656         Fix the docs for gst_base_sink_set_qos_enabled().
11657         Don't set segment start to invalid value when we receive a 
11658         non TIME newsegment.
11659         get closer to handling position reporting for negative rates 
11660         correctly.
11661
11662 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
11663
11664         * gst/gstcaps.c:
11665         Docs about how to print caps for debug purposes.
11666
11667         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
11668         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
11669
11670 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
11671
11672         * gst/gstelement.c:
11673           use full enum names and preprend a '%' in docs strings to make recent 
11674           gtk-doc turn that into a link
11675
11676 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11677
11678         * docs/manual/basics-bins.xml:
11679         * docs/manual/basics-bus.xml:
11680         * docs/manual/basics-pads.xml:
11681           Some typo fixes, some additions, some clarifications. 
11682
11683 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11684
11685         * tools/gst-inspect.c: (main):
11686         * tools/gst-launch.c: (main):
11687         * tools/gst-run.c: (main):
11688         * tools/gst-typefind.c: (main):
11689         * tools/gst-xmlinspect.c: (main):
11690           Use the string passed to g_option_context_new() for
11691           what it's intended for - the program name is already
11692           printed elsewhere.
11693
11694 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11695
11696         * tools/Makefile.am:
11697         * tools/gst-inspect.c: (main):
11698         * tools/gst-launch.c: (main):
11699         * tools/gst-xmlinspect.c: (main):
11700         * tools/tools.h:
11701           Add back --version command line option (#340460).
11702
11703         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
11704           Add --version option and use GOption for argument parsing; refactor a
11705           bit; accept directories as arguments and recurse into them; lastly,
11706           print a decent error message when things go wrong.
11707
11708 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11709
11710         * docs/manual/basics-bins.xml:
11711         Don't mention GstThread (#340611)
11712         * docs/manual/basics-elements.xml:
11713         Update link to GObject tutorial (#340607)
11714         
11715 2006-05-05  Wim Taymans  <wim@fluendo.com>
11716
11717         * gst/gstbuffer.h:
11718         * gst/gstminiobject.c:
11719         Add note about refcounting and miniobject/buffer writeability
11720         to docs. Fixes #340604
11721
11722         * gst/gstelementfactory.h:
11723         Added some explanation about @klass.
11724
11725 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11726
11727         * docs/manual/intro-motivation.xml:
11728         * docs/manual/manual.xml:
11729         Avoid CORBA & Bonobo references (#340598)
11730
11731 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11732
11733         * docs/manual/basics-bus.xml:
11734         * docs/manual/basics-pads.xml:
11735         Fix up some inaccuracies and omissions (#340609)
11736         
11737 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11738
11739         * gst/gstghostpad.c:
11740           Small typo in docs (#340625)
11741
11742 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11743
11744         * gst/parse/Makefile.am:
11745           Make 'make -j' proof (see #340698).
11746
11747 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11748
11749         * configure.ac:
11750           Require GLib-2.8 here as well.
11751
11752 2006-05-05  Wim Taymans  <wim@fluendo.com>
11753
11754         * gst/glib-compat.c:
11755         * gst/gst.c: (init_pre):
11756         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11757         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
11758         (gst_object_dispatch_properties_changed):
11759         * gst/gstobject.h:
11760         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
11761         * gst/gststructure.c: (gst_structure_set_valist):
11762         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
11763         Remove pre glib2.8 compatibility, fixes #340508
11764
11765 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
11766
11767         * gst/gsttaglist.h:
11768           Mention type of tags in doc blurbs.
11769
11770 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
11771
11772         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
11773         (gst_pad_configure_src), (gst_pad_push):
11774         Restore acceptcaps checking behaviour now that good plugins have
11775         been released.
11776
11777 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
11778
11779         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
11780
11781         * gst/gst.c:
11782         * gst/gstbus.c:
11783         * gst/gstclock.c:
11784         * gst/gstevent.c:
11785         * gst/gstformat.c:
11786         * gst/gstmessage.c:
11787         * gst/gstparse.c:
11788         * gst/gstquery.c:
11789         * gst/gstutils.c:
11790         * gst/parse/Makefile.am:
11791         * libs/gst/base/gstadapter.c:
11792         * libs/gst/base/gstbasesrc.c:
11793         * libs/gst/base/gstpushsrc.c:
11794         * libs/gst/base/gsttypefindhelper.c:
11795         * plugins/elements/gstfakesrc.c:
11796         * plugins/elements/gstidentity.c:
11797           Make sure gstprivate.h and/or config.h are
11798           always included first, otherwise some of our
11799           defines (like _FILE_OFFSET_BITS) might be
11800           redefined in the system headers. Fixes build
11801           on opensolaris (#340016).
11802
11803 2006-05-04  Wim Taymans  <wim@fluendo.com>
11804
11805         * docs/libs/gstreamer-libs-sections.txt:
11806         API: addition: gst_adapter_take_buffer()
11807         
11808         * libs/gst/base/gstadapter.c: (gst_adapter_push),
11809         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
11810         (gst_adapter_available_fast):
11811         * libs/gst/base/gstadapter.h:
11812         Prepare for optimizing the hell out of this hugely inefficient
11813         piece of code. 
11814         Added gst_adapter_take_buffer() so we can at least start thinking
11815         about subbuffering and merging.
11816         Added some comments.
11817
11818         * tests/check/Makefile.am:
11819         * tests/check/libs/adapter.c: (GST_START_TEST),
11820         (gst_adapter_suite), (main):
11821         Added GstAdapter check.
11822
11823 2006-05-04  Wim Taymans  <wim@fluendo.com>
11824
11825         * docs/design/part-overview.txt:
11826         Fix some typos, add blurb about buffer flags.
11827
11828 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11829
11830         * docs/libs/gstreamer-libs-sections.txt:
11831           make sure GstBaseTransformClass shows up in the docs
11832         * libs/gst/base/gstbasetransform.c:
11833         * libs/gst/base/gstbasetransform.h:
11834           move docs so gtk-doc picks it up now
11835
11836 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
11837
11838         * docs/libs/gstreamer-libs-sections.txt:
11839           add missing symbols to docs
11840
11841 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
11842
11843         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
11844           back out the newsegment handling change, see #340060 for ongoing
11845           discussion
11846
11847 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
11848
11849         * tools/gst-run.c: (get_candidates), (main):
11850           Fix wrong g_file_test() usage (see glib docs for why it doesn't
11851           work); fix typo in error message. Fixes #340079.
11852
11853 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11854
11855         * common/Makefile.am:
11856         * docs/Makefile.am:
11857         * docs/faq/Makefile.am:
11858         * docs/gst/Makefile.am:
11859         * docs/libs/Makefile.am:
11860         * docs/manual/Makefile.am:
11861         * docs/plugins/Makefile.am:
11862         * docs/pwg/Makefile.am:
11863         * docs/slides/Makefile.am:
11864         * docs/upload.mak:
11865         * common/upload.mak:
11866           move upload.mak to common
11867
11868 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11869
11870         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11871           add more asserts on refcounts
11872           do more cleanup at end of tests
11873           fix test leaks showing in FC5
11874
11875 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
11876
11877         * plugins/elements/gsttypefindelement.c:
11878         (gst_type_find_element_handle_event):
11879         reverted wrong change and reflowed code to avoid others falling into
11880         this trap
11881
11882 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11883
11884         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
11885           fix changelog entry about last collectpads change,
11886           add notes about proper fix
11887
11888 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11889
11890         * gst/gst.c:
11891         * gst/gstregistry.c: (gst_registry_scan_path_level),
11892         (gst_registry_scan_path):
11893         * gst/gstregistry.h:
11894           only write out registry if it has changed, fixes #338339
11895
11896 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11897
11898         * gst/gstbin.c:
11899         * gst/gstpipeline.c:
11900         * plugins/elements/gstcapsfilter.c:
11901         * plugins/elements/gstfakesink.c:
11902         * plugins/elements/gstfakesrc.c:
11903         * plugins/elements/gstfdsink.c:
11904         * plugins/elements/gstfdsrc.c:
11905         * plugins/elements/gstfilesink.c:
11906         * plugins/elements/gstfilesrc.c:
11907         * plugins/elements/gstidentity.c:
11908         * plugins/elements/gstqueue.c:
11909         * plugins/elements/gsttee.c:
11910         * plugins/elements/gsttypefindelement.c:
11911         (gst_type_find_element_handle_event):
11912           make GstElementDetails const
11913
11914 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11915
11916         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
11917         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11918         (gst_collect_pads_is_collected), (gst_collect_pads_event):
11919           more detailed debug and formatting cleanup,
11920           forward newsegments to src-pad (so that e.g. adder not eats them)
11921
11922 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11923
11924         * gst/gstutils.c: (gst_element_link_pads):
11925           cleanup double code
11926
11927 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11928
11929         * libs/gst/controller/gstcontroller.c:
11930         (gst_controller_sync_values):
11931           some little tuning
11932         * tests/check/libs/controller.c: (GST_START_TEST),
11933         (gst_controller_suite):
11934           a new test for live value handling
11935
11936 2006-04-28  Wim Taymans  <wim@fluendo.com>
11937
11938         * gst/gstutils.c: (push_and_ref):
11939         Added some more docs.
11940         Fix refcount issue whith gst_element_found_tags() helper 
11941         function. Fixes #338335
11942
11943         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11944         Added testsuite for gst_element_found_tags().
11945
11946 2006-04-28  Michael Smith  <msmith@fluendo.com>
11947
11948         * gst/gstvalue.c: (gst_value_serialize_flags):
11949           Avoid NULL dereference when trying to serialize flags containing
11950           invalid values.
11951
11952 2006-04-28  Michael Smith  <msmith@fluendo.com>
11953
11954         * plugins/elements/gsttypefindelement.c:
11955         (gst_type_find_element_handle_event):
11956           If we get EOS before any data is accumulated, don't use
11957           uninitialised local variables.
11958
11959 2006-04-28  Michael Smith  <msmith@fluendo.com>
11960
11961         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11962         (gst_dp_event_from_packet):
11963           Fixes in reading/writing events over GDP (not currently used?) - 
11964           dereferencing NULL events for unknown/invalid event types, memory
11965           leak, and change g_warning to GST_WARNING.
11966
11967 2006-04-28  Wim Taymans  <wim@fluendo.com>
11968
11969         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
11970         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
11971         (gst_base_sink_get_position), (gst_base_sink_change_state):
11972         When frame dropping is enabled, we should not ignore frames
11973         without a duration.
11974         Update some documentation.
11975
11976 2006-04-28  Wim Taymans  <wim@fluendo.com>
11977
11978         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
11979         (gst_base_src_send_event), (gst_base_src_change_state):
11980         Documentation updates.
11981
11982 2006-04-28  Wim Taymans  <wim@fluendo.com>
11983
11984         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
11985         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
11986         handle EAGAIN, EINTR and short writes correctly. Also clean
11987         up some error cases, avoid a deadlock on bad file descriptors and
11988         use GST_DEBUG_OBJECT.
11989         Fixes #339843
11990
11991 2006-04-28  Wim Taymans  <wim@fluendo.com>
11992
11993         * gst/gstvalue.c: (gst_value_serialize_buffer),
11994         (gst_value_deserialize_buffer):
11995         Don't try to serialize a GValue with a NULL buffer. 
11996         Fixes #339821.
11997
11998         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11999         Added check for serialisation of NULL buffers.
12000
12001 2006-04-28  Wim Taymans  <wim@fluendo.com>
12002
12003         * gst/gstminiobject.c: (gst_value_take_mini_object):
12004         Taking a NULL miniobject is valid, fix the case where
12005         we try to unref the NULL miniobject.
12006
12007 2006-04-28  Wim Taymans  <wim@fluendo.com>
12008
12009         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
12010
12011         * gst/gstbin.c: (gst_bin_handle_message_func):
12012         Update docs.
12013         Don't leak bin refcount when a state recalc is
12014         in progress and we delay another one #339808.
12015
12016 2006-04-28  Wim Taymans  <wim@fluendo.com>
12017
12018         * docs/design/part-TODO.txt:
12019         Mention QoS as an ongoing work item.
12020
12021         * docs/design/part-buffering.txt:
12022         New doc about buffering that needs to be fleshed out
12023         at some point.
12024
12025         * docs/design/part-qos.txt:
12026         More QoS policy for decoders/demuxers/transforms
12027
12028         * docs/design/part-trickmodes.txt:
12029         Small update.
12030
12031 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12032
12033         * configure.ac:
12034           back to HEAD
12035
12036 === release 0.10.5 ===
12037
12038 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
12039
12040         * configure.ac:
12041           releasing 0.10.5, "Fogo"
12042
12043 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12044
12045         patch by: Wim Taymans
12046
12047         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
12048         (gst_pad_configure_src), (gst_pad_push):
12049         * gst/gstpipeline.c: (gst_pipeline_init):
12050           Fix internal data flow errors.  Fixes #338711.
12051
12052 2006-04-12  Wim Taymans  <wim@fluendo.com>
12053
12054         * tests/check/gst/gstelement.c: (GST_START_TEST):
12055         Don't leak the factory.
12056
12057 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12058
12059         * configure.ac:
12060         * win32/common/config.h:
12061           prerelease
12062
12063 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
12064
12065         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
12066         (gst_controller_unset_all):
12067           Free allocated GstTimedValues when freeing list nodes.
12068           Should fix leaks 'make check-valgrind' complains about.
12069
12070         * win32/common/libgstcontroller.def:
12071           Add gst_controller_unset_all.
12072
12073 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
12074
12075         * docs/libs/gstreamer-libs-sections.txt:
12076         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
12077         (gst_controller_unset_all):
12078         * libs/gst/controller/gstcontroller.h:
12079         API: Added new method gst_controller_unset_all()
12080         fixed gst_controller_unset()
12081         * tests/check/libs/controller.c: (GST_START_TEST),
12082         (gst_controller_suite):
12083         Added two testcases for new and fixed method
12084
12085 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
12086
12087         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12088           MSG_DONTWAIT is not defined on Cygwin, so work
12089           around that (fixes #317048).
12090           
12091 2006-04-11  Wim Taymans  <wim@fluendo.com>
12092
12093         * gst/gstelementfactory.c: (gst_element_register),
12094         (gst_element_factory_create), (gst_element_factory_make):
12095         Some cleanups.
12096         Fixed a FIXME.
12097         Updated docs (Fixes #131079)
12098
12099         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
12100         Small cleanups.
12101
12102         * tests/check/gst/gstelement.c: (GST_START_TEST),
12103         (gst_element_suite):
12104         Added testcase for elementfactory class field.
12105
12106 2006-04-10  Wim Taymans  <wim@fluendo.com>
12107
12108         * gst/gstsegment.c:
12109         Added some more docs.
12110
12111         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
12112         (gst_base_sink_reset_qos):
12113         Calculate more accurate rate values.
12114
12115 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
12116
12117         * gst/gst_private.h:
12118           add a new #ifdef to use __declspec(dllimport) only for
12119           other modules and not for gstreamer core
12120         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
12121           use gst_guint64_to_gdouble for conversion
12122         * win32/common/libgstreamer.def:
12123           add new exported functions
12124         * win32/vs6/gst_inspect.dsp:
12125         * win32/vs6/gst_launch.dsp:
12126         * win32/vs6/libgstbase.dsp:
12127         * win32/vs6/libgstcontroller.dsp:
12128         * win32/vs6/libgstcoreelements.dsp:
12129         * win32/vs6/libgstdataprotocol.dsp:
12130         * win32/vs6/libgstnet.dsp:
12131           update project files
12132
12133 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
12134
12135         * gst/gstbuffer.c: (gst_subbuffer_class_init):
12136         * gst/gstclock.c: (gst_clock_class_init):
12137         * gst/gstelement.c: (gst_element_class_init):
12138         * gst/gstindex.c: (gst_index_class_init):
12139         * gst/gstindexfactory.c: (gst_index_factory_class_init):
12140         * gst/gstobject.c: (gst_object_class_init),
12141         (gst_signal_object_class_init):
12142         * gst/gstpad.c: (gst_pad_class_init):
12143         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
12144         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
12145         * gst/gstregistry.c: (gst_registry_class_init):
12146         * gst/gstsystemclock.c: (gst_system_clock_class_init):
12147         * gst/gsttask.c: (gst_task_class_init):
12148         * gst/gstxml.c: (gst_xml_class_init):
12149         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
12150         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12151         (gst_base_src_loop):
12152         * libs/gst/controller/gstcontroller.c:/
12153         (_gst_controller_class_init):
12154         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
12155         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
12156         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
12157         * tests/old/examples/plugins/example.c: (gst_example_class_init):
12158         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
12159         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
12160
12161 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
12162
12163         * gst/gstpad.c: (gst_pad_link):
12164           Must set peer pads before calling the link function, otherwise
12165           a task started from a link function might get a flow-not-linked
12166           result when trying to push because the other thread where the
12167           linking happens hasn't had a chance to set the peers yet. This
12168           might happen for example when a queue gets linked to a downstream
12169           element, as queue starts a streaming task when its source pad
12170           gets linked. Happens in real life when playing back flac/musepack
12171           files in playbin (#332390).
12172           
12173 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
12174
12175         * gst/gstindex.h:
12176         * gst/gstxml.h:
12177         * libs/gst/base/gstadapter.h:
12178         * libs/gst/base/gstbasesink.h:
12179         * libs/gst/base/gstbasesrc.h:
12180         * libs/gst/base/gstbasetransform.h:
12181         * libs/gst/base/gstcollectpads.h:
12182         * libs/gst/base/gstpushsrc.h:
12183         Fix broken GObject macros
12184
12185 2006-04-07  Wim Taymans  <wim@fluendo.com>
12186
12187         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12188         Initialize start and stop times, thanks valgrind.
12189
12190 2006-04-07  Wim Taymans  <wim@fluendo.com>
12191
12192         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12193         Be a bit nicer to badly behaving upstream elements that expect
12194         us to deal with non TIME segments and timestamps (such as fakesrc
12195         in the testsuite).
12196
12197 2006-04-07  Wim Taymans  <wim@fluendo.com>
12198
12199         * gst/gstbus.c:
12200         Small documentation clarification about the signal watch.
12201
12202         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
12203         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
12204         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12205         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
12206         (gst_base_sink_get_position_last),
12207         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
12208         Convert and store timestamps in stream time and running time, the
12209         raw timestamps are not useful, also document this better.
12210         Use different window sizes for good and bad QoS observations so
12211         we react to badness a little quicker.
12212         Keep track of the amount of rendered and dropped buffers.
12213         Send QoS timestamps in running time.
12214
12215         * libs/gst/base/gstbasetransform.c:
12216         (gst_base_transform_sink_eventfunc),
12217         (gst_base_transform_handle_buffer):
12218         Compare QoS timestamps against running time.
12219
12220 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
12221
12222         * gst/gstpad.c:
12223           Typo fixes in docs.
12224
12225 2006-04-06  Michael Smith  <msmith@fluendo.com>
12226
12227         * gst/gstpad.c: (gst_pad_set_property):
12228           Use g_value_get_object() instead of g_value_dup_gst_object(),
12229           to avoid double-reffing the pad template (which we then sink,
12230           so this worked previously if (and only if) the pad template
12231           was floating.
12232
12233         * gst/gstpadtemplate.c: (gst_pad_template_init),
12234         (gst_pad_template_pad_created):
12235           Never return floating references to pad templates, create
12236           them as initially-sunken.
12237
12238           Document an extra function (and make this stop sinking our
12239           pad template, since that is now guaranteed to do nothing,
12240           since we created it sunken).
12241
12242         * gst/gstghostpad.c:
12243           Fix docs typo.
12244
12245 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
12246
12247         * gst/gstinfo.c: (__gst_in_valgrind):
12248           Add some newlines.
12249
12250         * plugins/elements/gsttypefindelement.c:
12251         (gst_type_find_element_chain):
12252           Don't leak buffer caps.
12253
12254 2006-04-06  Michael Smith  <msmith@fluendo.com>
12255
12256         * gst/parse/grammar.y:
12257           Fix a leak in parse-launch for any source-or-sink named element 
12258           references used.
12259
12260         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
12261           Unref the pipeline if it exists after we've failed parsing.
12262
12263 2006-04-05  Michael Smith  <msmith@fluendo.com>
12264
12265         * gst/gstpipeline.c: (gst_pipeline_init):
12266           When we create a pipeline bus, initially create it in flushing mode.
12267           Fixes leaks in at least one test, and makes a new pipeline work the
12268           same as one that has gone to READY and then back to NULL.
12269
12270         * gst/gstelement.c:
12271           Typo fix in docs.
12272
12273 2006-04-05  Michael Smith  <msmith@fluendo.com>
12274
12275         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
12276           Unref a pad we reffed.
12277         * tests/check/gst/gstutils.c: (GST_START_TEST):
12278           Unref bins
12279
12280 2006-04-05  Michael Smith  <msmith@fluendo.com>
12281
12282         * gst/gstquery.c: (gst_query_set_formats),
12283         (gst_query_set_formatsv):
12284           Fix leaking GValues in queries, as shown by valgrind/testsuite.
12285
12286 2006-04-05  Michael Smith  <msmith@fluendo.com>
12287
12288         * tests/check/generic/sinks.c: (GST_START_TEST):
12289           Fix a variety of memleaks in sinks check, which are only sometimes 
12290           shown by running the tests under valgrind (weird?).
12291
12292 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
12293
12294         * docs/version.entities.in:
12295           Fix the substituted entity name after thomas' changes on the
12296           weekend.
12297
12298 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12299
12300         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
12301         VALGRIND_PRINTF
12302         
12303 2006-04-05  Andy Wingo  <wingo@pobox.com>
12304
12305         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
12306
12307         * libs/gst/base/gstbasetransform.c
12308         (gst_base_transform_sink_eventfunc): When resetting our segment on
12309         FLUSH_STOP, also update the flag saying we haven't seen a
12310         newsegment.
12311
12312 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
12313
12314         Patch by: Paolo Borelli  <pborelli at katamail dot com>
12315
12316         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
12317         (gst_plugin_check_license):
12318           minor clean-ups: G_DEFINE_TYPE already takes care of the
12319           parent_class stuff, no need to do it twice. Mark array of
12320           license strings as constant. (#337103)
12321           
12322 2006-04-04  Michael Smith  <msmith@fluendo.com>
12323
12324         * tools/gst-inspect.c: (print_element_list):
12325           Free the right plugin list; fixes a memory leak.
12326
12327 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
12328
12329         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
12330
12331         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
12332           Don't error out on empty buffers (#336945).
12333           
12334 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
12335
12336         * docs/libs/gstreamer-libs-sections.txt:
12337         * gst/gsttaglist.c:
12338         * libs/gst/base/gstbasesink.c:
12339         * libs/gst/base/gstbasesink.h:
12340         * libs/gst/base/gstbasesrc.c:
12341         * libs/gst/base/gstbasesrc.h:
12342           Documentation updates. Make BaseSink and BaseSrc docs contain the
12343           class structure so that people can actually see the prototypes for
12344           virtual functions they're supposed to be overriding.
12345
12346 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
12347
12348         * plugins/elements/gsttypefindelement.c:
12349         (gst_type_find_element_chain):
12350           More debug info; when skipping typefinding, send cached
12351           events in all cases.
12352
12353 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12354
12355         * configure.ac:
12356           use new AS_VERSION and AS_NANO macros
12357         * gst/gst-i18n-lib.h:
12358         * gst/gst.c:
12359         * gst/gsterror.c:
12360         * gst/gstversion.h.in:
12361         * win32/common/config.h:
12362         * win32/common/config.h.in:
12363           update accordingly
12364
12365 2006-03-31  Michael Smith  <msmith@fluendo.com>
12366
12367         * plugins/elements/gsttypefindelement.c:
12368         (gst_type_find_element_chain):
12369           Do not typefind content if the buffers already have caps.
12370           Neccesary for icydemux (#333657), and the right thing to do anyway.
12371
12372 2006-03-30  Wim Taymans  <wim@fluendo.com>
12373
12374         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12375         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
12376         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
12377         (gst_base_sink_record_qos_observation),
12378         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12379         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
12380         (gst_base_sink_change_state):
12381         More QoS measurements as described in the design doc.
12382         Get rid of ringbuffer with observations, running average is
12383         more simple and equally good.
12384         Calculates valid proportion now.
12385         Added beginning of flood measurement.
12386
12387 2006-03-29  Wim Taymans  <wim@fluendo.com>
12388
12389         * docs/design/part-qos.txt:
12390         * gst/gstclock.c:
12391         Small documentation updates and additions.
12392
12393 2006-03-29  Wim Taymans  <wim@fluendo.com>
12394
12395         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
12396         (gst_base_src_send_event), (gst_base_src_loop),
12397         (gst_base_src_change_state):
12398         Perform the EOS logic when we reach the segment stop position.
12399         Fix compilation on gcc4.1
12400
12401 2006-03-29  Wim Taymans  <wim@fluendo.com>
12402
12403         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
12404
12405         * plugins/elements/gstqueue.c: (gst_queue_init),
12406         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12407         (gst_queue_set_property):
12408         * plugins/elements/gstqueue.h:
12409         In queue, when EOS is received, if minimum threshold > max_size -
12410         current_level, there is chance that queue blocks forever in conditional
12411         item del wait. This is because the queue is not emptied completely due
12412         to minimum threshold.  Here is another approach. Instead of setting
12413         cur_levels to max in EOS, just zero all minimum threshold levels. This
12414         should make sure that queue gives out all data. When going to READY
12415         (stop) state, just reset the original minimum threshold levels.
12416         Fixes #336336.
12417
12418 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
12419
12420         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
12421         (gst_type_find_element_handle_event),
12422         (gst_type_find_element_send_cached_events),
12423         (gst_type_find_element_change_state):
12424         * plugins/elements/gsttypefindelement.h:
12425           When typefinding is done in push mode, we should cache
12426           events we receive during typefinding instead of just
12427           dropping them (e.g. newsegment, custom events from
12428           dvdreadsrc etc.) and then send them out once we've
12429           determined the type of the stream (and decodebin
12430           has had a chance to plug in a decoder/demuxer).
12431           
12432 2006-03-27  Wim Taymans  <wim@fluendo.com>
12433
12434         * docs/design/part-qos.txt:
12435         First QoS ideas.
12436
12437 2006-03-27  Wim Taymans  <wim@fluendo.com>
12438
12439         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
12440
12441         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
12442         (gst_base_src_send_event), (gst_base_src_change_state):
12443         Handle element seek correctly when we are streaming.
12444         Fixes #326998.
12445
12446 2006-03-24  Michael Smith  <msmith@fluendo.com>
12447
12448         * docs/faq/gst-uninstalled:
12449           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
12450           allow you to correctly run intalled applications built against old 
12451           core, using plugins that require updated core (e.g. running
12452           installed totem against a full uninstalled gstreamer stack)
12453
12454 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
12455
12456         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
12457         more debug details
12458
12459 2006-03-24  Wim Taymans  <wim@fluendo.com>
12460
12461         * docs/gst/gstreamer-sections.txt:
12462         Rearrange the order of the methods so that related methods
12463         are grouped together in sections.
12464
12465 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
12466
12467         * gst/gstelement.c:
12468           Little clarification in the docs
12469
12470 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
12471
12472         * docs/README:
12473         formatting fix
12474         * plugins/elements/gstidentity.c:
12475         * plugins/elements/gstqueue.c:
12476         * plugins/elements/gsttee.c:
12477         * plugins/elements/gsttypefindelement.c:
12478         GST_ELEMENT_DETAILS formatting
12479
12480 2006-03-24  Wim Taymans  <wim@fluendo.com>
12481
12482         * libs/gst/base/gstbasesink.h:
12483         Only add fields, not insert or we break ABI.
12484
12485 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
12486
12487         * win32/common/libgstbase.def:
12488         * win32/common/libgstreamer.def:
12489           Update, add recently added functions.
12490
12491 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
12492
12493         * docs/gst/gstreamer-sections.txt:
12494         * gst/gstutils.c: (gst_pad_query_peer_position),
12495         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
12496         * gst/gstutils.h:
12497           API: add some new utility functions:
12498            - gst_pad_query_peer_position()
12499            - gst_pad_query_peer_duration()
12500            - gst_pad_query_peer_convert()
12501           
12502 2006-03-23  Wim Taymans  <wim@fluendo.com>
12503
12504         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
12505         (gst_base_sink_init), (gst_base_sink_finalize),
12506         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
12507         (gst_base_sink_set_property), (gst_base_sink_get_property),
12508         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
12509         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
12510         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
12511         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12512         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
12513         (gst_base_sink_preroll_object), (gst_base_sink_event),
12514         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
12515         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
12516         (gst_base_sink_query), (gst_base_sink_change_state):
12517         Decouple max-lateness and the fact that QoS messages are generated
12518         with a new property (qos).
12519         added API: GstBaseSink::async_play()
12520         Add vmethod so subclasses can be notified of ASYNC playing
12521         state changes.
12522         Collect timestamp start and stop to report better current
12523         position in EOS/PLAYING/PAUSED/READY/NULL.
12524         Refactor QoS/frame dropping and other measurements.
12525         API: GstBaseSrc::qos
12526         Fixes #326311
12527
12528         * libs/gst/base/gstbasesink.h:
12529         Added Private struct.
12530         API: gst_base_sink_set_qos_enabled()
12531         API: gst_base_sink_is_qos_enabled()
12532
12533 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
12534
12535         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
12536           If compiling against GLib-2.8 or newer, try to read the
12537           registry file using GMappedFile first before falling back
12538           to fopen() + fread() (#332151).
12539
12540 2006-03-22  Wim Taymans  <wim@fluendo.com>
12541
12542         * gst/gstinfo.c: (gst_debug_set_active),
12543         (gst_debug_category_set_threshold):
12544         Disable debugging unless explicitly activated.
12545         Fixes #335480.
12546
12547 2006-03-22  Wim Taymans  <wim@fluendo.com>
12548
12549         * gst/gstelement.c: (gst_element_set_locked_state),
12550         (gst_element_dispose):
12551         Cleanup the error case.
12552
12553         * gst/gstobject.c: (gst_object_dispose):
12554         print a critical when some object was disposed with
12555         a parent, also revive the object since it might
12556         crash the parent.
12557
12558 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
12559
12560         * tools/gst-launch.1.in:
12561           Fix another typo.
12562
12563 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12564
12565         * configure.ac:
12566         * tests/check/Makefile.am:
12567           disable some tests when we don't have a registry
12568         * tests/check/gst/gstutils.c: (gst_utils_suite):
12569           don't build the part that needs parsing
12570
12571 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12572
12573         * gst/Makefile.am
12574         * tests/examples/Makefile.am:
12575           fix --disable-parse build
12576
12577 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12578
12579         * tools/gst-feedback.1.in:
12580           Fix typo: s/feeback/feedback/ (#133494).
12581
12582 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12583
12584         * tools/Makefile.am:
12585         * tools/gst-launch.1.in:
12586           Add FILES section and correct entry about GST_REGISTRY_PATH
12587           environment variable (#133495; #133494).
12588
12589 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12590
12591         * tools/Makefile.am:
12592         * tools/gst-md5sum.1.in:
12593         * tools/gst-md5sum.c:
12594           Remove gst-md5sum and man page (the md5sink element
12595           required was removed ages ago)
12596
12597 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12598
12599         * gst/gststructure.c: (gst_structure_id_set_value):
12600           Make sure that string fields in structures/taglists
12601           contain valid UTF-8 - we don't want to pass rubbish to
12602           applications because of a buggy plugin (cp. #334167).
12603
12604 2006-03-21  Edward Hervey  <edward@fluendo.com>
12605
12606         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12607         (gst_bin_handle_message_func):
12608         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
12609         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
12610         (gst_element_set_bus_func):
12611         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
12612         * gst/gstminiobject.c: (gst_value_set_mini_object),
12613         (gst_value_take_mini_object):
12614         * gst/gstpad.c: (gst_pad_set_pad_template):
12615         * gst/gstpipeline.c: (gst_pipeline_dispose),
12616         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
12617         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
12618         (gst_collect_pads_chain):
12619         * libs/gst/net/gstnettimeprovider.c:
12620         (gst_net_time_provider_set_property):
12621         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
12622         It's in fact all issues with gst_*object_replace().
12623
12624 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12625
12626         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
12627         
12628         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12629         * pkgconfig/gstreamer-check.pc.in:
12630           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
12631
12632 2006-03-21  Edward Hervey  <edward@fluendo.com>
12633
12634         * gst/gstbuffer.h:
12635         * gst/gstevent.h:
12636         * gst/gstmessage.h:
12637         gst_[buffer|event|message]_ref() macros are replaced by a static
12638         inline functions because gcc-4.1 will about if the return value
12639         isn't used.
12640         * tests/check/gst/gstevent.c: (event_probe):
12641         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
12642
12643 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
12644
12645         * gst/gstutils.h:
12646         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
12647         the type' case. (Closes: #335195 for now). In the future, when we
12648         depend on GLib 2.10, we could also intern the type name using
12649         g_intern_static_string()
12650
12651 2006-03-20  Wim Taymans  <wim@fluendo.com>
12652
12653         * gst/gstbin.c: (gst_bin_handle_message_func),
12654         (bin_query_max_init), (bin_query_position_fold),
12655         (bin_query_position_done), (gst_bin_query):
12656         Position query should also take max of all streams.
12657
12658 2006-03-20  Wim Taymans  <wim@fluendo.com>
12659
12660         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12661         (gst_fake_src_finalize):
12662         Fix leaks in fakesrc.
12663
12664         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
12665         Fix leaks in the testcase.
12666
12667 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
12668
12669         * gst/gst_private.h:
12670           add win32 specific import decoration(__declspec(dllimport)) 
12671           for all extern GstDebugCategory * variables
12672         * win32/common/libgstbase.def:
12673         * win32/common/libgstcontroller.def:
12674         * win32/common/libgstreamer.def:
12675           Add some exports, remove empty lines
12676         * win32/common/libgstdataprotocol.def:
12677         * win32/common/libgstdataprotocol.dsp:
12678         * win32/common/libgstnet.def:
12679         * win32/common/libgstnet.dsp:
12680           new project files and exportation files added
12681         
12682 2006-03-19  Wim Taymans  <wim@fluendo.com>
12683
12684         * tests/check/libs/basesrc.c: (eos_event_counter):
12685         Use proper return value for probe.
12686
12687 2006-03-17  Wim Taymans  <wim@fluendo.com>
12688
12689         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
12690         (gst_pad_push):
12691         Don't leak buffers, caps and pads on negotiation errors.
12692
12693 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
12694
12695         * docs/faq/cvs.xml:
12696         * docs/faq/dependencies.xml:
12697         * docs/faq/developing.xml:
12698         * docs/faq/faq.xml:
12699         * docs/faq/general.xml:
12700         * docs/faq/getting.xml:
12701         * docs/faq/legal.xml:
12702         * docs/faq/troubleshooting.xml:
12703         * docs/faq/using.xml:
12704         Faq review and update.
12705
12706 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
12707
12708         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
12709         (gst_pad_push):
12710         Don't pound the cpu to pieces by checking get_caps when accept_caps
12711         is called with the same caps as the pad already has.
12712         Use GST_DEBUG_OBJECT when outputting caps change information.
12713
12714 2006-03-15  Wim Taymans  <wim@fluendo.com>
12715
12716         * gst/gstclock.c: (gst_clock_class_init):
12717         Fix docs.
12718
12719 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
12720
12721         * gst/gstbuffer.h:
12722         Documentation fix.
12723
12724         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
12725         (gst_pad_accept_caps), (gst_pad_configure_sink),
12726         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
12727         Make the default acceptcaps behaviour be to check the requested 
12728         caps against the gst_pad_get_caps output. 
12729
12730         Ensure that gst_pad_accept_caps is used to check caps when a pad
12731         doesn't have a setcaps function, so that pads automatically refuse 
12732         caps that they don't allow in their pad template. (Fixes #332986)
12733
12734         When a buffer with attached caps is pushed, ensure that the source 
12735         pad receives those caps even if the element didn't call
12736         gst_pad_set_caps first.
12737
12738 2006-03-15  Wim Taymans  <wim@fluendo.com>
12739
12740         * libs/gst/base/gstadapter.c:
12741         Add some docs.
12742
12743 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
12744
12745         * win32/common/libgstbase.def:
12746         * win32/common/libgstcontroller.def:
12747         * win32/common/libgstreamer.def:
12748           Add a whole bunch of missing functions (#334434).
12749
12750 2006-03-14  Wim Taymans  <wim@fluendo.com>
12751
12752         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
12753         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
12754         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
12755         Better debug info when we receive a segment event.
12756         Reorganize a bit so we can pass the get_times() results around.
12757         Use the segment format when calculating the running time.
12758         Don't do QoS is sync is disabled or we have no clock or the
12759         element does not want us to sync to the clock.
12760         Don't drop buffers if QoS is disabled for now.
12761
12762 2006-03-14  Wim Taymans  <wim@fluendo.com>
12763
12764         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
12765         Marked the stats property as unimplemented so people don't get
12766         wild ideas.
12767         Add debug message when regression goes wrong.
12768         Added some more docs.
12769
12770 2006-03-14  Wim Taymans  <wim@fluendo.com>
12771
12772         * gst/gstsegment.c: (gst_segment_to_stream_time):
12773         Return correct return type in case of errors.
12774
12775 2006-03-14  Wim Taymans  <wim@fluendo.com>
12776
12777         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
12778           Don't segfault on invalid formats.
12779
12780 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
12781
12782         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12783           Can't use gst_segment_to_running_time() when the segment
12784           is not in GST_TIME_FORMAT (like with filesink, for example).
12785           Stops flac encoding pipelines from spewing critical warnings
12786           at EOS (#331248).
12787           
12788 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
12789
12790         * gst/gstpipeline.c: (gst_pipeline_class_init):
12791           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
12792
12793         * plugins/elements/gsttypefindelement.c:
12794         (gst_type_find_element_handle_event):
12795           Don't try to typefind empty streams.
12796
12797 2006-03-14  Wim Taymans  <wim@fluendo.com>
12798
12799         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
12800         (gst_base_sink_do_qos):
12801         Separate QoS calculation.
12802         Only drop buffers when lateness is bigger than the 
12803         duration of the buffer.
12804
12805 2006-03-13  Wim Taymans  <wim@fluendo.com>
12806
12807         * gst/gstpipeline.c: (gst_pipeline_set_property),
12808         (gst_pipeline_get_property), (do_pipeline_seek),
12809         (gst_pipeline_change_state), (gst_pipeline_set_delay),
12810         (gst_pipeline_get_delay):
12811         Don't deadlock when reading properties.
12812
12813 2006-03-13  Wim Taymans  <wim@fluendo.com>
12814
12815         * libs/gst/base/gstbasetransform.c:
12816         (gst_base_transform_class_init), (gst_base_transform_init),
12817         (gst_base_transform_sink_event),
12818         (gst_base_transform_sink_eventfunc),
12819         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
12820         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
12821         (gst_base_transform_set_property),
12822         (gst_base_transform_get_property),
12823         (gst_base_transform_change_state), (gst_base_transform_update_qos),
12824         (gst_base_transform_set_qos_enabled),
12825         (gst_base_transform_is_qos_enabled):
12826         * libs/gst/base/gstbasetransform.h:
12827         Make basetransform virtual method for src events too.
12828         Handle QOS in basetransform.
12829         API: gst_base_transform_update_qos()
12830         API: gst_base_transform_set_qos_enabled()
12831         API: gst_base_transform_is_qos_enabled()
12832
12833 2006-03-13  Wim Taymans  <wim@fluendo.com>
12834
12835         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12836         (gst_base_sink_do_sync):
12837         Small cleanups.
12838         Use QOS debug category.
12839
12840 2006-03-13  Wim Taymans  <wim@fluendo.com>
12841
12842         * plugins/elements/gstqueue.c:
12843         Very small doc update.
12844
12845 2006-03-13  Wim Taymans  <wim@fluendo.com>
12846
12847         * gst/gst_private.h:
12848         * gst/gstinfo.c: (_gst_debug_init):
12849         Added QOS debug category
12850
12851 2006-03-13  Wim Taymans  <wim@fluendo.com>
12852
12853         * docs/gst/gstreamer-sections.txt:
12854         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
12855         * gst/gstbin.h:
12856         * gst/gstbus.c: (gst_bus_class_init):
12857         * gst/gstbus.h:
12858         * gst/gstclock.c:
12859         * gst/gstelement.c: (gst_element_set_locked_state):
12860         * gst/gstsegment.c:
12861         Documentation updates.
12862
12863         * gst/gstpipeline.c: (gst_pipeline_get_type),
12864         (gst_pipeline_class_init), (gst_pipeline_init),
12865         (gst_pipeline_dispose), (gst_pipeline_set_property),
12866         (gst_pipeline_get_property), (do_pipeline_seek),
12867         (gst_pipeline_send_event), (gst_pipeline_change_state),
12868         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
12869         (gst_pipeline_get_delay):
12870         * gst/gstpipeline.h:
12871         Added methods for setting the delay.
12872         API: gst_pipeline_set_delay()
12873         API: gst_pipeline_get_delay()
12874         Add pipeline debug category
12875         Various cleanups.
12876         Updated docs.
12877         Don't reset stream time when seek failed.
12878
12879 2006-03-13  Wim Taymans  <wim@fluendo.com>
12880
12881         * docs/design/draft-klass.txt:
12882         * docs/design/part-clocks.txt:
12883         * docs/design/part-events.txt:
12884         * docs/design/part-gstbin.txt:
12885         * docs/design/part-gstpipeline.txt:
12886         * docs/design/part-messages.txt:
12887         * docs/design/part-negotiation.txt:
12888         * docs/design/part-overview.txt:
12889         * docs/design/part-preroll.txt:
12890         * docs/design/part-seeking.txt:
12891         * docs/design/part-states.txt:
12892         * docs/design/part-streams.txt:
12893         Documentation updates.
12894
12895 2006-03-12  Julien MOUTTE  <julien@moutte.net>
12896
12897         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
12898         us to leak strings...
12899
12900 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12901
12902         * libs/gst/net/gstnettimeprovider.c:
12903           fix docs
12904         * win32/common/config.h:
12905           update
12906
12907 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
12908
12909         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
12910
12911         * configure.ac:
12912           Don't check for libgnomeui (leftover from old examples
12913           that aren't built or disted any longer) (#334303).
12914           
12915 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
12916
12917         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
12918         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
12919           Emit RESOURCE_NO_SPACE_LEFT error here as well when
12920           there's no space left on the device.
12921
12922 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
12923
12924         * gst/gstclock.h:
12925           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
12926           to cast the input to GstClockTime before comparing with
12927           another GstClockTime value.
12928
12929 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12930
12931         * configure.ac:
12932           back to trunk
12933
12934 === release 0.10.4 ===
12935
12936 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
12937
12938         * configure.ac:
12939           releasing 0.10.4, "Light"
12940
12941 2006-03-10  Michael Smith  <msmith@fluendo.com>
12942
12943         * libs/gst/dataprotocol/dataprotocol.c:
12944           Fix docs for dataprocotol to not get the return types completely
12945           wrong for a few functions.
12946
12947 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
12948
12949         * docs/gst/gstreamer-sections.txt:
12950         * gst/gstpipeline.c: (gst_pipeline_class_init),
12951         (gst_pipeline_init), (gst_pipeline_set_property),
12952         (gst_pipeline_get_property), (gst_pipeline_change_state),
12953         (gst_pipeline_set_auto_flush_bus),
12954         (gst_pipeline_get_auto_flush_bus):
12955         * gst/gstpipeline.h:
12956           Add new API: gst_pipeline_set_auto_flush_bus() and
12957           gst_pipeline_get_auto_flush_bus() to disable automatic
12958           flushing of the pipeline's GstBus when going from READY
12959           to NULL state (#332045).
12960
12961 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
12962
12963         * docs/gst/gstreamer-sections.txt:
12964         * gst/gsturi.c: (gst_uri_has_protocol):
12965         * gst/gsturi.h:
12966            Add new API: gst_uri_has_protocol() (#333779).
12967
12968 2006-03-09  Wim Taymans  <wim@fluendo.com>
12969
12970         * gst/gstclock.c: (gst_clock_entry_new),
12971         (gst_clock_id_compare_func), (gst_clock_id_wait),
12972         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
12973         (gst_clock_init), (gst_clock_get_internal_time),
12974         (gst_clock_set_master), (do_linear_regression),
12975         (gst_clock_add_observation), (gst_clock_set_property):
12976         * gst/gstclock.h:
12977         Review docs.
12978         Small cleanups.
12979         Fix a possible segfault when the window-size is made smaller.
12980         Calculate jitter before performing the clock wait. Ideally
12981         the clock implementation should calculate jitter but we need
12982         API breakage for that.
12983
12984         * gst/gstsystemclock.c: (gst_system_clock_init):
12985         Docs review.
12986         
12987         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12988         Remove leftover else
12989
12990         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
12991         (gst_systemclock_suite):
12992         Added check to test GST_CLOCK_DIFF.
12993
12994 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
12995
12996         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
12997         (gst_type_find_helper_get_range):
12998           If we are provided with the size, we should implement
12999           GstTypeFind::get_length, so that typefind functions who
13000           want to can actually peek at the middle of a file.
13001
13002 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
13003
13004         * docs/manual/advanced-dataaccess.xml:
13005           Add some very very basic error checking.
13006
13007         * docs/pwg/appendix-checklist.xml:
13008           Some updates to the list of things to check when writing an element.
13009
13010 2006-03-08  Wim Taymans  <wim@fluendo.com>
13011
13012         * docs/design/part-element-transform.txt:
13013         Added some docs about the design of tranform elements.
13014
13015         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
13016         (gst_base_src_loop), (gst_base_src_change_state):
13017         Mark buffers with the DISCONT flag.
13018
13019 2006-03-08  Michael Smith  <msmith@fluendo.com>
13020
13021         * gst/gstregistry.h:
13022         * gst/gstregistryxml.c: (gst_registry_save),
13023         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
13024         (gst_registry_xml_save_pad_template),
13025         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
13026         (gst_registry_xml_write_cache):
13027           Rewrite registry-saving to avoid race conditions and check for
13028           failed writes.
13029
13030 2006-03-08  Wim Taymans  <wim@fluendo.com>
13031
13032         * libs/gst/base/gstbasetransform.c:
13033         (gst_base_transform_transform_caps),
13034         (gst_base_transform_transform_size),
13035         (gst_base_transform_prepare_output_buffer),
13036         (gst_base_transform_get_unit_size),
13037         (gst_base_transform_buffer_alloc),
13038         (gst_base_transform_handle_buffer),
13039         (gst_base_transform_change_state):
13040         Cleanups, separate normal flow from errors, add sensible
13041         DEBUG lines.
13042         Don't try to renegotiate when allocating an output buffer.
13043         Also copy DISCONT buffer flag when copying a buffer.
13044         Reset the transform after we finish streaming, not during.
13045
13046 2006-03-08  Wim Taymans  <wim@fluendo.com>
13047
13048         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13049         Use last buffer timestamp in qos message.
13050
13051 2006-03-07  Wim Taymans  <wim@fluendo.com>
13052
13053         Patch by: Christophe Fergeau
13054
13055         * docs/pwg/advanced-tagging.xml:
13056         * docs/pwg/building-pads.xml:
13057           fixes #333416
13058
13059 2006-03-07  Wim Taymans  <wim@fluendo.com>
13060
13061         * docs/libs/gstreamer-libs-sections.txt:
13062         Added basesink new methods.
13063
13064         * gst/gstevent.c:
13065         * gst/gstevent.h:
13066         Docs updates. Flesh out the QoS docs.
13067
13068         * libs/gst/base/gstadapter.c:
13069         Small doc clarification about ownership and flushing.
13070
13071         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
13072         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
13073         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
13074         (gst_base_sink_get_property), (gst_base_sink_do_sync):
13075         * libs/gst/base/gstbasesink.h:
13076         API additions: 
13077         Added new methods to allow subclass to control max-lateness 
13078         and sync.
13079         Generate very basic QoS events based on last sync observation.
13080         Updated docs, fix typo, added some QoS blurb.
13081
13082         * libs/gst/base/gstbasesrc.c:
13083         Remove obsolete _get_state() calls from docs.
13084
13085 2006-03-07  Wim Taymans  <wim@fluendo.com>
13086
13087         * docs/libs/gstreamer-libs-sections.txt:
13088         * libs/gst/base/gstbasetransform.h:
13089         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
13090         Fix docs for GstBaseSrc.
13091
13092 2006-03-07  Wim Taymans  <wim@fluendo.com>
13093
13094         * docs/gst/gstreamer-sections.txt:
13095         * gst/gstbuffer.h:
13096         * gst/gstvalue.c:
13097         * libs/gst/base/gstbasetransform.h:
13098         Small documentation fixes.
13099
13100 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
13101
13102         * gst/gstvalue.c:
13103           Document thread-unsafety of gst_value_register_foo_func()
13104           when used at the same time as gst_value_foo() (#322628).
13105
13106 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
13107
13108         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
13109         (gst_push_src_check_get_range):
13110           Push sources don't support pull mode by default.
13111
13112 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
13113
13114         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13115         (gst_base_src_init), (gst_base_src_pad_check_get_range),
13116         (gst_base_src_default_check_get_range):
13117         * libs/gst/base/gstbasesrc.h:
13118           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
13119           provide default implementation, and rename
13120           gst_base_src_check_get_range() to
13121           gst_base_src_pad_check_get_range() for clarity.
13122
13123 2006-03-06  Wim Taymans  <wim@fluendo.com>
13124
13125         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
13126         Make property overridable.
13127
13128 2006-03-06  Wim Taymans  <wim@fluendo.com>
13129
13130         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
13131         (gst_base_sink_init), (gst_base_sink_set_property),
13132         (gst_base_sink_get_property), (gst_base_sink_do_sync):
13133         * libs/gst/base/gstbasesink.h:
13134         API addition: Make max-lateness a property.
13135
13136 2006-03-06  Wim Taymans  <wim@fluendo.com>
13137
13138         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
13139         (gst_base_sink_do_sync), (gst_base_sink_render_object):
13140         Don't ever draw a frame that is >10ms late.
13141
13142 2006-03-06  Michael Smith  <msmith@fluendo.com>
13143
13144         * gst/gstmessage.c: (_gst_message_copy):
13145           When copying a message, set the parent_refcount of the enclosed
13146           structure to point at the copy, not the original message.
13147
13148 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
13149
13150         Patch by: Christophe Fergeau
13151
13152         * gst/gstutils.h:
13153           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
13154           usable in c++ code (#333417)
13155
13156 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13157
13158         * gst/gstclock.h:
13159           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
13160
13161 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
13162
13163         * libs/gst/base/gstbasetransform.c:
13164         (gst_base_transform_transform_caps):
13165           Make sure caps are writable before passing them to
13166           gst_caps_append().
13167
13168 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
13169
13170         * gst/gsterror.h:
13171           Fix some minor docs errors.
13172
13173 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
13174
13175           Patch by: Ross Burton <ross at burtonini dot com>
13176
13177         * gst/gsterror.c: (_gst_resource_errors_init):
13178         * gst/gsterror.h:
13179           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
13180
13181 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
13182
13183         * gst/gst.c:
13184         Add a check and output a g_warning when GStreamer is built
13185         against GLib 2.6 but running against 2.8 or higher, and vice 
13186         versa. (Closes: #323542)
13187
13188 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
13189
13190         * gst/parse/parse.l:
13191           Commit patch for parse_launch syntax from #331255. Removes 
13192           support for quoted strings and mimetypes when writing filtered 
13193           caps. See the bug report for more details - I'm pretty sure this
13194           obscure feature is not in use by _anyone_ anywhere.
13195
13196           With this simple change, the size of the gstreamer.so here 
13197           drops from 2193KB to 1565KB.
13198
13199 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
13200
13201         * plugins/elements/gsttypefindelement.h:
13202         * plugins/elements/gsttypefindelement.c:
13203         (gst_type_find_element_src_event), (start_typefinding),
13204         (stop_typefinding), (gst_type_find_element_handle_event),
13205         (gst_type_find_element_chain),
13206         (gst_type_find_element_chain_do_typefinding):
13207           Use gst_type_find_helper_for_buffer() for chain-based
13208           typefinding.
13209
13210 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
13211
13212         * plugins/elements/gsttypefindelement.c:
13213         (gst_type_find_element_class_init),
13214         (gst_type_find_element_set_property),
13215         (gst_type_find_element_get_property):
13216           Deprecate "maximum" property (not only was it only taken into
13217           account for typefinding in push-mode anyway, it also was never
13218           actually possible to set it in the first place because the
13219           property was registered with the numeric property ID for the
13220           "minimum" property). Register "maximum" property correctly,
13221           for the sake of future copy'n'pasters. Remove some cruft
13222           from property get/set functions.
13223
13224 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
13225
13226         * plugins/elements/gsttypefindelement.c:
13227         (gst_type_find_element_activate):
13228           Use gst_type_find_helper_get_range() here, so we
13229           can honour the "minimum" property and also emit
13230           the signal with the correct probability of the found caps.
13231
13232 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
13233
13234         * docs/libs/gstreamer-libs-sections.txt:
13235         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
13236         (helper_find_suggest), (gst_type_find_helper_get_range),
13237         (gst_type_find_helper):
13238         * libs/gst/base/gsttypefindhelper.h:
13239           New API: gst_type_find_helper_get_range() (#333042).
13240
13241 2006-03-02  Michael Smith  <msmith@fluendo.com>
13242
13243         * gst/gstregistryxml.c: (load_feature):
13244           Asserting on a failure to read part of the registry is Not Cool.
13245           Just log a warning and return NULL (which is already handled)
13246
13247 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
13248
13249         * win32/common/libgstbase.def:
13250           added export of gst_type_find_helper_for_buffer
13251         * win32/common/libgstbase.def:
13252           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
13253           gst_ghost_pad_get_target
13254
13255 2006-02-28  Wim Taymans  <wim@fluendo.com>
13256
13257         * docs/design/draft-klass.txt:
13258         We use Filter now.
13259         Added Connector to mark elements that are only used to
13260         allow pipeline connections.
13261         Moved Debug to extra feature since most of them are 
13262         functionally something else.
13263
13264 2006-02-28  Wim Taymans  <wim@fluendo.com>
13265
13266         * docs/design/draft-klass.txt:
13267         Some updates and clarifications.
13268
13269 2006-02-28  Wim Taymans  <wim@fluendo.com>
13270
13271         * docs/design/draft-klass.txt:
13272         Proposal for klass field values.
13273
13274         * docs/design/part-streams.txt:
13275         Start of a doc describing stream anatomy.
13276
13277 2006-02-28  Wim Taymans  <wim@fluendo.com>
13278
13279         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
13280         Help the compiler a bit with type registration.
13281         Use existing forward cod path instead of duplicating it when 
13282         handling a message.
13283         
13284         * gst/gstbus.c: (gst_bus_get_type):
13285         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
13286         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
13287         * gst/gstclock.c: (gst_clock_get_type):
13288         * gst/gstelement.c: (gst_element_get_type),
13289         * gst/gstelementfactory.c: (gst_element_factory_get_type):
13290         * gst/gstindexfactory.c: (gst_index_factory_get_type):
13291         * gst/gstminiobject.c: (gst_mini_object_get_type):
13292         * gst/gstpad.c: (gst_pad_get_type):
13293         * gst/gstsegment.c: (gst_segment_get_type):
13294         * gst/gststructure.c: (gst_structure_get_type):
13295         * gst/gstsystemclock.c: (gst_system_clock_get_type):
13296         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
13297         * gst/gstvalue.c:
13298         Help compiler with type registration.
13299
13300         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
13301         Small doc update.
13302
13303 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13304
13305         * plugins/elements/gsttypefindelement.c:
13306         (gst_type_find_element_handle_event):
13307           When we get an EOS event and have not found a type yet
13308           (most likely because we had not yet accumulated
13309           TYPE_FIND_MIN_SIZE of data yet), try to determine the
13310           type given the data we have so far. Fixes typefinding
13311           for very short streams again, most notably quicktime
13312           redirections as used on Apple's trailer site (#331701).
13313
13314 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13315
13316         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
13317         (gst_type_find_helper):
13318           Try typefinding factories with the highest rank first.
13319
13320 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13321
13322         * docs/libs/gstreamer-libs-docs.sgml:
13323         * docs/libs/gstreamer-libs-sections.txt:
13324         * libs/gst/base/gsttypefindhelper.c:
13325           Add section for typefind helper and add documentation
13326           for the old and the new function.
13327
13328 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13329
13330         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
13331         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
13332         (gst_type_find_helper_for_buffer):
13333         * libs/gst/base/gsttypefindhelper.h:
13334           New API: gst_type_find_helper_for_buffer() (#332723).
13335           
13336 2006-02-27  Michael Smith  <msmith@fluendo.com>
13337
13338         Patch by: Loïc Minier
13339
13340         * configure.ac:
13341         * docs/Makefile.am:
13342         * docs/slides/Makefile.am:
13343           prevent CVS directories getting disted.
13344
13345 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13346
13347         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
13348           Use the REFCOUNTING category for caps refcounting.
13349           
13350 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
13351
13352         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
13353           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
13354
13355 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
13356
13357         * plugins/elements/gsttypefindelement.c:
13358         (gst_type_find_element_activate):
13359           Use gst_pad_check_pull_range() before _activate_pull()
13360           to avoid unnecessary open/close (see #331690).
13361
13362 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
13363
13364         * gst/gstutils.c:
13365           Docs enhancement: make it crystal clear what the
13366           gst_pad_add_*_probe() callbacks should look like.
13367
13368 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
13369
13370         * libs/gst/base/gstbasesrc.c:
13371           Document how applications can stop recording from
13372           live sources (see #330996).
13373
13374 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13375
13376         * tests/check/Makefile.am:
13377         * tests/check/libs/basesrc.c: (eos_event_counter),
13378         (basesrc_eos_events_pull), (basesrc_eos_events_push),
13379         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
13380         (gst_basesrc_suite), (main):
13381           ... and add some tests for the base source EOS stuff.
13382
13383 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13384
13385         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
13386           Test case originally showed the problem fixed below,
13387           but was then amended. Add checks back at the place
13388           where they used to be.
13389
13390 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13391
13392         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13393         (gst_base_src_init), (gst_base_src_loop),
13394         (gst_base_src_activate_push), (gst_base_src_activate_pull),
13395         (gst_base_src_change_state):
13396         * libs/gst/base/gstbasesrc.h:
13397           Don't unconditionally send EOS when going from PAUSED to
13398           READY state, esp. make sure we don't send two EOS events
13399           in some cases (e.g. one when reaching EOS and one when
13400           going from PAUSED to READY). Also, we don't want to send
13401           EOS events when operating in pull mode. However, we do
13402           want to send an EOS event when shutting down a live
13403           source explicitly, for example (fixes #330996).
13404           
13405 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13406
13407         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13408           Update src->read_position after a seek when not using mmap.
13409           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
13410
13411 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
13412
13413         * gst/Makefile.am:
13414         * gst/gstparse.h:
13415         * gst/gstutils.c:
13416         * gst/gstutils.h:
13417         Make things work with --disable-parse as they do with 
13418         --disable-load-save - the symbols involved disappear, but the
13419         header is still installed and GST_DISABLE_PARSE is included via
13420         gstconfig.h
13421
13422 2006-02-20  Julien MOUTTE  <julien@moutte.net>
13423
13424         * libs/gst/base/gstbasetransform.c:
13425         (gst_base_transform_change_state): Fix a stupid bug. I was 
13426         sure I compiled that.
13427
13428 2006-02-20  Julien MOUTTE  <julien@moutte.net>
13429
13430         * gst/gstpad.c: (gst_pad_set_blocked_async):
13431         * gst/gstutils.c: (gst_pad_add_data_probe),
13432         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13433         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13434         (gst_pad_remove_buffer_probe): Make those function act on the
13435         ghostpad target when it's a ghostpad. (Closes #331727)
13436
13437 2006-02-20  Julien MOUTTE  <julien@moutte.net>
13438
13439         * libs/gst/base/gstbasetransform.c:
13440         (gst_base_transform_change_state): Make basetransform reusable.
13441         (Closes #331898)
13442
13443 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
13444
13445         * docs/random/release:
13446         Move the current documentation of how to do a release to the top
13447         of the file.
13448
13449         * gst/gstbin.c: (gst_bin_class_init),
13450         (gst_bin_handle_message_func):
13451         Allow multiple state-recalculation threads. (Closes #328873)
13452
13453 2006-02-19  Julien MOUTTE  <julien@moutte.net>
13454
13455         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
13456         * gst/gstpad.c: (gst_pad_set_event_function),
13457         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13458         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
13459         2 strings. You can't use the STR_NULL macro on that.
13460
13461 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
13462
13463         * gst/gstpad.c: (gst_pad_set_event_function),
13464         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13465         (gst_pad_set_getcaps_function)
13466         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
13467           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
13468           So now, we can use --gst-debug-level=5 on Windows
13469         * win32/common/libgstcontroller.def:
13470           Added export of gst_controller_init
13471         * win32/vs6/libgstcontroller.dsp:
13472           Fixed Release post build configuration
13473
13474 2006-02-17  Wim Taymans  <wim@fluendo.com>
13475
13476         * tests/check/gst/gstquery.c: (GST_START_TEST):
13477         Added another check.
13478
13479 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
13480
13481         * plugins/elements/gsttypefindelement.c: (find_peek):
13482           We can do peeks at non-zero offsets, as long as they
13483           fall within the buffer we have.
13484
13485 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
13486
13487         * tests/check/Makefile.am:
13488         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
13489         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
13490         (parse_suite), (main):
13491           Add testsuite for parse launch syntax
13492
13493 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
13494
13495         * plugins/elements/gsttypefindelement.c:
13496         (gst_type_find_element_chain):
13497           When typefinding is unsuccessful in the chain function, don't
13498           error out immediately. Only error out with NO_CAPS_FOUND if
13499           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
13500           otherwise simply wait for more data so we can try typefinding
13501           again with more data later. Also, don't attempt to typefind
13502           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
13503           this should improve typefinding from network sources where the
13504           size of the first buffer can be somewhat random.
13505
13506 2006-02-14  Wim Taymans  <wim@fluendo.com>
13507
13508         * docs/gst/gstreamer-sections.txt:
13509         * gst/gstpadtemplate.c:
13510         * gst/gstpadtemplate.h:
13511         Fix padtemplate docs, fixes #328805.
13512
13513 2006-02-14  Wim Taymans  <wim@fluendo.com>
13514
13515         * tools/gst-launch.c: (main):
13516         NO_PREROLL is not an ERROR so don't send confusing messages
13517         to the user.
13518
13519 2006-02-14  Wim Taymans  <wim@fluendo.com>
13520
13521         Patch by: Torsten Schoenfeld
13522
13523         * gst/gstregistry.c: (gst_registry_get_default),
13524         (_gst_registry_cleanup):
13525         Protect default registry with lock and ref/sink it.
13526         Fixes #324818
13527
13528 2006-02-14  Wim Taymans  <wim@fluendo.com>
13529
13530         * gst/gstbuffer.c:
13531         * gst/gstquery.c: (gst_query_list_add_format),
13532         (gst_query_set_formatsv), (gst_query_parse_formats_length),
13533         (gst_query_parse_formats_nth):
13534         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13535         Docs fixes.
13536
13537 2006-02-14  Wim Taymans  <wim@fluendo.com>
13538
13539         * docs/gst/gstreamer-sections.txt:
13540         Reworked query docs.
13541
13542         * gst/gstquery.c: (gst_query_new_formats),
13543         (gst_query_list_add_format), (gst_query_set_formats),
13544         (gst_query_set_formatsv), (gst_query_parse_formats_length),
13545         (gst_query_parse_formats_nth):
13546         * gst/gstquery.h:
13547         Flesh out formats query, added some new methods.
13548         Fix part of #324398.
13549
13550         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
13551         Added query creation tests.
13552
13553 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
13554
13555         * gst/gstpad.c: (fixate_value):
13556         Add a default fixation for fraction lists.
13557
13558 2006-02-13  Wim Taymans  <wim@fluendo.com>
13559
13560         * gst/gsttask.c: (gst_task_init), (gst_task_func),
13561         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
13562         (gst_task_join):
13563         * gst/gsttask.h:
13564         Detect and warn for obvious deadlocks. fixes #320340
13565         Fix error case where lock was not released.
13566
13567         * tests/check/Makefile.am:
13568         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
13569         (task_func), (gst_element_suite), (main):
13570         Add task check.
13571
13572 2006-02-13  Wim Taymans  <wim@fluendo.com>
13573
13574         * docs/gst/gstreamer-sections.txt:
13575         * gst/gstbus.c:
13576         Add new functions to docs.
13577
13578 2006-02-13  Wim Taymans  <wim@fluendo.com>
13579
13580         * docs/design/part-TODO.txt:
13581         Updated TODO list, basesrc supports seeking to non-bytes
13582         formats.
13583
13584         * docs/design/part-element-sink.txt:
13585         Update docs.
13586
13587         * gst/gstbin.c: (bin_replace_message),
13588         (gst_bin_handle_message_func):
13589         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
13590         * gst/gstevent.c: (gst_event_finalize):
13591         * gst/gstpad.c: (gst_pad_event_default_dispatch),
13592         (gst_pad_send_event):
13593         Use shiny new _TYPE_NAME macros.
13594
13595         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
13596         Move debug statement up.
13597
13598         * gst/gstelement.c: (gst_element_set_locked_state):
13599         Add some debugging.
13600
13601 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
13602
13603         * docs/gst/gstreamer-sections.txt:
13604         * gst/gstmessage.h:
13605         * gst/gstquery.h:
13606           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
13607           macros (#330906). Also, document the already existing
13608           GST_QUERY_TYPE macro.
13609
13610 2006-02-13  Wim Taymans  <wim@fluendo.com>
13611
13612         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
13613         (event_probe), (GST_START_TEST):
13614         Only events up to the pipeline EOS are counted, there are
13615         some more when going to NULL currently which we don't care
13616         about for now.
13617
13618 2006-02-13  Wim Taymans  <wim@fluendo.com>
13619
13620         * gst/gstpad.c: (gst_pad_send_event):
13621         Correctly check flushing and emit probes. fixes #330125
13622
13623 2006-02-10  Andy Wingo  <wingo@pobox.com>
13624
13625         * gst/gstbus.c (gst_bus_class_init): Declare our private data
13626         structure.
13627         (gst_bus_init): Cache the location of the private data in the
13628         instance structure.
13629         (gst_bus_enable_sync_message_emission) 
13630         (gst_bus_disable_sync_message_emission): Implement new public
13631         functions.
13632         (gst_bus_post): Emit the sync-message signal if the user asked for
13633         it. Fixes #330684.
13634
13635         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
13636         location of the bus-private structure.
13637         (gst_bus_enable_sync_message_emission)
13638         (gst_bus_disable_sync_message_emission): API addition
13639
13640 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
13641
13642         Patch by: Vincent Torri
13643
13644         * docs/pwg/building-boiler.xml:
13645         PWG patch from #326800
13646
13647 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
13648
13649         * configure.ac:
13650         * docs/Makefile.am:
13651         * docs/design/Makefile.am:
13652           Dist design docs.
13653
13654 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
13655
13656         * configure.ac:
13657           back to CVS
13658
13659 === release 0.10.3 ===
13660
13661 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
13662
13663         * configure.ac:
13664           releasing 0.10.3, "Like a virgin"
13665
13666 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
13667
13668         * configure.ac:
13669           2nd prerelease of 0.10.3
13670           Bump libtool versioning.
13671
13672 2006-02-07  Andy Wingo  <wingo@pobox.com>
13673
13674         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
13675         update last_stop if we're in TIME format and the timestamp is
13676         valid.
13677
13678         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
13679         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
13680         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
13681         If we get a new newsegment with a different format, adapt
13682         accordingly.
13683
13684         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
13685         of 0. Not a problem, really.
13686
13687         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
13688         warn if sync=true.
13689
13690 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
13691
13692         * configure.ac:
13693           Prelease of 0.10.3
13694
13695 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
13696
13697         * win32/vs7:
13698           project files updated to the default vs7 configuration
13699         * win32/common/libgstbase.def:
13700         * win32/common/libgstreamer.def:
13701           added new symbols,
13702           removed empty lines,
13703           sorted all exported symbols alphabetically
13704         * win32/common/dirent.c:
13705         * win32/common/dirent.h:
13706         * win32/common/gchar.h:
13707           use windows line end.
13708           
13709 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
13710
13711         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13712           Send EOS event when stopping.
13713
13714 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
13715
13716         * docs/README:
13717           Tell folks what to do if the plugin-foobar.xml file
13718           hasn't been generated for a newly-added plugin.
13719
13720 2006-02-05  Julien MOUTTE  <julien@moutte.net>
13721
13722         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
13723         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
13724         (gst_collect_pads_start), (gst_collect_pads_stop),
13725         (gst_collect_pads_event): Collectpads now holds a reference
13726         to the GstPad that was added. Indeed we don't want to look
13727         at pads that might just go away with no warning...
13728
13729 2006-02-05  Julien MOUTTE  <julien@moutte.net>
13730
13731         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
13732         (gst_collect_pads_start), (gst_collect_pads_stop),
13733         (gst_collect_pads_event), (gst_collect_pads_chain):
13734         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
13735         Mark Nauwelaerts's patch on bug #328491.
13736
13737 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
13738
13739         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
13740         (gst_utils_suite):
13741           Add some simple tests for gst_parse_bin_from_description() and
13742           gst_bin_find_unconnected_pad() (#329069).
13743
13744 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
13745
13746         * tools/gst-launch.c: (event_loop), (main):
13747           Catch errors during preroll (#320084).
13748
13749 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
13750
13751         * plugins/elements/gsttypefindelement.c:
13752         (gst_type_find_element_activate):
13753           Post TYPE_NOT_FOUND error message when typefinding
13754           is unsuccessful in the activate function as well.
13755
13756 2006-02-02  Wim Taymans  <wim@fluendo.com>
13757
13758         * docs/design/part-element-sink.txt:
13759         Updated doc.
13760
13761 2006-02-02  Wim Taymans  <wim@fluendo.com>
13762
13763         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
13764         (gst_base_sink_render_object),
13765         (gst_base_sink_queue_object_unlocked):
13766         Only keep track of prerollable items when we are 
13767         prerolling.
13768         Before rendering after preroll, always check if we
13769         have queued items.
13770         Added some more debugging.
13771
13772 2006-02-02  Wim Taymans  <wim@fluendo.com>
13773
13774         * gst/gstelement.c: (gst_element_continue_state),
13775         (gst_element_set_state_func), (gst_element_change_state):
13776         Fixed #326576, been running this for quite some time with
13777         no regressions at all.
13778
13779 2006-02-02  Wim Taymans  <wim@fluendo.com>
13780
13781         * common/gst.supp:
13782         Added more suppressions
13783
13784 2006-02-02  Wim Taymans  <wim@fluendo.com>
13785
13786         * docs/design/part-element-sink.txt:
13787         Updated document.
13788
13789         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13790         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
13791         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
13792         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
13793         (gst_base_sink_do_sync), (gst_base_sink_render_object),
13794         (gst_base_sink_preroll_object),
13795         (gst_base_sink_queue_object_unlocked),
13796         (gst_base_sink_queue_object), (gst_base_sink_event),
13797         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
13798         (gst_base_sink_loop), (gst_base_sink_activate_pull),
13799         (gst_base_sink_get_position), (gst_base_sink_change_state):
13800         * libs/gst/base/gstbasesink.h:
13801         Totally refactored matching the design doc.
13802         Use two segments, one to clip incomming buffers and another to
13803         perform sync.
13804         Handle queueing correctly, bypass the queue when playing.
13805         Make EOS cancelable.
13806         Handle errors correctly when operating in pull based mode.
13807
13808         * tests/check/elements/fakesink.c: (GST_START_TEST),
13809         (fakesink_suite):
13810         Added new check for sinks.
13811
13812 2006-02-02  Wim Taymans  <wim@fluendo.com>
13813
13814         * gst/gstsegment.c: (gst_segment_clip):
13815         No reason to refuse to clip when start == -1
13816
13817 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
13818
13819         * docs/README:
13820         * docs/manual/intro-basics.xml:
13821         * docs/manual/intro-preface.xml:
13822         * docs/manual/manual.xml:
13823         * docs/pwg/advanced-dparams.xml:
13824         * docs/pwg/intro-basics.xml:
13825         * docs/pwg/intro-preface.xml:
13826         * docs/pwg/pwg.xml:
13827           describe dparams (controller) for plugins
13828           unify docs a little more
13829
13830 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
13831
13832         * docs/gst/gstreamer-sections.txt:
13833         * gst/gstutils.c: (element_find_unconnected_pad),
13834         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
13835         * gst/gstutils.h:
13836           Add new API: gst_parse_bin_from_description() and
13837           gst_bin_find_unconnected_pad() (#329069).
13838
13839 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
13840
13841         * docs/manual/README:
13842           uncover a nasty detail of the docs build
13843
13844 2006-01-31  Wim Taymans  <wim@fluendo.com>
13845
13846         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
13847         Don't cache duration messages if we're not going to use or
13848         free them.
13849
13850 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
13851
13852         * docs/manual/advanced-dparams.xml:
13853         * docs/pwg/advanced-dparams.xml:
13854           more dparam docs
13855         * gst/gstindex.c:
13856           fix docs
13857         * libs/gst/controller/lib.c: (gst_controller_init):
13858           init just once
13859
13860 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13861
13862         * gst/gstelement.c: (gst_element_message_full):
13863           also show file/line/func if no additional debug was given
13864
13865 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
13866         
13867         * win32/vs7/grammar.vcproj:
13868           activate copy of autogenerated files for Release mode
13869
13870 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
13871         
13872         * win32/common/libgstreamer.def:
13873           export gst_value_compare
13874
13875 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
13876
13877         * plugins/elements/Makefile.am:
13878         * plugins/elements/gstelements.c:
13879         * plugins/elements/gstfdsink.c: (_do_init),
13880         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
13881         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
13882         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
13883         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
13884         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
13885         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
13886         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
13887         * plugins/elements/gstfdsink.h:
13888         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
13889
13890 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
13891
13892         * docs/manual/advanced-dparams.xml:
13893           describe controller
13894         * docs/manual/advanced-position.xml:
13895         * docs/manual/basics-init.xml:
13896         * docs/manual/manual.xml:
13897         * docs/manual/titlepage.xml:
13898         * docs/pwg/pwg.xml:
13899         * docs/pwg/titlepage.xml:
13900           cleanup xml (more to come)
13901         * libs/gst/controller/gstcontroller.c:
13902           fix typo
13903
13904 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
13905         
13906         * win32/vs6/grammar.dsp:
13907           add autogen of gstmarshal.c,h for Release mode
13908                 
13909 2006-01-30  Wim Taymans  <wim@fluendo.com>
13910
13911         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13912         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
13913         (gst_base_sink_handle_object), (gst_base_sink_event),
13914         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
13915         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13916         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
13917         (gst_base_sink_deactivate), (gst_base_sink_activate),
13918         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
13919         (gst_base_sink_query), (gst_base_sink_change_state):
13920         Basesink cleanups, remove some old code.
13921         Handle the case where a subclass can preroll in the render
13922         method (mostly audiosinks).
13923         Handle more events.
13924         Remove some locks around variables that are now protected
13925         with the PREROLL_LOCK (clock_id, flushing, ..).
13926         Optimize position query some more, do correct locking.
13927         Remove old code to push queue in state change, this is not
13928         needed anymore since preroll blocks on all prerollable items 
13929         now.
13930         Almost implemented as described in design doc.
13931
13932 2006-01-30  Wim Taymans  <wim@fluendo.com>
13933
13934         * tests/check/gst/gstbin.c: (GST_START_TEST):
13935         Wait for refcount to settle down before checking.
13936
13937 2006-01-30  Wim Taymans  <wim@fluendo.com>
13938
13939         * docs/design/part-element-sink.txt:
13940         Pseudo code overview of desired sink behaviour regarding
13941         preroll.
13942
13943 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
13944         * win32/vs6/grammar.dsp:
13945           fix some bugs in Release mode for autogenerated files
13946                 
13947 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
13948         * win32/common/libgstbase.def:
13949         * win32/common/libgstreamer.def:
13950           export some new symbols: gst_base_src_set_format,
13951           gst_iterator_next, gst_structure_set_valist
13952
13953 2006-01-29  Julien MOUTTE  <julien@moutte.net>
13954
13955         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13956         Set pad functions unconditionally. Fixes #329105.
13957
13958 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
13959         * win32/vs8:
13960           add vs8 project files created by Sergey Scobich
13961
13962 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
13963
13964         * gst/gstutils.c: (gst_element_unlink_pads):
13965         Don't leak pad references.
13966
13967         * tests/check/elements/fakesink.c: (GST_START_TEST):
13968         * tests/check/generic/sinks.c: (GST_START_TEST):
13969         * tests/check/generic/states.c: (GST_START_TEST):
13970         * tests/check/gst/gstbin.c: (GST_START_TEST):
13971         * tests/check/gst/gstcaps.c: (GST_START_TEST):
13972         * tests/check/gst/gstelement.c: (GST_START_TEST):
13973         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13974         * tests/check/gst/gstiterator.c: (GST_START_TEST):
13975         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13976         Fix a bunch of leaks. Make generic/sinks.c
13977         use a bit less cpu by slowing the buffer rate
13978         between fakesrc and fakesink.
13979         
13980 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
13981         * gst/gstcaps.c:
13982         * gst/gstelement.c: (gst_element_send_event):
13983         * gst/gstevent.c:
13984         * gst/gstinfo.c:
13985         * gst/gstiterator.c:
13986         * gst/gstiterator.h:
13987         * gst/gstpad.c: (gst_pad_send_event):
13988         * gst/gststructure.c:
13989         * gst/gsturi.c:
13990         * gst/gstutils.c:
13991         * gst/gstvalue.c:
13992         * libs/gst/base/gstadapter.c:
13993           doc fixes, to link to function, just write gst_cool_function(), don't
13994           prefix with '#'
13995
13996 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
13997
13998         * plugins/elements/gsttee.c: (gst_tee_do_push),
13999         (gst_tee_handle_buffer):
14000         Always prefer an actual return value from a src
14001         pad in place of NOT_LINKED. This means we return
14002         WRONG_STATE when all src pads are WRONG_STATE
14003         instead of NOT_LINKED.
14004
14005         Lock when replacing the last message to prevent
14006         racing with the get_property method.
14007
14008         Add debug output
14009
14010 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
14011
14012         * tests/check/Makefile.am:
14013         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
14014         (main):
14015         Add a very simple check that should have caught the memleak I fixed
14016         last night (if not for the slice allocator hiding it)
14017
14018 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
14019
14020         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
14021         (gst_bin_remove_func), (gst_bin_handle_message_func),
14022         (bin_query_duration_fold), (bin_query_generic_fold):
14023         Clean up references to the clock provider when disposed or when
14024         handling a clock-lost message from it.
14025
14026         Unref sinks when performing a query via gst_iterator_fold, as the
14027         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
14028
14029         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
14030         (gst_clock_set_master):
14031         Drop our reference to the master clock, if any, when we are disposed.
14032
14033         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
14034         Chain up in dispose. 
14035
14036 2006-01-26  Wim Taymans  <wim@fluendo.com>
14037
14038         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
14039         Add some debugging.
14040
14041 2006-01-26  Julien MOUTTE  <julien@moutte.net>
14042
14043         * plugins/elements/gsttee.c: (gst_tee_do_push),
14044         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
14045         handles pad being NOT_LINKED or in WRONG_STATE.
14046
14047 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
14048
14049         * win32/MANIFEST:
14050           more updating
14051
14052 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
14053
14054         * win32/MANIFEST:
14055           remove obsolete entry
14056
14057 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
14058
14059         * docs/gst/gstreamer-sections.txt:
14060         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
14061         (gst_bin_iterate_sources), (gst_bin_send_event):
14062         * gst/gstbin.h:
14063         * gst/gstelement.c: (gst_element_send_event):
14064         * gst/gstevent.c:
14065         * gst/gstpad.c: (gst_pad_send_event):
14066           added code for downstream events, reviewed docs in gstevent.c
14067
14068 2006-01-25  Julien MOUTTE  <julien@moutte.net>
14069
14070         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14071         We only query position using the clock in the playing state.
14072         Query peer in the other cases.
14073         * win32/common/config.h: Updates.
14074
14075 2006-01-24  Wim Taymans  <wim@fluendo.com>
14076
14077         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14078         A clock entry that is scheduled for the exact time of the
14079         clock is still in time.
14080
14081         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14082         (gst_base_sink_do_sync):
14083         Add some more debug info.
14084
14085 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
14086
14087         * win32/vs7:
14088           Add new vs7 project files and solution.
14089
14090 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
14091
14092         * win32/vs7:
14093           all files removed as they were out-dated.
14094
14095 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14096
14097         * docs/random/release:
14098           update notes
14099         * gst/gstbin.c: (gst_bin_init):
14100         * gst/gstbus.c: (gst_bus_new):
14101         * gst/gstbus.h:
14102         * gst/gstpipeline.c: (gst_pipeline_init):
14103           use gst_bus_new(), improve logging, fix docs
14104         * win32/common/config.h:
14105           update for cvs build
14106
14107 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14108
14109         * autogen.sh:
14110           up required version of automake to 1.7
14111
14112 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
14113
14114         * win32/common/libgstreamer.def:
14115           export gst_buffer_is_metadata_writable
14116
14117 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
14118
14119         * docs/gst/gstreamer-sections.txt:
14120         * gst/gstevent.h:
14121           Add gst_event_replace() (#327001)
14122
14123 2006-01-20  Wim Taymans  <wim@fluendo.com>
14124
14125         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14126         Make it actually compile too..
14127
14128 2006-01-20  Wim Taymans  <wim@fluendo.com>
14129
14130         * gst/gstcaps.c:
14131         Clarify behaviour of _is_equal() when passing NULL parameters.
14132
14133         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14134         (gst_pad_set_caps):
14135         Cleanups. Don't unref NULL caps.
14136         When setting the same caps, protect caps of the pad with
14137         proper lock.
14138         Use full functionality of _is_equal() when comparing caps.
14139
14140 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
14141
14142         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
14143         Don't loop infinitely if there are no buffers to present. Partially
14144         fixes #327197, but collectpads is just broken for reusing elements
14145         to do multiple encodes atm.
14146
14147 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
14148
14149         * tools/gst-inspect.c: (print_element_features):
14150         * tools/gst-xmlinspect.c: (main):
14151         URL_HANDLER is not a plugin feature we can search for in
14152         the registry.
14153
14154 2006-01-19  Edward Hervey  <edward@fluendo.com>
14155
14156         * gst/gstelement.c: (gst_element_pads_activate): 
14157         When activating, do src pads first, then sink pads.
14158         When de-activating, do sink pads first, then src pads.
14159
14160 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
14161
14162         * docs/gst/gstreamer-sections.txt:
14163         Add gst_index_add_associationv to the docs
14164
14165 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
14166
14167         * gst/gstevent.c:
14168           Fix docs typo
14169
14170         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
14171         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
14172           Do some refactoring. Doesn't actually change functionality,
14173           but makes landing the DRAIN event easier later.
14174
14175 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
14176
14177         * docs/pwg/advanced-scheduling.xml:
14178           Update from 0.9.x to 0.10 API and make example a bit
14179           clearer.
14180
14181 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
14182
14183         * docs/gst/gstreamer-sections.txt:
14184         Add gst_buffer_(is|make)_metadata_writable methods.
14185
14186 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
14187
14188         * docs/design/part-sparsestreams.txt:
14189         Update sparse streams doc, hopefully for greater clarity
14190
14191 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
14192
14193         * docs/design/part-events.txt:
14194         Remove mention of FILLER events.
14195         Add DRAIN event.
14196
14197         * docs/design/part-sparsestreams.txt:
14198         Write some things about using NEWSEGMENT to keep sparse streams
14199         flowing.
14200
14201 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
14202
14203         * gst/gstbin.c: (gst_bin_dispose):
14204           Guard gst_object_unref call against a NULL object (dispose
14205           can theoretically be called multiple times).
14206           
14207 2006-01-18  Wim Taymans  <wim@fluendo.com>
14208
14209         * gst/gstbin.c: (gst_bin_element_set_state):
14210         * gst/gstclock.c: (gst_clock_id_wait):
14211         Added some more debug info.
14212
14213         * libs/gst/base/gstadapter.c:
14214         Added more docs.
14215
14216         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14217         (gst_base_sink_do_sync), (gst_base_sink_chain):
14218         Added some comments.
14219
14220 2006-01-18  Wim Taymans  <wim@fluendo.com>
14221
14222         * tests/check/Makefile.am:
14223         * tests/check/elements/fakesink.c: (chain_async_buffer),
14224         (chain_async), (chain_async_return), (GST_START_TEST),
14225         (fakesink_suite), (main):
14226         Added fakesink test that checks prerolling and clipping
14227         behaviour.
14228
14229         * tests/check/gst/gstutils.c: (GST_START_TEST):
14230         Make check run faster so that buildbots don't timeout.
14231
14232 2006-01-18  Wim Taymans  <wim@fluendo.com>
14233
14234         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14235         (gst_base_sink_do_sync):
14236         Some cleanups.
14237         When the sink finishes blocking on the preroll buffer, it can
14238         immediatly render it instead of rendering when the next buffer
14239         arrives.
14240
14241 2006-01-18  Wim Taymans  <wim@fluendo.com>
14242
14243         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
14244         (gst_base_sink_get_property), (gst_base_sink_do_sync),
14245         (gst_base_sink_chain):
14246         Small cleanups.
14247         GST_ELEMENT_CLOCK and sync are protected with LOCK.
14248         Don't store _last_stop if the buffer is dropped.
14249
14250 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
14251
14252         * plugins/elements/gsttypefindelement.c:
14253         (gst_type_find_element_class_init):
14254           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
14255           object method handler that sets the caps on the pad and we want
14256           that to happen before we emit the signal (fixes e.g. feeding a
14257           plain text file to decodebin).
14258
14259 2006-01-18  Christian Schaller  <Christian@fluendo.com>
14260
14261         * gst/gstplugin.c: Add MPL and Proprietary as license options
14262
14263 2006-01-18  Andy Wingo  <wingo@pobox.com>
14264
14265         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
14266         symbol was exported before, it appears this was just an oversight.
14267         Fixes #168703.
14268         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
14269
14270         * gst/gstindex.c (gst_index_add_associationv): Changed int in
14271         prototype to gint. OK since this prototype was not in the header.
14272
14273 2006-01-17  Andy Wingo  <wingo@pobox.com>
14274
14275         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
14276         registry while we remove plugins.
14277
14278         * tools/gst-inspect.c (print_element_info): Don't unref the
14279         factory arg, that should be the responsibility of whatever code
14280         received the ref. Fixes a double-free when called from
14281         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
14282         (main): Unref the factory if we have one.
14283         (print_element_list): No change -- relies on the
14284         plugin_feature_list_free to free the list of features.
14285
14286 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
14287
14288         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
14289         (gst_buffer_make_metadata_writable):
14290         * gst/gstbuffer.h:
14291         * libs/gst/base/gstbasetransform.c:
14292         (gst_base_transform_prepare_output_buf):
14293         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14294         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14295           Replace gst_buffer_(make|is)_metadata_writable patch now
14296           that the release is out.
14297
14298 2006-01-17  Andy Wingo  <wingo@pobox.com>
14299
14300         * gst/gstregistry.c: Reflow design comment. Update so as to speak
14301         in the present tense without reference to versions.
14302
14303         * gst/gstregistry.c (gst_registry_add_plugin)
14304         (gst_registry_remove_plugin, gst_registry_remove_feature)
14305         (gst_registry_find_feature, gst_registry_get_feature_list)
14306         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
14307         (gst_registry_lookup, gst_registry_scan_path)
14308         (_gst_registry_remove_cache_plugins)
14309         (gst_registry_get_feature_list_by_plugin): Add argument
14310         validation.
14311
14312 === release 0.10.2 ===
14313
14314 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
14315
14316         * configure.ac:
14317           releasing 0.10.2, "If man is five"
14318
14319 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
14320
14321         * gst/gstbuffer.c:
14322         * gst/gstbuffer.h:
14323         * libs/gst/base/gstbasetransform.c:
14324         (gst_base_transform_prepare_output_buf):
14325         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14326         * tests/check/gst/gstbuffer.c: (gst_test_suite):
14327           Back out patch until after the release.
14328
14329 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
14330
14331         * gst/gstminiobject.c:
14332           Spelling fix in docs.
14333         * ChangeLog - remove conflict indicator
14334
14335 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
14336
14337         Reviewed By: Andy Wingo
14338
14339         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
14340         (gst_buffer_make_metadata_writable):
14341         * gst/gstbuffer.h:
14342           Add gst_buffer_(is|make)_metadata_writable as analogues of
14343           gst_buffer_(is|make)_writable.
14344
14345         * libs/gst/base/gstbasetransform.c:
14346         (gst_base_transform_prepare_output_buf):
14347         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14348           Use name gst_buffer_(is|make)_metadata_writable functions.
14349
14350         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14351           Test gst_buffer_(is|make)_metadata_writable
14352         
14353           (Closes: #324162)
14354
14355 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14356
14357         * docs/manual/Makefile.am:
14358           don't do parallel make
14359         * configure.ac:
14360           AC_SUBST HOST_CPU
14361         * win32/common/config.h.in:
14362           add generations for HOST_CPU and GST_MAJORMINOR
14363         * win32/common/config.h:
14364           commit generated result
14365
14366 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
14367
14368         * docs/manual/appendix-integration.xml:
14369           Update GNOME integration section to use gst_init_get_option_group()
14370           instead of the old popt stuff (#322911). Also, GNOME applications
14371           should  now use gconf*sink and gconf*src instead of the old gconf
14372           helper lib we had.
14373
14374 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
14375
14376
14377         * docs/gst/gstreamer-docs.sgml:
14378         * docs/gst/gstreamer-sections.txt:
14379         * docs/libs/gstreamer-libs-sections.txt:
14380           add new API entries to the docs
14381         * libs/gst/controller/Makefile.am:
14382         * libs/gst/controller/gstcontroller.c:
14383         * libs/gst/controller/gstcontroller.h:
14384         * libs/gst/controller/gstcontrollerprivate.h:
14385         * libs/gst/controller/gsthelper.c:
14386         * libs/gst/controller/gstinterpolation.c:
14387           move private structs to private header
14388         * po/README:
14389           gstreamer-0.7 -> gstreamer-0.10
14390         * tests/check/libs/struct_i386.h:
14391           remove private structs
14392
14393 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14394
14395         * plugins/indexers/Makefile.am:
14396           Fixes as part of #317048
14397
14398 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14399
14400         * plugins/indexers/Makefile.am:
14401           fix #316086 - compilation when mmap is missing
14402
14403 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
14404
14405         * libs/gst/base/gstbasesink.c:
14406           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
14407           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
14408         * win32/common/config.h:
14409           added some defines GST_MAJORMINOR and HOST_CPU
14410         * win32/common/libgstbase.def:
14411         * win32/common/libgstreamer.def:
14412           added some exported functions.
14413
14414 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
14415
14416         * libs/gst/controller/gstcontroller.c:
14417         (gst_controlled_property_set_interpolation_mode),
14418         (gst_controlled_property_new):
14419         * libs/gst/controller/gstcontroller.h:
14420         * libs/gst/controller/gstinterpolation.c:
14421         (interpolate_none_get_string_value_array):
14422           make G_TYPE_STRING controlable
14423
14424 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
14425
14426         * tools/README:
14427         * tools/gst-feedback.1.in:
14428         * tools/gst-inspect.1.in:
14429         * tools/gst-launch.1.in:
14430         * tools/gst-md5sum.1.in:
14431         * tools/gst-typefind.1.in:
14432         * tools/gst-xmlinspect.1.in:
14433         * tools/gst-xmllaunch.1.in:
14434           cleanup man-pages, remove reference to gst-register, document env-vars
14435
14436 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
14437
14438         * gst/gstbuffer.c: (gst_buffer_span):
14439           gst_buffer_span should copy the timestamp of the first buffer
14440           if they were both originally overlapping subbuffers of the 
14441           same parent, using the same logic as the 'slow copy' case.
14442
14443 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
14444
14445         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
14446           Need to awaken ALL the pads when we pop a buffer, otherwise
14447           collectpads only works when there is 2 input streams.
14448
14449 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
14450
14451         * docs/random/ensonic/media-device-daemon.txt:
14452           more ideas (dbus)
14453         * gst/gstbuffer.c:
14454           fix doc example, add clarification
14455         * tools/gst-launch.1.in:
14456           add initial info about GST_PLUGIN_PATH, needs more work
14457
14458 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
14459
14460         * docs/manual/basics-bins.xml:
14461         * docs/manual/basics-elements.xml:
14462         * docs/manual/intro-basics.xml:
14463           Some more minor docs additions and updates.
14464
14465 2006-01-11  Wim Taymans  <wim@fluendo.com>
14466
14467         * docs/manual/basics-bins.xml:
14468         * docs/manual/basics-elements.xml:
14469         Some small fixes as pointed out by Ser-ver on IRC.
14470
14471 2006-01-10  Edward Hervey  <edward@fluendo.com>
14472
14473         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
14474         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
14475         the single-segment mode.
14476
14477 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
14478
14479         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14480
14481         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
14482         (gst_base_src_perform_seek), (gst_base_src_send_event),
14483         (gst_base_src_set_property), (gst_base_src_get_property),
14484         (gst_base_src_loop), (gst_base_src_start),
14485         (gst_base_src_activate_push):
14486         * libs/gst/base/gstbasesrc.h:
14487           Name (private) union; makes Sun's Forte compiler happy (#324900).
14488
14489 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
14490
14491         * README:
14492           gst-register is gone.
14493
14494 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14495
14496         * gst/gstvalue.c: (_gst_value_initialize):
14497           make the G_TYPE_DATE instantiation work if debug is disabled
14498
14499 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
14500
14501         * gst/gstmessage.c: (gst_message_parse_tag),
14502         (gst_message_parse_error), (gst_message_parse_warning):
14503           Don't crash when return location for error/warning debug
14504           string is NULL; add fact that return locations can be
14505           NULL to docs where appropriate.
14506
14507 2006-01-05  Wim Taymans  <wim@fluendo.com>
14508
14509         * gst/gstplugin.c: (gst_plugin_load_file):
14510         Replace strdup by g_strdup.
14511
14512 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14513
14514         * docs/pwg/advanced-types.xml:
14515           fix doc borkage
14516
14517 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14518
14519         submitted by: Abel Cheung
14520
14521         * po/LINGUAS:
14522         * po/zh_TW.po:
14523           Added Chinese (traditional) translation
14524
14525 2006-01-04  Wim Taymans  <wim@fluendo.com>
14526
14527         * docs/manual/basics-pads.xml:
14528         * docs/plugins/Makefile.am:
14529         * docs/plugins/gstreamer-plugins-docs.sgml:
14530         * docs/plugins/gstreamer-plugins-sections.txt:
14531         * docs/pwg/advanced-clock.xml:
14532         * docs/pwg/advanced-scheduling.xml:
14533         * docs/pwg/advanced-types.xml:
14534         * plugins/elements/gstfdsink.c:
14535         * plugins/elements/gstfdsrc.c:
14536         * plugins/elements/gstfdsrc.h:
14537         * plugins/elements/gstidentity.c: (gst_identity_class_init):
14538         * plugins/elements/gstidentity.h:
14539         * plugins/elements/gstqueue.h:
14540         * plugins/elements/gsttee.c:
14541         * plugins/elements/gsttee.h:
14542         * plugins/elements/gsttypefindelement.c:
14543         (gst_type_find_element_class_init):
14544         * plugins/elements/gsttypefindelement.h:
14545         Small updates to various docs.
14546         Added core plugins to docs.
14547
14548 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14549
14550         * common/gst.supp:
14551           add a suppression for liboil's uninitialized variable
14552
14553 2006-01-02  James Livingston  <jrl at ids dot org dot au>
14554
14555         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14556
14557         * gst/gstutils.h:
14558           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
14559           macro, so that gcc doesn't complain if the -Wmissing-prototypes
14560           compiler switch is being used (#325429).
14561
14562 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
14563
14564         * gst/gstbin.c: (gst_bin_query):
14565           Disable duration query caching in bins until it gets
14566           fixed (see #324807).
14567
14568 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
14569
14570         * tools/gst-inspect.c: (print_element_properties_info):
14571           Handle properties of POINTER and BOXED type.
14572
14573 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
14574
14575         * gst/gst.c: (init_post):
14576           Init tags stuff and some other things before loading
14577           any static plugins (there may be other static plugins
14578           than just the GStreamer ones, and they may want to
14579           register their own tags or formats or whatever, and
14580           preferably without segfaulting).
14581
14582         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
14583           Print at least a warning in the debug logs if we drop a
14584           query just because we don't know how to adjust the value
14585           in the particular format.
14586
14587 2005-12-24  David Schleef  <ds@schleef.org>
14588
14589         * tools/gstreamer-completion:
14590           Replacement for gst-complete written in sh and sed.  Only
14591           completes names of features, but that's 90% of what I want
14592           it for.  Properties are not available in registry.xml.  (Maybe
14593           they should be...)
14594
14595 === release 0.10.1 ===
14596
14597 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
14598
14599         * configure.ac:
14600           releasing 0.10.1, "Nollaig chridheil"
14601
14602 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
14603
14604         * docs/faq/cvs.xml:
14605           Add missing quote, should be make ERROR_CFLAGS="".
14606
14607 2005-12-20  Wim Taymans  <wim@fluendo.com>
14608
14609         * docs/design/part-trickmodes.txt:
14610         More documentation on trickmodes.
14611
14612 2005-12-20  Edward Hervey  <edward@fluendo.com>
14613
14614         * gst/gstcaps.c: (gst_static_caps_get_type):
14615         * gst/gstcaps.h:
14616           API addition: GST_TYPE_STATIC_CAPS
14617         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
14618         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
14619         * gst/gstpadtemplate.h:
14620           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
14621         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
14622         bindings.
14623
14624 2005-12-18  Wim Taymans  <wim@fluendo.com>
14625
14626         * libs/gst/base/gstadapter.c:
14627         * libs/gst/base/gstadapter.h:
14628         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14629         (gst_base_sink_get_position):
14630         * libs/gst/base/gstbasesink.h:
14631         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14632         (gst_base_src_default_query), (gst_base_src_default_do_seek),
14633         (gst_base_src_do_seek), (gst_base_src_perform_seek),
14634         (gst_base_src_send_event), (gst_base_src_update_length),
14635         (gst_base_src_get_range), (gst_base_src_loop),
14636         (gst_base_src_start):
14637         * libs/gst/base/gstbasesrc.h:
14638         * libs/gst/base/gstbasetransform.h:
14639         * libs/gst/base/gstcollectpads.h:
14640         * libs/gst/base/gstpushsrc.c:
14641         * libs/gst/base/gstpushsrc.h:
14642         * libs/gst/dataprotocol/dataprotocol.c:
14643         * libs/gst/dataprotocol/dataprotocol.h:
14644         * libs/gst/net/gstnetclientclock.h:
14645         * libs/gst/net/gstnettimeprovider.h:
14646         Documentation updates.
14647
14648 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
14649
14650         * docs/manual/basics-helloworld.xml:
14651           Remove superfluous closing bracket in helloworld example.
14652
14653 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
14654
14655         * tools/gst-launch.1.in:
14656           Update gst-launch man page; add a section with useful
14657           environment variables. Fixes #323882.
14658
14659 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
14660
14661         * gst/gst.c:
14662         * gst/gst_private.h:
14663           change some char* into char[]
14664
14665 2005-12-16  Wim Taymans  <wim@fluendo.com>
14666
14667         * gst/gstregistryxml.c: (load_feature):
14668         Cleanups.
14669         Don't use g_object_unref on GstObjects so that we avoid
14670         leaks on unsafe glibs.
14671
14672 2005-12-16  Wim Taymans  <wim@fluendo.com>
14673
14674         * gst/gstbin.c: (gst_bin_recalc_state):
14675         Small doc updates.
14676
14677 2005-12-16  Wim Taymans  <wim@fluendo.com>
14678
14679         * common/check.mak:
14680         Added make forever target for check.
14681
14682 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14683
14684         * gst/gst.c: (init_post):
14685           make the registry cache file HOST_CPU-dependent
14686
14687 2005-12-16  Andy Wingo  <wingo@pobox.com>
14688
14689         * plugins/elements/gstbufferstore.c
14690         (gst_buffer_store_cleared_func): Pay attention to g_list_append
14691         return value.
14692
14693         * tests/check/gst/gstobject.c
14694         (test_fake_object_name_threaded_unique): Pay attention to
14695         g_list_sort return value.
14696
14697 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
14698
14699         * tools/gst-feedback-m.m:
14700           Update for 0.9/0.10 (fixes #323870).
14701
14702 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
14703
14704         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
14705           Fix lcopy for mini objects, the mini object needs to be ref'ed.
14706           
14707         * tests/check/gst/gstminiobject.c: (my_foo_init),
14708         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
14709         (test_value_collection), (gst_mini_object_suite):
14710           Add test to ensure refcounts end up as expected when passing
14711           GstMiniObjects through g_object_get() and g_object_set().
14712
14713 2005-12-14  Julien MOUTTE  <julien@moutte.net>
14714
14715         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14716         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
14717         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
14718         of collectpads. This version removes a lot of races without
14719         touching API/ABI. Yay !
14720
14721 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
14722
14723         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
14724           Don't allow activation of a srcpad in pull_range if it has no
14725           getrange function.
14726           Change some debug statements to be a little clearer
14727
14728         * plugins/elements/gsttypefindelement.c:
14729         (gst_type_find_handle_src_query):
14730           Check that we have a peer before executing queries thereupon.
14731
14732         * tests/examples/metadata/read-metadata.c: (message_loop):
14733           Use gst_bus_pop instead of gst_bus_poll when we just want it to
14734           immediately return us any available message with 0 timeout.
14735
14736 2005-12-12  Michael Smith  <msmith@fluendo.com>
14737
14738         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
14739           Don't unref factories after calling them.
14740         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
14741         * plugins/elements/gsttypefindelement.c:
14742         (gst_type_find_element_chain):
14743           Free lists of factories after using them. Fixing typefinding memory
14744           leaks.
14745
14746 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14747
14748         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14749         (gst_plugin_feature_load):
14750           more meaningful debug output
14751         * configure.ac:
14752         * tests/Makefile.am:
14753         * tests/old/examples/Makefile.am:
14754           make make distcheck happy again
14755
14756 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
14757
14758         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
14759           Catch the special case where we are operating chain-based,
14760           but the downstream peer pad has no chain function. Emit a
14761           custom error message in this case instead of letting the
14762           core generate one implying that this is some sort of core
14763           bug. It's not, it just means that whatever got plugged
14764           into the pipeline downstream when we announced the type
14765           can only operate pull-based, while our source can only
14766           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
14767           Error string has not been marked for translation yet, as
14768           it probably needs some more work first.
14769
14770         (gst_type_find_element_get_best_possibility):
14771           Add helper function to find the best of all available
14772           found possibilities that qualify given the min. threshold.
14773
14774         (gst_type_find_element_handle_event):
14775           Fix the case where we get an EOS while still in TYPEFIND
14776           mode (we want to chose the best of all possible types,
14777           not just the first type that happens to be in our unsorted
14778           list of possible types).
14779
14780         (gst_type_find_element_chain):
14781           Make sure we return GST_FLOW_ERROR when we errored out
14782           in stop_typefinding(); also, don't just find the best of
14783           all found type entries and then use the last examined
14784           type entry, but actually use the best entry.
14785
14786 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
14787
14788         * tests/examples/typefind/typefind.c: (type_found):
14789         * tests/examples/xml/runxml.c: (xml_loaded):
14790           More gcc4 fixes and a mem leak fix.
14791
14792 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14793
14794         * tests/examples/xml/createxml.c: (object_saved):
14795           gcc 4 fixes
14796
14797 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14798
14799         * tests/Makefile.am:
14800           enable the examples even more
14801
14802 2005-12-12  Andy Wingo  <wingo@pobox.com>
14803
14804         * libs/gst/net/gstnettimeprovider.c
14805         (gst_net_time_provider_class_init, gst_net_time_provider_init)
14806         (gst_net_time_provider_set_property)
14807         (gst_net_time_provider_get_property):
14808         API addition: Export "active" as a GObject property.
14809         (gst_net_time_provider_thread): Only respond to time queries if
14810         the time provider is active.
14811
14812         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
14813         NetTimeProvider, preserving binary compat.
14814
14815 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14816
14817         * tests/examples/controller/audio-example.c: (main):
14818         * tests/examples/launch/Makefile.am:
14819           convert comments again
14820
14821 2005-12-12  Wim Taymans  <wim@fluendo.com>
14822
14823         * libs/gst/base/gstpushsrc.c:
14824         Fix typo.
14825
14826 2005-12-12  Wim Taymans  <wim@fluendo.com>
14827
14828         * docs/libs/gstreamer-libs-sections.txt:
14829         Added new symbol to docs.
14830
14831         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14832         (gst_base_src_init), (gst_base_src_set_format),
14833         (gst_base_src_default_query), (gst_base_src_query),
14834         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
14835         (gst_base_src_perform_seek), (gst_base_src_send_event),
14836         (gst_base_src_default_event), (gst_base_src_event_handler),
14837         (gst_base_src_set_property), (gst_base_src_get_property),
14838         (gst_base_src_wait), (gst_base_src_do_sync),
14839         (gst_base_src_update_length), (gst_base_src_get_range),
14840         (gst_base_src_check_get_range), (gst_base_src_loop),
14841         (gst_base_src_default_negotiate), (gst_base_src_start),
14842         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14843         (gst_base_src_change_state):
14844         * libs/gst/base/gstbasesrc.h:
14845         Implement seeking to other formats than _BYTES.
14846         Implement more seeking methods correctly.
14847         Doc updates.
14848         Added query vmethod.
14849         Added do_seek vmethod to make life easier for subclasses
14850         when seeking.
14851         API addition: gst_base_src_set_format()
14852
14853 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14854
14855         * tests/examples/Makefile.am:
14856           added that too
14857
14858 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14859
14860         * configure.ac:
14861         * docs/random/ensonic/media-device-daemon.txt:
14862         * tests/examples/controller/.cvsignore:
14863         * tests/examples/controller/Makefile.am:
14864         * tests/examples/controller/audio-example.c: (main):
14865         * tests/examples/helloworld/.cvsignore:
14866         * tests/examples/helloworld/Makefile.am:
14867         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
14868         * tests/examples/launch/.cvsignore:
14869         * tests/examples/launch/Makefile.am:
14870         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
14871         * tests/examples/metadata/.cvsignore:
14872         * tests/examples/metadata/Makefile.am:
14873         * tests/examples/metadata/read-metadata.c: (message_loop),
14874         (make_pipeline), (print_tag), (main):
14875         * tests/examples/queue/.cvsignore:
14876         * tests/examples/queue/Makefile.am:
14877         * tests/examples/queue/queue.c: (event_loop), (main):
14878         * tests/examples/typefind/.cvsignore:
14879         * tests/examples/typefind/Makefile.am:
14880         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
14881         (main):
14882         * tests/examples/xml/.cvsignore:
14883         * tests/examples/xml/Makefile.am:
14884         * tests/examples/xml/createxml.c: (object_saved), (main):
14885         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
14886         * tests/old/examples/Makefile.am:
14887         * tests/old/examples/TODO:
14888         * tests/old/examples/controller/.cvsignore:
14889         * tests/old/examples/controller/Makefile.am:
14890         * tests/old/examples/controller/audio-example.c:
14891         * tests/old/examples/helloworld/.cvsignore:
14892         * tests/old/examples/helloworld/Makefile.am:
14893         * tests/old/examples/helloworld/helloworld.c:
14894         * tests/old/examples/launch/.cvsignore:
14895         * tests/old/examples/launch/Makefile.am:
14896         * tests/old/examples/launch/mp3parselaunch.c:
14897         * tests/old/examples/launch/mp3play:
14898         * tests/old/examples/manual/Makefile.am:
14899         * tests/old/examples/metadata/Makefile.am:
14900         * tests/old/examples/metadata/read-metadata.c:
14901         * tests/old/examples/queue/.cvsignore:
14902         * tests/old/examples/queue/Makefile.am:
14903         * tests/old/examples/queue/queue.c:
14904         * tests/old/examples/typefind/.cvsignore:
14905         * tests/old/examples/typefind/Makefile.am:
14906         * tests/old/examples/typefind/typefind.c:
14907         * tests/old/examples/xml/.cvsignore:
14908         * tests/old/examples/xml/Makefile.am:
14909         * tests/old/examples/xml/createxml.c:
14910         * tests/old/examples/xml/runxml.c:
14911           applied some simple fixing to some examples
14912           re-enabled the working examples
14913
14914 2005-12-12  Wim Taymans  <wim@fluendo.com>
14915
14916         * gst/gstsegment.c: (gst_segment_init),
14917         (gst_segment_set_last_stop), (gst_segment_set_seek),
14918         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
14919         (gst_segment_to_running_time):
14920         Added more documentation.
14921         Make sure the last_pos value is updated properly.
14922         Make sure to_stream_time and to_running_time don't
14923         operate on wrong values.
14924
14925         * tests/check/gst/gstsegment.c: (GST_START_TEST):
14926         Update check.
14927
14928 2005-12-12  Michael Smith  <msmith@fluendo.com>
14929
14930         * plugins/elements/gsttypefindelement.c: (free_entry),
14931         (gst_type_find_element_chain):
14932           Now that we're not leaking factories, make sure we keep references
14933           to them while we need them.
14934
14935 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14936
14937         * tests/check/gst/struct_i386.h:
14938           ifdef out the XML structs
14939
14940 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14941
14942         * gst/gstvalue.c: (gst_value_transform_double_fraction):
14943           floor is not needed, F is always positive; this obviates the
14944           need for adding -lm when building without libxml
14945
14946 2005-12-12  Wim Taymans  <wim@fluendo.com>
14947
14948         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14949         Take current playback rate into account when reporting
14950         the position.
14951
14952 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14953
14954         * docs/manual/mime-world.fig:
14955           Let's try this again, this time with a file that is
14956           actually in XFig format.
14957
14958 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14959
14960         * docs/manual/mime-world.fig:
14961           Add audioconvert element to diagram so that it
14962           matches the text and the code (fixes #319526).
14963
14964 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14965
14966         * docs/pwg/building-chainfn.xml:
14967         * docs/pwg/building-pads.xml:
14968         * docs/pwg/building-state.xml:
14969         * docs/pwg/other-source.xml:
14970           Update state change stuff for 0.10 (fixes #322969).
14971
14972 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14973
14974         * docs/manual/advanced-dataaccess.xml:
14975         * docs/manual/appendix-checklist.xml:
14976         * docs/manual/appendix-programs.xml:
14977         * docs/manual/basics-pads.xml:
14978         * docs/manual/highlevel-components.xml:
14979         * docs/manual/manual.xml:
14980           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
14981           add converters in front of pipelines; remove curly
14982           brackets for threads stuff, they no longer exist; use
14983           GST_TYPE_FRACTION for framerates; update some pieces of
14984           code to 0.10, but there's plenty more to do.
14985
14986         * docs/manual/appendix-porting.xml:
14987           Expand on asynchroneous state changes; s/0.9/0.10/;
14988           mention disappearance of gst_init_get_popt_table()
14989           (fixes #322916).
14990
14991 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14992
14993         * docs/faq/using.xml:
14994           Spider no longer exists, and neither does gst-launch-ext.
14995           Update examples to use decodebin and playbin and put
14996           converters in front of sinks (fixes #323726).
14997
14998 2005-12-09  Michael Smith  <msmith@fluendo.com>
14999
15000         * plugins/elements/gsttypefindelement.c: (find_peek),
15001         (gst_type_find_element_chain):
15002           Fix leaking element factories in typefinding.
15003           Fix problem where we forgot about a probable type on non-seekable
15004           files, and thus later mis-typefound it.
15005
15006 2005-12-09  Michael Smith  <msmith@fluendo.com>
15007
15008         * common/m4/gst-makecontext.m4:
15009         * common/m4/gst-mcsc.m4:
15010         * configure.ac:
15011         * win32/common/config.h:
15012         * win32/common/config.h.in:
15013           Remove makecontext stuff; not used in 0.10 and causes problems on
15014           HPUX according to bug #322441
15015
15016 2005-12-07  Wim Taymans  <wim@fluendo.com>
15017
15018         * tests/check/Makefile.am:
15019         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
15020         (main):
15021         * tests/check/libs/struct_i386.h:
15022         Added ABI check for libs
15023
15024 2005-12-07  Wim Taymans  <wim@fluendo.com>
15025
15026         * tests/check/Makefile.am:
15027         And add the struct_i386.h to dist.
15028
15029 2005-12-07  Wim Taymans  <wim@fluendo.com>
15030
15031         * tests/check/Makefile.am:
15032         * tests/check/gst/.cvsignore:
15033         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
15034         (main):
15035         * tests/check/gst/struct_i386.h:
15036         Added check for ABI compatibility.
15037
15038 2005-12-07  Wim Taymans  <wim@fluendo.com>
15039
15040         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15041         (gst_fake_src_get_times), (gst_fake_src_create):
15042         Fix broken sync option, fixes #323259
15043
15044 2005-12-07  Wim Taymans  <wim@fluendo.com>
15045
15046         * gst/gstbuffer.c:
15047         Small docs update.
15048
15049         * gst/gstcaps.c: (gst_caps_is_equal):
15050         Don't assert on NULL <--> X. Fixes #323260
15051
15052         * gst/gstminiobject.c: (gst_mini_object_replace):
15053         If we're doing atomic operations, we might just as well use
15054         the proper way to get an atomic pointer.
15055
15056         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15057         Clean up debugging.
15058
15059 2005-12-07  Michael Smith  <msmith@fluendo.com>
15060
15061         * gst/parse/grammar.y:
15062           Remove handling of { } for threads.
15063
15064 2005-12-06  David Schleef  <ds@schleef.org>
15065
15066         * libs/gst/base/gstbasetransform.c: speling fix.
15067
15068 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15069
15070         * docs/libs/tmpl/gstdataprotocol.sgml:
15071         * docs/random/omega/testing/gstobject.c:
15072         * gst/gst.c:
15073         * gst/gstclock.c:
15074         * gst/gstelement.c:
15075         * gst/gstelementfactory.c:
15076         * gst/gsterror.c:
15077         * gst/gstevent.c:
15078         * gst/gstghostpad.c:
15079         * gst/gstinfo.c:
15080         * gst/gstpadtemplate.c:
15081         * gst/gstregistryxml.c:
15082         * gst/gsttaglist.c:
15083         * gst/gsttagsetter.c:
15084         * gst/gsttypefind.c:
15085         * gst/gstvalue.c:
15086         * libs/gst/base/gstbasesrc.c:
15087         * libs/gst/net/gstnetclientclock.c:
15088         * libs/gst/net/gstnettimeprovider.c:
15089         * plugins/elements/gstfakesrc.c:
15090         * plugins/elements/gstfdsrc.c:
15091         * plugins/elements/gstfilesrc.c:
15092         * plugins/elements/gstidentity.c:
15093         * plugins/elements/gstqueue.c:
15094         * plugins/elements/gsttypefindelement.c:
15095         * plugins/indexers/gstfileindex.c:
15096         * plugins/indexers/gstmemindex.c:
15097         * tests/check/gst/gsttag.c:
15098         * tests/old/examples/cutter/cutter.c:
15099         * tests/old/examples/mixer/mixer.c:
15100         * tests/old/examples/xml/runxml.c: (main):
15101         * tests/old/testsuite/caps/normalisation.c:
15102         * tests/old/testsuite/debug/global.c:
15103         * tests/old/testsuite/parse/parse1.c:
15104         * tools/gst-xmlinspect.c:
15105         * win32/common/dirent.c:
15106           expand tabs
15107
15108 === release 0.10.0 ===
15109
15110 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15111
15112         * configure.ac:
15113           releasing 0.10.0, "Maroilles"
15114
15115 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15116
15117         submitted by: Funda Wang <fundawang@linux.net.cn>
15118
15119         * po/LINGUAS:
15120         * po/zh_CN.po:
15121           added Chinese (Traditional) translation
15122
15123 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15124
15125         * docs/gst/gstreamer-sections.txt:
15126         * docs/libs/tmpl/gstdataprotocol.sgml:
15127         * docs/random/thomasvs/TODO:
15128         * gst/gstutils.c:
15129         * gst/gstutils.h:
15130           fix docs
15131
15132 2005-12-05  Andy Wingo  <wingo@pobox.com>
15133
15134         patch by: Wim Taymans <wim@fluendo.com>
15135
15136         * libs/gst/base/gstbasetransform.c
15137         (gst_base_transform_prepare_output_buf)
15138         (gst_base_transform_buffer_alloc):
15139         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
15140         alloc_buffer_and_set_caps.
15141
15142         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
15143         set_caps on the source pad.
15144         (gst_pad_alloc_buffer_and_set_caps): New function, does what
15145         alloc_buffer used to do. Fixes #322874.
15146
15147         * docs/gst/gstreamer-sections.txt: 
15148         * docs/design/part-negotiation.txt: 
15149         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
15150         changes.
15151
15152 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15153
15154         patch by: Sebastien Moutte
15155
15156         * win32/MANIFEST:
15157         * win32/common/config.h.in:
15158         * win32/vs6/libgstcontroller.dsp:
15159           win32 build fixes
15160
15161 2005-12-05  Wim Taymans  <wim@fluendo.com>
15162
15163         * gst/gstcaps.c: (gst_caps_is_equal):
15164         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15165         (gst_fake_src_create):
15166         Back out previous code changes, leave doc updates, file bugs 
15167         instead. 
15168
15169 2005-12-05  Wim Taymans  <wim@fluendo.com>
15170
15171         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15172         (gst_fake_src_get_times), (gst_fake_src_create):
15173         * plugins/elements/gstfakesrc.h:
15174         Fix broken sync code.
15175
15176 2005-12-05  Wim Taymans  <wim@fluendo.com>
15177
15178         * gst/gstcaps.c: (gst_caps_is_equal):
15179         Comparing NULL against !NULL yields different caps, not a
15180         failure.
15181
15182 2005-12-05  Wim Taymans  <wim@fluendo.com>
15183
15184         * gst/gstpipeline.c:
15185         Fix small typo in docs.
15186
15187 2005-12-05  Andy Wingo  <wingo@pobox.com>
15188
15189         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
15190
15191         * gst/gst.c (init_post): remove hard-coded 0.9 location for
15192         registries/plugins with a MAJORMINOR one.
15193         (plugin_desc): Rename library from gstcoreleements to
15194         staticelements. Fixes #323222.
15195
15196 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
15197
15198         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
15199           Change debug category to 'collectpads' from 'collect_pads'
15200           (fixes #323250).
15201
15202 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
15203
15204         patch by: Sebastien Moutte
15205
15206         * libs/gst/controller/gstinterpolation.c:
15207           use convert function for uint64/double
15208         * win32/vs6/libgstcontroller.dsp:
15209           link to GLib
15210
15211 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
15212
15213         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
15214         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
15215         * gst/gstutils.h:
15216         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15217           add tests that seem to show that the guint64/gdouble conversions
15218           are correct.
15219
15220 2005-12-02  Wim Taymans  <wim@fluendo.com>
15221
15222         * gst/gstregistry.c: (gst_registry_add_path):
15223         * gst/gstregistry.h:
15224         * gst/gstregistryxml.c:
15225         Fix docs again.
15226
15227 2005-12-02  Wim Taymans  <wim@fluendo.com>
15228
15229         * gst/gstutils.c: (gst_util_uint64_scale_int64),
15230         (gst_util_uint64_scale_int):
15231         Small cleanup.
15232
15233         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15234         Add debug log line.
15235
15236         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
15237         Add FIXME.
15238
15239 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15240
15241         * win32/MANIFEST:
15242         * win32/common/config.h:
15243         * win32/vs6/gstreamer.dsw:
15244         * win32/vs6/libgstcoreelements.dsp:
15245         * win32/vs6/libgstelements.dsp:
15246           renamed core elements plugin
15247
15248 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15249
15250         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
15251         (get_candidates):
15252           do piece-wise major/minor comparison so 0.9 < 0.10
15253           also allow .exe extensions for tools
15254
15255 2005-12-02  Michael Smith  <msmith@fluendo.com>
15256
15257         * gst/gst.c:
15258           Escape a % to make gtkdoc happier; bug 322958.
15259
15260 === release 0.9.7 ===
15261
15262 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15263
15264         * configure.ac:
15265           releasing 0.9.7, "My Dog Has No Nose"
15266
15267 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15268
15269         * common/gst-xmlinspect.py:
15270         * configure.ac:
15271         * docs/libs/tmpl/gstdataprotocol.sgml:
15272         * docs/random/release:
15273         * po/af.po:
15274         * po/az.po:
15275         * po/bg.po:
15276         * po/ca.po:
15277         * po/cs.po:
15278         * po/de.po:
15279         * po/en_GB.po:
15280         * po/fr.po:
15281         * po/it.po:
15282         * po/nb.po:
15283         * po/nl.po:
15284         * po/ru.po:
15285         * po/sq.po:
15286         * po/sr.po:
15287         * po/sv.po:
15288         * po/tr.po:
15289         * po/uk.po:
15290         * po/vi.po:
15291         * win32/common/config.h:
15292         * win32/common/config.h.in:
15293         * win32/vs6/gst_inspect.dsp:
15294         * win32/vs6/gst_launch.dsp:
15295         * win32/vs6/libgstbase.dsp:
15296         * win32/vs6/libgstelements.dsp:
15297         * win32/vs6/libgstreamer.dsp:
15298         * win32/vs7/GStreamer.vcproj:
15299         * win32/vs7/gst-inspect.vcproj:
15300         * win32/vs7/gst-launch.vcproj:
15301         * win32/vs7/libgstbase.vcproj:
15302           bump GST_MAJORMINOR to 0.10
15303           reset libtool version
15304
15305 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15306
15307         * po/LINGUAS:
15308         * po/bg.po:
15309           Added Bulgarian translation by (Alexander Shopov)
15310
15311 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15312
15313         * tests/check/gst/gstplugin.c:
15314           fix test
15315
15316 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15317
15318         * common/gst-xmlinspect.py:
15319         * common/gtk-doc-plugins.mak:
15320         * configure.ac:
15321         * docs/Makefile.am:
15322         * docs/gst/Makefile.am:
15323         * docs/gst/gstreamer-docs.sgml:
15324         * docs/gst/gstreamer-sections.txt:
15325         * docs/gst/gstreamer.types:
15326         * docs/gst/gstreamer.types.in:
15327         * docs/plugins/Makefile.am:
15328         * docs/plugins/gstreamer-plugins-docs.sgml:
15329         * docs/plugins/gstreamer-plugins-sections.txt:
15330         * docs/plugins/gstreamer-plugins.types:
15331         * docs/plugins/inspect.stamp:
15332         * docs/plugins/inspect/plugin-coreelements.xml:
15333         * docs/plugins/inspect/plugin-coreindexers.xml:
15334         * docs/plugins/scanobj-build.stamp:
15335         * gstreamer.spec.in:
15336         * plugins/elements/Makefile.am:
15337         * plugins/elements/gstelements.c:
15338         * plugins/elements/gstfakesink.c:
15339         * plugins/elements/gstfakesrc.c:
15340         * plugins/elements/gstfilesink.c:
15341         * plugins/elements/gstfilesrc.c:
15342         * plugins/elements/gstqueue.c:
15343         * plugins/indexers/Makefile.am:
15344         * plugins/indexers/gstindexers.c:
15345           document core plugins in a separate document just like all the
15346           others
15347           rename these plugins to something starting with core
15348
15349 2005-12-01  Andy Wingo  <wingo@pobox.com>
15350
15351         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
15352         padding here before, but it missed the commit.
15353
15354 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15355
15356         * libs/gst/controller/gstinterpolation.c:
15357           whitespace prices have crashed, we should feel free to use some now
15358           use gst_guint64_to_gdouble
15359
15360 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15361
15362         * libs/gst/controller/gstcontroller.c:
15363         * libs/gst/controller/gsthelper.c:
15364         * libs/gst/controller/gstinterpolation.c:
15365         * libs/gst/controller/lib.c:
15366           wrap config.h include
15367
15368 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15369
15370         * docs/gst/gstreamer-sections.txt:
15371           update docs
15372
15373 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15374
15375         * plugins/elements/gstelements.c:
15376         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
15377         (gst_fd_sink__class_init), (gst_fd_sink__init),
15378         (gst_fd_sink__chain), (gst_fd_sink__set_property),
15379         (gst_fd_sink__get_property):
15380         * plugins/elements/gstfdsink.h:
15381         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
15382         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
15383         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
15384         (gst_fd_src_unlock), (gst_fd_src_set_property),
15385         (gst_fd_src_get_property), (gst_fd_src_create),
15386         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
15387         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
15388         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
15389         (gst_fd_src_uri_handler_init):
15390         * plugins/elements/gstfdsrc.h:
15391         * plugins/elements/gstqueue.c: (gst_queue_get_type):
15392           more anal cleanup
15393
15394 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15395
15396         * docs/gst/Makefile.am:
15397         * docs/gst/gstreamer.types.in:
15398         * gst/Makefile.am:
15399           fix the docs build
15400
15401 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15402
15403         * configure.ac:
15404         * gst/Makefile.am:
15405         * gst/gst.c:
15406         * gst/gstplugin.h:
15407         * gst/gstregistry.h:
15408         * tests/benchmarks/complexity.c:
15409         * tests/benchmarks/mass-elements.c:
15410         * tests/check/Makefile.am:
15411         * tools/Makefile.am:
15412         * tools/gst-inspect.c:
15413         * tools/gst-xmlinspect.c:
15414           various fixes to make
15415           --disable-nls --disable-registry --disable-loadsave
15416           --disable-parse --disable-gst-debug
15417           work and get the core .so down to 360444 bytes after stripping
15418
15419 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15420
15421         * Makefile.am:
15422         * configure.ac:
15423           descend into tests
15424         * docs/random/thomasvs/TODO:
15425         * tests/Makefile.am:
15426         * tests/README:
15427           add a README
15428
15429 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15430
15431         * win32/GStreamer.vcproj:
15432         * win32/MANIFEST:
15433         * win32/Makefile:
15434         * win32/Makefile.inspect:
15435         * win32/Makefile.launch:
15436         * win32/Makefile.register:
15437         * win32/README.txt:
15438         * win32/gst-inspect.vcproj:
15439         * win32/gst-launch.vcproj:
15440         * win32/gst-register.vcproj:
15441         * win32/gstelements.vcproj:
15442         * win32/gstgetbits.def:
15443         * win32/gstgetbits.vcproj:
15444         * win32/gstreamer-dbg.def:
15445         * win32/gstreamer.def:
15446         * win32/libgstbase.def:
15447         * win32/libgstbase.vcproj:
15448         * win32/link_oldruntime.c:
15449         * win32/mman.c:
15450         * win32/mman.h:
15451         * win32/mman.inl:
15452         * win32/msvc71.sln:
15453           move even more stuff, win32/ is nice and clean now
15454
15455 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15456
15457         * libs/gst/control/.cvsignore:
15458         * win32/MANIFEST:
15459         * win32/config.h:
15460         * win32/dirent.c:
15461         * win32/dirent.h:
15462         * win32/gstbytestream.def:
15463         * win32/gstbytestream.vcproj:
15464         * win32/gstconfig.h:
15465         * win32/gstenumtypes.c:
15466         * win32/gstenumtypes.h:
15467         * win32/gstoptimalscheduler.vcproj:
15468         * win32/gstversion.h:
15469         * win32/gtchar.h:
15470         * win32/testsuite/bins.vcproj:
15471         * win32/testsuite/bytestream.vcproj:
15472         * win32/testsuite/caps.vcproj:
15473         * win32/testsuite/cleanup.vcproj:
15474         * win32/testsuite/clock.vcproj:
15475         * win32/testsuite/debug.vcproj:
15476         * win32/testsuite/dlopen.vcproj:
15477         * win32/testsuite/dynparams.vcproj:
15478         * win32/testsuite/elements.vcproj:
15479         * win32/testsuite/ghostpads.vcproj:
15480         * win32/testsuite/indexers.vcproj:
15481         * win32/testsuite/negotiation.vcproj:
15482         * win32/testsuite/parse.vcproj:
15483         * win32/testsuite/plugin.vcproj:
15484         * win32/testsuite/refcounting.vcproj:
15485         * win32/testsuite/schedulers.vcproj:
15486         * win32/testsuite/states.vcproj:
15487         * win32/testsuite/tags.vcproj:
15488         * win32/testsuite/threads.vcproj:
15489           remove old win32 stuff that isn't maintained and should be
15490           reorganized
15491
15492 2005-11-30  Andy Wingo  <wingo@pobox.com>
15493
15494         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
15495         loading the gst.interfaces python module bork.
15496
15497         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
15498         available since GLib 2.2. Fixes #318031.
15499
15500 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15501
15502         * Makefile.am:
15503         * check/.cvsignore:
15504         * check/Makefile.am:
15505         * check/elements/.cvsignore:
15506         * check/elements/fakesrc.c:
15507         * check/elements/fdsrc.c:
15508         * check/elements/identity.c:
15509         * check/generic/.cvsignore:
15510         * check/generic/states.c:
15511         * check/gst-libs/.cvsignore:
15512         * check/gst-libs/controller.c:
15513         * check/gst-libs/gdp.c:
15514         * check/gst/.cvsignore:
15515         * check/gst/capslist.h:
15516         * check/gst/gst.c:
15517         * check/gst/gstbin.c:
15518         * check/gst/gstbuffer.c:
15519         * check/gst/gstbus.c:
15520         * check/gst/gstcaps.c:
15521         * check/gst/gstelement.c:
15522         * check/gst/gstevent.c:
15523         * check/gst/gstghostpad.c:
15524         * check/gst/gstiterator.c:
15525         * check/gst/gstmessage.c:
15526         * check/gst/gstminiobject.c:
15527         * check/gst/gstobject.c:
15528         * check/gst/gstpad.c:
15529         * check/gst/gstpipeline.c:
15530         * check/gst/gstplugin.c:
15531         * check/gst/gstsegment.c:
15532         * check/gst/gststructure.c:
15533         * check/gst/gstsystemclock.c:
15534         * check/gst/gsttag.c:
15535         * check/gst/gstutils.c:
15536         * check/gst/gstvalue.c:
15537         * check/net/.cvsignore:
15538         * check/net/gstnetclientclock.c:
15539         * check/net/gstnettimeprovider.c:
15540         * check/pipelines/.cvsignore:
15541         * check/pipelines/cleanup.c:
15542         * check/pipelines/simple_launch_lines.c:
15543         * check/pipelines/stress.c:
15544         * check/states/.cvsignore:
15545         * check/states/sinks.c:
15546         * configure.ac:
15547         * examples/Makefile.am:
15548         * examples/appreader/.cvsignore:
15549         * examples/appreader/Makefile.am:
15550         * examples/appreader/appreader.c:
15551         * examples/controller/.cvsignore:
15552         * examples/controller/Makefile.am:
15553         * examples/controller/audio-example.c:
15554         * examples/cutter/.cvsignore:
15555         * examples/cutter/Makefile.am:
15556         * examples/cutter/cutter.c:
15557         * examples/cutter/cutter.h:
15558         * examples/events/Makefile.am:
15559         * examples/events/seek.c:
15560         * examples/helloworld/.cvsignore:
15561         * examples/helloworld/Makefile.am:
15562         * examples/helloworld/helloworld.c:
15563         * examples/helloworld2/.cvsignore:
15564         * examples/helloworld2/Makefile.am:
15565         * examples/helloworld2/helloworld2.c:
15566         * examples/launch/.cvsignore:
15567         * examples/launch/Makefile.am:
15568         * examples/launch/mp3parselaunch.c:
15569         * examples/launch/mp3play:
15570         * examples/manual/.cvsignore:
15571         * examples/manual/Makefile.am:
15572         * examples/manual/extract.pl:
15573         * examples/metadata/Makefile.am:
15574         * examples/metadata/read-metadata.c:
15575         * examples/mixer/.cvsignore:
15576         * examples/mixer/Makefile.am:
15577         * examples/mixer/mixer.c:
15578         * examples/mixer/mixer.h:
15579         * examples/pingpong/.cvsignore:
15580         * examples/pingpong/Makefile.am:
15581         * examples/pingpong/pingpong.c:
15582         * examples/plugins/.cvsignore:
15583         * examples/plugins/Makefile.am:
15584         * examples/plugins/example.c:
15585         * examples/plugins/example.h:
15586         * examples/pwg/.cvsignore:
15587         * examples/pwg/Makefile.am:
15588         * examples/pwg/extract.pl:
15589         * examples/queue/.cvsignore:
15590         * examples/queue/Makefile.am:
15591         * examples/queue/queue.c:
15592         * examples/queue2/.cvsignore:
15593         * examples/queue2/Makefile.am:
15594         * examples/queue2/queue2.c:
15595         * examples/queue3/.cvsignore:
15596         * examples/queue3/Makefile.am:
15597         * examples/queue3/queue3.c:
15598         * examples/queue4/.cvsignore:
15599         * examples/queue4/Makefile.am:
15600         * examples/queue4/queue4.c:
15601         * examples/retag/.cvsignore:
15602         * examples/retag/Makefile.am:
15603         * examples/retag/retag.c:
15604         * examples/retag/transcode.c:
15605         * examples/thread/.cvsignore:
15606         * examples/thread/Makefile.am:
15607         * examples/thread/thread.c:
15608         * examples/typefind/.cvsignore:
15609         * examples/typefind/Makefile.am:
15610         * examples/typefind/typefind.c:
15611         * examples/xml/.cvsignore:
15612         * examples/xml/Makefile.am:
15613         * examples/xml/createxml.c:
15614         * examples/xml/runxml.c:
15615         * tests/Makefile.am:
15616         * tests/check/Makefile.am:
15617         * testsuite/.cvsignore:
15618         * testsuite/Makefile.am:
15619         * testsuite/Rules:
15620         * testsuite/caps/.cvsignore:
15621         * testsuite/caps/Makefile.am:
15622         * testsuite/caps/app_fixate.c:
15623         * testsuite/caps/audioscale.c:
15624         * testsuite/caps/caps.c:
15625         * testsuite/caps/caps.h:
15626         * testsuite/caps/caps_strings:
15627         * testsuite/caps/compatibility.c:
15628         * testsuite/caps/deserialize.c:
15629         * testsuite/caps/enumcaps.c:
15630         * testsuite/caps/eratosthenes.c:
15631         * testsuite/caps/filtercaps.c:
15632         * testsuite/caps/fixed.c:
15633         * testsuite/caps/fraction-convert.c:
15634         * testsuite/caps/fraction-multiply-and-zero.c:
15635         * testsuite/caps/intersect2.c:
15636         * testsuite/caps/intersection.c:
15637         * testsuite/caps/normalisation.c:
15638         * testsuite/caps/random.c:
15639         * testsuite/caps/renegotiate.c:
15640         * testsuite/caps/sets.c:
15641         * testsuite/caps/simplify.c:
15642         * testsuite/caps/string-conversions.c:
15643         * testsuite/caps/structure.c:
15644         * testsuite/caps/subtract.c:
15645         * testsuite/caps/union.c:
15646         * testsuite/debug/.cvsignore:
15647         * testsuite/debug/Makefile.am:
15648         * testsuite/debug/category.c:
15649         * testsuite/debug/commandline.c:
15650         * testsuite/debug/global.c:
15651         * testsuite/debug/output.c:
15652         * testsuite/debug/printf_extension.c:
15653         * testsuite/dlopen/.cvsignore:
15654         * testsuite/dlopen/Makefile.am:
15655         * testsuite/dlopen/dlopen_gst.c:
15656         * testsuite/dlopen/loadgst.c:
15657         * testsuite/elements/.cvsignore:
15658         * testsuite/elements/Makefile.am:
15659         * testsuite/elements/gst-inspect-check.in:
15660         * testsuite/elements/struct_i386.h:
15661         * testsuite/elements/struct_size.c:
15662         * testsuite/indexers/.cvsignore:
15663         * testsuite/indexers/Makefile.am:
15664         * testsuite/indexers/cache1.c:
15665         * testsuite/indexers/indexdump.c:
15666         * testsuite/parse/.cvsignore:
15667         * testsuite/parse/Makefile.am:
15668         * testsuite/parse/parse1.c:
15669         * testsuite/parse/parse2.c:
15670         * testsuite/plugin/.cvsignore:
15671         * testsuite/plugin/Makefile.am:
15672         * testsuite/plugin/README:
15673         * testsuite/plugin/dynamic.c:
15674         * testsuite/plugin/linked.c:
15675         * testsuite/plugin/loading.c:
15676         * testsuite/plugin/registry.c:
15677         * testsuite/plugin/static.c:
15678         * testsuite/plugin/static2.c:
15679         * testsuite/plugin/testplugin.c:
15680         * testsuite/plugin/testplugin2.c:
15681         * testsuite/plugin/testplugin2_s.c:
15682         * testsuite/plugin/testplugin_s.c:
15683         * testsuite/refcounting/.cvsignore:
15684         * testsuite/refcounting/Makefile.am:
15685         * testsuite/refcounting/bin.c:
15686         * testsuite/refcounting/element.c:
15687         * testsuite/refcounting/element_pad.c:
15688         * testsuite/refcounting/mainloop.c:
15689         * testsuite/refcounting/mem.c:
15690         * testsuite/refcounting/mem.h:
15691         * testsuite/refcounting/object.c:
15692         * testsuite/refcounting/pad.c:
15693         * testsuite/refcounting/sched.c:
15694         * testsuite/refcounting/thread.c:
15695         * testsuite/states/.cvsignore:
15696         * testsuite/states/Makefile.am:
15697         * testsuite/states/bin.c:
15698         * testsuite/states/locked.c:
15699         * testsuite/states/parent.c:
15700         * testsuite/threads/.cvsignore:
15701         * testsuite/threads/159566.c:
15702         * testsuite/threads/159852.c:
15703         * testsuite/threads/Makefile.am:
15704         * testsuite/threads/queue.c:
15705         * testsuite/threads/signals.c:
15706         * testsuite/threads/staticrec.c:
15707         * testsuite/threads/thread.c:
15708         * testsuite/threads/threadb.c:
15709         * testsuite/threads/threadc.c:
15710         * testsuite/threads/threadd.c:
15711         * testsuite/threads/threade.c:
15712         * testsuite/threads/threadf.c:
15713         * testsuite/threads/threadg.c:
15714         * testsuite/threads/threadh.c:
15715         * testsuite/threads/threadi.c:
15716           move all of these under tests
15717
15718 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15719
15720         * configure.ac:
15721         * tests/Makefile.am:
15722           fix distcheck
15723
15724 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15725
15726         * docs/gst/gstreamer-sections.txt:
15727         * tests/sched/.cvsignore:
15728         * tests/sched/Makefile.am:
15729         * tests/sched/cases/(fs-fs).xml:
15730         * tests/sched/cases/(fs-i-fs).xml:
15731         * tests/sched/cases/(fs-i-i-fs).xml:
15732         * tests/sched/cases/(fs-i-q[i-fs]).xml:
15733         * tests/sched/dynamic-pipeline.c:
15734         * tests/sched/interrupt1.c:
15735         * tests/sched/interrupt2.c:
15736         * tests/sched/interrupt3.c:
15737         * tests/sched/runtestcases:
15738         * tests/sched/runxml.c:
15739         * tests/sched/sched-stress.c:
15740         * tests/sched/sort.c:
15741         * tests/sched/testcases:
15742         * tests/sched/testcases1.tc:
15743         * tests/seeking/.cvsignore:
15744         * tests/seeking/Makefile.am:
15745         * tests/seeking/seeking1.c:
15746         * tests/threadstate/.cvsignore:
15747         * tests/threadstate/Makefile.am:
15748         * tests/threadstate/test1.c:
15749         * tests/threadstate/test2.c:
15750         * tests/threadstate/threadstate1.c:
15751         * tests/threadstate/threadstate2.c:
15752         * tests/threadstate/threadstate3.c:
15753         * tests/threadstate/threadstate4.c:
15754         * tests/threadstate/threadstate5.c:
15755           remove obsolete tests
15756         * configure.ac:
15757         * tests/bench-complexity.scm:
15758         * tests/bench-mass_elements.scm:
15759         * tests/complexity.c:
15760         * tests/complexity.gnuplot:
15761         * tests/instantiate/.cvsignore:
15762         * tests/instantiate/Makefile.am:
15763         * tests/instantiate/caps.c:
15764         * tests/mass_elements.c:
15765         * tests/network-clock-utils.scm:
15766         * tests/network-clock.scm:
15767         * tests/plot-data:
15768         First pass at cleaning up tests/ dir before moving the rest
15769         Combined with CVS surgery
15770
15771 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15772
15773         * po/POTFILES.in:
15774           queue has moved, update
15775
15776 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15777
15778         * docs/gst/gstreamer-sections.txt:
15779           remove double entries from the docs
15780         * gst/gst_private.h:
15781         * gst/gstinfo.c: (_gst_debug_init):
15782           remove the THREAD debug category
15783         * gst/Makefile.am:
15784         * gst/gstqueue.c:
15785         * gst/gstqueue.h:
15786         * docs/gst/gstreamer.types:
15787         * plugins/elements/gstqueue.c: (gst_queue_get_type),
15788         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
15789           completely move queue and fix up debugging categories
15790
15791 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15792
15793         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
15794           make initialization portable, using LL is not
15795
15796 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15797
15798         * win32/common/gstconfig.h:
15799           add large padding
15800
15801 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15802
15803         * win32/common/libgstreamer.def:
15804           rename symbols; sort base section
15805
15806 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15807
15808         * gst/gstclock.c: (do_linear_regression):
15809           remove crack non-portable handrolled DEBUG macro
15810
15811 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15812
15813         * docs/random/release:
15814           update notes
15815         * win32/common/gstenumtypes.c: (register_gst_object_flags),
15816         (gst_object_flags_get_type), (register_gst_bin_flags),
15817         (gst_bin_flags_get_type), (register_gst_buffer_flag),
15818         (gst_buffer_flag_get_type), (register_gst_bus_flags),
15819         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
15820         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
15821         (gst_caps_flags_get_type), (register_gst_clock_return),
15822         (gst_clock_return_get_type), (register_gst_clock_entry_type),
15823         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
15824         (gst_clock_flags_get_type), (register_gst_state),
15825         (gst_state_get_type), (register_gst_state_change_return),
15826         (gst_state_change_return_get_type), (register_gst_state_change),
15827         (gst_state_change_get_type), (register_gst_element_flags),
15828         (gst_element_flags_get_type), (register_gst_core_error),
15829         (gst_core_error_get_type), (register_gst_library_error),
15830         (gst_library_error_get_type), (register_gst_resource_error),
15831         (gst_resource_error_get_type), (register_gst_stream_error),
15832         (gst_stream_error_get_type), (register_gst_event_type_flags),
15833         (gst_event_type_flags_get_type), (register_gst_event_type),
15834         (gst_event_type_get_type), (register_gst_seek_type),
15835         (gst_seek_type_get_type), (register_gst_seek_flags),
15836         (gst_seek_flags_get_type), (register_gst_format),
15837         (gst_format_get_type), (register_gst_index_certainty),
15838         (gst_index_certainty_get_type), (register_gst_index_entry_type),
15839         (gst_index_entry_type_get_type),
15840         (register_gst_index_lookup_method),
15841         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
15842         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
15843         (gst_index_resolver_method_get_type), (register_gst_index_flags),
15844         (gst_index_flags_get_type), (register_gst_debug_level),
15845         (gst_debug_level_get_type), (register_gst_debug_color_flags),
15846         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
15847         (gst_iterator_result_get_type), (register_gst_iterator_item),
15848         (gst_iterator_item_get_type), (register_gst_message_type),
15849         (gst_message_type_get_type), (register_gst_mini_object_flags),
15850         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
15851         (gst_pad_link_return_get_type), (register_gst_flow_return),
15852         (gst_flow_return_get_type), (register_gst_activate_mode),
15853         (gst_activate_mode_get_type), (register_gst_pad_direction),
15854         (gst_pad_direction_get_type), (register_gst_pad_flags),
15855         (gst_pad_flags_get_type), (register_gst_pad_presence),
15856         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
15857         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
15858         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
15859         (gst_plugin_error_get_type), (register_gst_plugin_flags),
15860         (gst_plugin_flags_get_type), (register_gst_rank),
15861         (gst_rank_get_type), (register_gst_query_type),
15862         (gst_query_type_get_type), (register_gst_tag_merge_mode),
15863         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
15864         (gst_tag_flag_get_type), (register_gst_task_state),
15865         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
15866         (gst_alloc_trace_flags_get_type),
15867         (register_gst_type_find_probability),
15868         (gst_type_find_probability_get_type), (register_gst_uri_type),
15869         (gst_uri_type_get_type), (register_gst_parse_error),
15870         (gst_parse_error_get_type):
15871         * win32/common/gstenumtypes.h:
15872         * win32/common/gstversion.h:
15873           update visual studio generated files
15874
15875 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15876
15877         * win32/vs6/libgstbase.dsp:
15878         * win32/vs6/libgstelements.dsp:
15879           update project files for new locations
15880
15881 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15882
15883         * Makefile.am:
15884           remove some files
15885         * README:
15886           reinstate and update
15887         * DEVEL:
15888         * REQUIREMENTS:
15889           removed
15890         * LICENSE:
15891         * docs/random/LICENSE:
15892           moved to random
15893
15894 2005-11-30  Edward Hervey  <edward@fluendo.com>
15895
15896         * gst/gsttypefind.c: (gst_type_find_register):
15897         * gst/gsttypefind.h:
15898         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
15899         (gst_type_find_factory_dispose):
15900         * gst/gsttypefindfactory.h:
15901         Fix memory leak in GstTypeFindFactory.
15902
15903 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15904
15905         * gst/gst.c:
15906         * plugins/elements/Makefile.am:
15907         * plugins/elements/gstelements.c:
15908         * plugins/elements/gstqueue.c:
15909           move queue from core to the elements plugin
15910
15911 2005-11-29  Andy Wingo  <wingo@pobox.com>
15912
15913         * libs/gst/base/gstbasetransform.h: 
15914         * libs/gst/base/gstbasesrc.h: 
15915         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
15916
15917         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
15918         of pointers by which to pad very extensible base classes (like the
15919         ones in libs/gst/base).
15920
15921 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15922
15923         * docs/gst/gstreamer-docs.sgml:
15924         * docs/gst/gstreamer-sections.txt:
15925         * docs/libs/gstreamer-libs-docs.sgml:
15926         * docs/libs/gstreamer-libs-sections.txt:
15927           moving documentation from core to lib
15928
15929 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15930
15931         * check/Makefile.am:
15932         * configure.ac:
15933         * docs/gst/Makefile.am:
15934         * gst/Makefile.am:
15935         * gst/base/.cvsignore:
15936         * gst/base/Makefile.am:
15937         * gst/base/README:
15938         * gst/base/gstadapter.c:
15939         * gst/base/gstadapter.h:
15940         * gst/base/gstbasesink.c:
15941         * gst/base/gstbasesink.h:
15942         * gst/base/gstbasesrc.c:
15943         * gst/base/gstbasesrc.h:
15944         * gst/base/gstbasetransform.c:
15945         * gst/base/gstbasetransform.h:
15946         * gst/base/gstcollectpads.c:
15947         * gst/base/gstcollectpads.h:
15948         * gst/base/gstpushsrc.c:
15949         * gst/base/gstpushsrc.h:
15950         * gst/base/gsttypefindhelper.c:
15951         * gst/base/gsttypefindhelper.h:
15952         * gst/check/Makefile.am:
15953         * gst/check/gstcheck.c:
15954         * gst/check/gstcheck.h:
15955         * gst/net/Makefile.am:
15956         * gst/net/gstnet.h:
15957         * gst/net/gstnetclientclock.c:
15958         * gst/net/gstnetclientclock.h:
15959         * gst/net/gstnettimepacket.c:
15960         * gst/net/gstnettimepacket.h:
15961         * gst/net/gstnettimeprovider.c:
15962         * gst/net/gstnettimeprovider.h:
15963         * libs/gst/Makefile.am:
15964         * libs/gst/base/Makefile.am:
15965         * libs/gst/base/gstbasetransform.c:
15966         * libs/gst/check/Makefile.am:
15967         * plugins/elements/Makefile.am:
15968         * po/POTFILES.in:
15969           CVS surgery + support to move base, check, and net out of gst
15970           and into libs/gst
15971
15972 2005-11-29  Andy Wingo  <wingo@pobox.com>
15973
15974         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
15975
15976         * gst/gststructure.h (struct _GstStructure): Only one pointer of
15977         padding.
15978
15979         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
15980
15981         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
15982
15983         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
15984
15985         * gst/gstobject.h: (struct _GstObject): Only one pointer of
15986         padding; reduces object size by about 30%. We don't expect
15987         anything else to go into gstobject.
15988
15989         * gst/gstminiobject.h (struct _GstMiniObject)
15990         (struct _GstMiniObjectClass): Only one pointer of padding; the
15991         payload is only a pointer and two ints anyway. For the class there
15992         are only two methods as well.
15993         
15994         * gst/gstelement.h (struct _GstElementClass): Removed
15995         the state_changed signal callback, it is not used.
15996
15997 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15998
15999         * docs/gst/gstreamer.types:
16000           fix includes, though they are a little dinky
16001
16002 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16003
16004         * check/Makefile.am:
16005           look in the right place for elements, a lot more chance of
16006           success
16007         * gst/Makefile.am:
16008           remove indexers and elements subdirs
16009         * plugins/Makefile.am:
16010           make indexers conditional
16011
16012 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16013
16014         * Makefile.am:
16015         * configure.ac:
16016         * plugins/elements/Makefile.am:
16017         * plugins/elements/gstcapsfilter.c:
16018         * plugins/elements/gstfilesink.c:
16019         * plugins/elements/gstfilesrc.c:
16020         * plugins/elements/gstidentity.c:
16021         * plugins/indexers/Makefile.am:
16022           do CVS surgery and related build fixery to move elements
16023           and indexers in a new gstreamer/plugins directory, out of the
16024           gst/ directory
16025
16026 2005-11-29  Andy Wingo  <wingo@pobox.com>
16027
16028         * check/Makefile.am:
16029         * pkgconfig/gstreamer-net-uninstalled.pc.in:
16030         * pkgconfig/gstreamer-net.pc.in:
16031         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
16032         #322257.
16033
16034 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16035
16036         * tools/Makefile.am:
16037         * tools/gst-complete.1.in:
16038         * tools/gst-complete.c:
16039         * tools/gst-compprep.1.in:
16040         * tools/gst-compprep.c:
16041           removing -compprep and -complete
16042
16043 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16044
16045         * gst/gstevent.c: (gst_event_new_new_segment),
16046         (gst_event_parse_new_segment):
16047         * gst/gstevent.h:
16048           fix #320529 - clean up new_segment API and structure.
16049           Let's hope everyone was using the methods, and not the structure.
16050
16051 2005-11-29  Edward Hervey  <edward@fluendo.com>
16052
16053         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16054         (gst_base_sink_event), (gst_base_sink_do_sync),
16055         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
16056         Properly handle non GST_FORMAT_TIME segment
16057         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
16058         Properly handle non GST_FORMAT_TIME segment
16059         * gst/gstsegment.c:
16060         This function is valid if the accumulator is 0 and the format
16061         is different from the requested format.
16062         
16063 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
16064
16065         * docs/gst/gstreamer-sections.txt:
16066         Add gst_query_new_seeking and gst_query_parse_seeking to the
16067         docs.
16068
16069 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
16070
16071         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
16072           Treat a pad alloc with new caps the same as if we were not
16073           negotiated, in order to allow a changing upstream output
16074           to produce a new format of data.
16075
16076 2005-11-29  Edward Hervey  <edward@fluendo.com>
16077
16078         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16079         (gst_base_transform_event), (gst_base_transform_eventfunc):
16080         The event virtual method is now properly implemented, with a default
16081         handler
16082         Sub classes should call the parent_class event method. They should
16083         return FALSE if they had a problem handling the given event, or don't
16084         want GstBaseTransform to send that even downstream
16085         * gst/elements/gstidentity.c: (gst_identity_class_init),
16086         (gst_identity_init), (gst_identity_event),
16087         (gst_identity_transform_ip), (gst_identity_set_property),
16088         (gst_identity_get_property):
16089         * gst/elements/gstidentity.h:
16090         Added the single-segment boolean property.
16091         If set to TRUE, it will output a single segment of data, starting from
16092         0, will eat up all incoming newsegment, and modify the timestamp of the
16093         buffers accordingly
16094
16095 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
16096
16097         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
16098           Don't ref NULL target pad (#322751). Improve docs.
16099
16100 2005-11-29  Michael Smith  <msmith@fluendo.com>
16101
16102         * gst/gstregistryxml.c: (load_plugin):
16103           Don't crash if we failed to load a feature from a plugin. 
16104
16105 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16106
16107         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
16108         (GST_START_TEST):
16109           use more check API and less GLib API
16110
16111 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16112
16113         * Makefile.am:
16114           don't run checks if we don't have check
16115         * common/check.mak:
16116           remove the registry when running make torture
16117         * docs/gst/gstreamer-sections.txt:
16118           remove second multiply
16119         * gst/gstqueue.c: (gst_queue_loop):
16120           fix a compile warning when disabling debug
16121
16122 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
16123
16124         * gst/gstinfo.h:
16125         Hey! Let's print the pad name if the pointer != NULL instead
16126         of when it == NULL :-)
16127
16128 2005-11-28  Wim Taymans  <wim@fluendo.com>
16129
16130         * check/gst/gstutils.c: (GST_START_TEST):
16131         Updated check, add some scaling accuracy checking code.
16132
16133         * gst/gstutils.c: (gst_util_div128_64),
16134         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
16135         (gst_util_uint64_scale_int):
16136         Fix 6 times faster division code. Optimize for common 
16137         1/1 and less common X/1 cases.
16138
16139 2005-11-28  Wim Taymans  <wim@fluendo.com>
16140
16141         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16142         More checks.
16143
16144         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
16145         (do_linear_regression), (gst_clock_add_observation):
16146         Cleanups.
16147         Release lock when the clock cannot be slaved.
16148         Catch the case where the regression returned an invalid denominator.
16149
16150         * gst/gstutils.c: (gst_util_div128_64_iterate),
16151         (gst_util_div128_64), (gst_util_uint64_scale_int64),
16152         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
16153         Add protentially more performant non-iterative 128/64 divide function
16154         that unfortunatly does not work yet.
16155         Shortcut the trivial 0/X = 0 case.
16156         Remove the warnings on overflow.
16157
16158 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16159
16160         * gst/gstplugin.c: (gst_plugin_register_func):
16161           everything causing a plugin not to load should be at least a WARNING
16162
16163 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
16164
16165         * docs/random/ensonic/dparams.txt:
16166           some TODOs for the next dev cycle
16167         * libs/gst/controller/gstcontroller.c:
16168         (gst_controlled_property_set_interpolation_mode),
16169         (gst_controlled_property_new):
16170         * libs/gst/controller/gstcontroller.h:
16171           use base type to assign acccessor functions
16172
16173 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
16174
16175         * check/Makefile.am:
16176         Oops, that should have been top_srcdir
16177
16178 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
16179
16180         * check/Makefile.am:
16181         * check/elements/fdsrc.c: (GST_START_TEST):
16182         Use a cmdline define to specify the location of a file to use for
16183         testing, to avoid breaking distcheck.
16184
16185 2005-11-28  Andy Wingo  <wingo@pobox.com>
16186
16187         * gst/gstpad.c (fixate_value): Use array functions for arrays.
16188
16189 2005-11-28  Edward Hervey  <edward@fluendo.com>
16190
16191         * tools/gst-launch.c: (main):
16192         Clarify the output strings, makes it easier to translate.
16193         Fixes #322626
16194
16195 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16196
16197         * gst/Makefile.am:
16198           don't try and build net if we don't even have <sys/socket.h>
16199
16200 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
16201
16202         * check/Makefile.am:
16203         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
16204         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
16205           Add tests for fdsrc seekability
16206
16207         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
16208         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
16209         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
16210         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
16211         * gst/elements/gstfdsrc.h:
16212           fdsrc should not be a 'live' source.
16213           Implement seeking on seekable fd's.
16214
16215         * gst/gstquery.c: (gst_query_new_seeking),
16216         (gst_query_parse_seeking):
16217         * gst/gstquery.h:
16218           Implement SEEKING query functions: 
16219             *_new_seeking and *_parse_seeking
16220
16221 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
16222
16223         * gst/gstelement.c: (gst_element_dispose):
16224           don't loop forever
16225
16226         * gst/gstiterator.c:
16227         * gst/gststructure.c:
16228           doc fixes
16229
16230         * libs/gst/controller/gstcontroller.c:
16231         (gst_controlled_property_set_interpolation_mode):
16232         * libs/gst/controller/gstcontroller.h:
16233         * libs/gst/controller/gstinterpolation.c:
16234         (interpolate_none_get_enum_value_array):
16235           support controlling enums
16236
16237 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
16238
16239         * gst/gstvalue.c:
16240           Improve documentation for gst_value_union().
16241
16242         * gst/gstvalue.h:
16243           Change return value for union, intersect and subtract functions
16244           from gint to gboolean.
16245
16246 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
16247
16248         * gst/gstvalue.c: (gst_value_serialize_any_list),
16249         (gst_value_transform_any_list_string),
16250         (gst_value_deserialize_list), (gst_value_deserialize_array),
16251         (gst_value_set_int_range), (gst_value_deserialize_int_range),
16252         (gst_value_set_double_range), (gst_value_deserialize_double_range),
16253         (gst_value_set_fraction_range_full),
16254         (gst_value_deserialize_fraction_range),
16255         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
16256         (gst_value_deserialize_boolean),
16257         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
16258         (gst_value_serialize_float), (gst_value_deserialize_float),
16259         (gst_string_wrap), (gst_value_deserialize_string),
16260         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
16261         (gst_value_union_int_range_int_range),
16262         (gst_value_intersect_int_range_int_range),
16263         (gst_value_intersect_double_range_double_range),
16264         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
16265         (gst_value_subtract_int_range_int_range),
16266         (gst_value_subtract_double_double_range),
16267         (gst_value_subtract_double_range_double_range),
16268         (gst_value_deserialize_fraction):
16269         * gst/gstvalue.h:
16270           Use gint, gdouble and gchar in our API instead of int, double and
16271           char (and make usage in gstvalue.c more consistent).
16272
16273 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16274
16275         * check/Makefile.am:
16276         * libs/gst/controller/Makefile.am:
16277         * libs/gst/dataprotocol/Makefile.am:
16278           fix up Makefile.am and remove GST_ENABLE_NEW
16279
16280 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16281
16282         * configure.ac:
16283         * gst/Makefile.am:
16284         * gst/base/Makefile.am:
16285         * gst/check/Makefile.am:
16286         * gst/elements/Makefile.am:
16287         * gst/net/Makefile.am:
16288           update LDFLAGS use some more
16289
16290 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16291
16292         * common/m4/gst-doc.m4:
16293           Fixes #312589
16294
16295 2005-11-26  Edward Hervey  <edward@fluendo.com>
16296
16297         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
16298         This shouldn't issue a g_warning since it returns NULL if it
16299         couldn't find the plugin, and all functions using this behave
16300         properly on a NULL return. Switching to a GST_WARNING.
16301
16302 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
16303
16304         * gst/gstbin.c: (gst_bin_handle_message_func):
16305         Don't leak clock messages.
16306
16307 2005-11-25  Wim Taymans  <wim@fluendo.com>
16308
16309         * gst/gstutils.c: (gst_util_uint64_scale_int64),
16310         (gst_util_uint64_scale_int):
16311         Optimisations, remove unneeded vars.
16312
16313 2005-11-25  Wim Taymans  <wim@fluendo.com>
16314
16315         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16316         Added more checks for the high precision uint64 cases.
16317
16318         * gst/gstutils.c: (gst_util_uint64_scale_int64),
16319         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
16320         Implement high precision (guint64 * guint64) / guint64.
16321
16322 2005-11-24  Wim Taymans  <wim@fluendo.com>
16323
16324         * gst/base/gstbasesrc.c: (gst_base_src_query):
16325         Fix wrong percentage query.
16326
16327         * gst/gstutils.c: (gst_util_uint64_scale),
16328         (gst_util_uint64_scale_int):
16329         Add some more common cases that can be handled 
16330         efficiently to _scale.
16331
16332 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16333
16334         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
16335         (gst_mini_object_suite):
16336           don't use check calls from threads; check probably isn't
16337           threadsafe and using a lock to make it threadsafe would
16338           defeat the purpose of this check
16339         * gst/check/gstcheck.c:
16340         * gst/check/gstcheck.h:
16341           use GST_DEBUG some more
16342
16343 2005-11-24  Wim Taymans  <wim@fluendo.com>
16344
16345         * gst/gstutils.c: (gst_util_uint64_scale),
16346         (gst_util_uint64_scale_int):
16347         Chain trivial case to _scale_int.
16348
16349 2005-11-24  Wim Taymans  <wim@fluendo.com>
16350
16351         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16352         Added test for scaling.
16353
16354         * gst/gstclock.h:
16355         Small doc fix.
16356
16357         * gst/gstutils.c: (gst_util_uint64_scale_int):
16358         Implemented high precision scaling code.
16359
16360 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
16361
16362         * gst/gstinfo.h:
16363           do not crash on pad==NULL
16364
16365 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16366
16367         Patch by: Stefan Kost
16368
16369         * common/gtk-doc.mak:
16370         * docs/gst/Makefile.am:
16371         * docs/libs/Makefile.am:
16372           Fix distcheck issues for the libraries docs build
16373           Closes #319599.
16374
16375 2005-11-24  Michael Smith <msmith@fluendo.com>
16376
16377         * docs/manual/basics-helloworld.xml:
16378           Fix bug #315027: memory leak in example code in docs.
16379
16380 2005-11-24  Michael Smith <msmith@fluendo.com>
16381
16382         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16383           Unlock the PREROLL_LOCK in a failure case.
16384
16385 2005-11-24  Wim Taymans  <wim@fluendo.com>
16386
16387         * docs/gst/gstreamer-sections.txt:
16388         * gst/base/gstadapter.h:
16389         * gst/base/gstbasesink.h:
16390         * gst/base/gstbasesrc.h:
16391         * gst/base/gstbasetransform.h:
16392         * gst/base/gstpushsrc.h:
16393         * gst/elements/gstfakesink.h:
16394         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
16395         * gst/elements/gstfakesrc.h:
16396         * gst/elements/gstfilesink.h:
16397         * gst/elements/gstfilesrc.h:
16398         * gst/gst.c:
16399         * gst/gstbin.c:
16400         * gst/gstbuffer.c: (_gst_buffer_copy):
16401         * gst/gstbus.h:
16402         * gst/gstcaps.c:
16403         * gst/gstchildproxy.c:
16404         * gst/gstclock.c:
16405         * gst/gstelement.c:
16406         * gst/gstelementfactory.c:
16407         * gst/gstelementfactory.h:
16408         * gst/gstevent.c:
16409         * gst/gstghostpad.h:
16410         * gst/gstindex.h:
16411         * gst/gstinterface.h:
16412         * gst/gstminiobject.c:
16413         * gst/gstminiobject.h:
16414         * gst/gstpad.c:
16415         * gst/gstpad.h:
16416         * gst/gstpadtemplate.h:
16417         * gst/gstpipeline.h:
16418         * gst/gstpluginfeature.h:
16419         * gst/gstquery.h:
16420         * gst/gstqueue.h:
16421         * gst/gsttaglist.c:
16422         * gst/gsttaglist.h:
16423         * gst/gsttagsetter.c:
16424         * gst/gsttagsetter.h:
16425         * gst/gsttrace.c:
16426         * gst/gsttrace.h:
16427         * gst/gsttypefind.h:
16428         * gst/gsturi.h:
16429         * gst/gstvalue.c:
16430         * gst/net/gstnetclientclock.c:
16431         * gst/net/gstnetclientclock.h:
16432         * gst/net/gstnettimepacket.c:
16433         * gst/net/gstnettimeprovider.c:
16434         * gst/net/gstnettimeprovider.h:
16435         Doc fixes.
16436
16437 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16438
16439         * configure.ac: back to HEAD
16440
16441 === release 0.9.6 ===
16442
16443 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
16444
16445         * configure.ac:
16446           releasing 0.9.6, "Always On Time"
16447
16448 2005-11-23  Wim Taymans  <wim@fluendo.com>
16449
16450         * docs/gst/gstreamer-sections.txt:
16451         * gst/glib-compat.c:
16452         * gst/gsttagsetter.c:
16453         * gst/gstvalue.c:
16454         * gst/net/gstnetclientclock.c:
16455         * gst/net/gstnettimepacket.h:
16456         Doc updates.
16457
16458 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16459
16460         * docs/faq/using.xml:
16461         * docs/libs/tmpl/gstcontrol.sgml:
16462         * docs/manual/advanced-dparams.xml:
16463         * docs/manual/appendix-checklist.xml:
16464         * docs/manual/basics-elements.xml:
16465         * docs/pwg/other-source.xml:
16466         * docs/random/moving-plugins:
16467         * gst/gstpad.c:
16468         * tools/gst-launch.1.in:
16469           remove mentions of sinesrc
16470
16471 2005-11-23  Michael Smith <msmith@fluendo.com>
16472
16473         * docs/gst/gstreamer-sections.txt:
16474           Update for new API and API changes.
16475         * gst/gstobject.h:
16476           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
16477         * gst/gstvalue.c:
16478           Documentation typo fix.
16479         * gst/net/gstnettimepacket.c:
16480           Documentation fixes for arguments.
16481
16482 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
16483
16484         * gst/gststructure.c: (gst_structure_get_fraction),
16485         (gst_structure_parse_value),
16486         (gst_structure_fixate_field_nearest_fraction):
16487         * gst/gststructure.h:
16488         * gst/gstutils.c: (gst_util_uint64_scale_int):
16489         * gst/gstutils.h:
16490         * scripts/update-funcnames:
16491         API Changes. 
16492         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
16493         Make gst_structure_fixate_field_nearest_fraction take a numerator
16494         and denominator argument instead of a GValue
16495         add gst_structure_get_fraction helper function.
16496
16497 2005-11-23  Wim Taymans  <wim@fluendo.com>
16498
16499         * docs/design/part-TODO.txt:
16500         Update TODO.
16501
16502         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
16503         * gst/net/gstnetclientclock.h:
16504         Use parent fields for timeout and window_size.
16505
16506 2005-11-23  Andy Wingo  <wingo@pobox.com>
16507
16508         * check/net/gstnetclientclock.c (test_functioning): Adjust to
16509         rate_num/rate_denom change.
16510
16511         * gst/net/gstnetclientclock.c
16512         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
16513         OBJECT_LOCK. Don't call add_observation with the lock.
16514
16515         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
16516         fraction.
16517         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
16518         rate fraction.
16519         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
16520         deal with rate as a fraction whose numerator and denominator are
16521         GstClockTime values.
16522         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
16523         master; the other fields are protected by the SLAVE_LOCK.
16524         (do_linear_regression): Note that this must be called with the
16525         SLAVE_LOCK.
16526         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
16527         OBJECT_LOCK. Call set_calibration instead of touching the
16528         variables directly.
16529         (gst_clock_set_property, gst_clock_get_property): Protect
16530         master/slave parameters with the SLAVE_LOCK.
16531
16532         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
16533         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
16534         note that all of the instance variables that add_observation and
16535         the set_master functions use are protected by that lock and not
16536         the OBJECT_LOCK.
16537         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
16538
16539         * gst/gstclock.c (gst_clock_add_observation): No longer requires
16540         the caller to take the object lock.
16541
16542 2005-11-23  Wim Taymans  <wim@fluendo.com>
16543
16544         * gst/gsterror.c: (_gst_core_errors_init):
16545         * gst/gsterror.h:
16546         Add error for clock stuff.
16547
16548         * gst/gstpipeline.c: (gst_pipeline_change_state),
16549         (gst_pipeline_set_clock):
16550         Post clock error when clock cannot be used in a pipeline.
16551
16552 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
16553
16554         * docs/gst/gstreamer-sections.txt:
16555           make two symbols from gstinfo private for the docs
16556         * gst/base/gstcollectpads.h:
16557         * gst/gstutils.c:
16558           fix doc typos, update docs
16559
16560 2005-11-22  Wim Taymans  <wim@fluendo.com>
16561
16562         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16563         (gst_base_sink_wait), (gst_base_sink_do_sync),
16564         (gst_base_sink_handle_event):
16565         * gst/base/gstbasesink.h:
16566         No need to store the clock, the parent element class already
16567         has it.
16568
16569         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
16570         Updates for clock_set returning a gboolean
16571
16572         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
16573         (gst_clock_id_wait_async), (gst_clock_class_init),
16574         (gst_clock_init), (gst_clock_finalize),
16575         (gst_clock_get_internal_time), (gst_clock_get_time),
16576         (gst_clock_slave_callback), (gst_clock_set_master),
16577         (gst_clock_get_master), (do_linear_regression),
16578         (gst_clock_add_observation), (gst_clock_set_property),
16579         (gst_clock_get_property):
16580         * gst/gstclock.h:
16581         Implement master/slave. When setting a clock as a slave, a
16582         periodic timeout is scheduled to sample master and slave times.
16583         Then the slave clock is recalibrated to match offset and rate
16584         of the master clock.
16585         Update logging a bit.
16586         Add flag so that a clock can state that is cannot be slaved to
16587         another clock.
16588
16589         * gst/gstelement.c: (gst_element_set_clock):
16590         * gst/gstelement.h:
16591         The set clock returns a gboolean for when an element cannot
16592         deal with the selected clock in the pipeline. 
16593
16594         * gst/gstpipeline.c: (gst_pipeline_change_state),
16595         (gst_pipeline_set_clock):
16596         * gst/gstpipeline.h:
16597         Handle the case where the selected clock cannot be set on
16598         the pipeline.
16599
16600         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
16601         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
16602         (gst_net_client_clock_set_property),
16603         (gst_net_client_clock_get_property),
16604         (gst_net_client_clock_observe_times):
16605         * gst/net/gstnetclientclock.h:
16606         Use regression code in GstClock parent, remove duplicated
16607         functionality.
16608
16609 2005-11-22  Michael Smith <msmith@fluendo.com>
16610
16611         * gst/gstutils.c: (gst_util_clock_time_scale):
16612         * gst/gstutils.h:
16613         * docs/gst/gstreamer-sections.txt:
16614           Rename method to have extra underscore.
16615
16616 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16617
16618         * gst/elements/Makefile.am:
16619         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
16620         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
16621         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
16622         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
16623         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
16624         * gst/elements/gstfakesrc.h:
16625         * gst/gstqueue.c: (queue_leaky_get_type):
16626           correctly fix GEnumValues so that nick is the short lowercase
16627           dashed tag
16628         * tools/gst-inspect.c: (print_element_properties_info):
16629           also show the nick, since it's useful to use from parse_launch
16630           syntax
16631           Fixes #322139
16632
16633 2005-11-22  Michael Smith <msmith@fluendo.com>
16634
16635         * gst/gstutils.c: (gst_util_clocktime_scale):
16636         * gst/gstutils.h:
16637         * docs/gst/gstreamer-sections.txt:
16638           Add util method for scaling a clocktime by a fraction. Useful 
16639           implementation is left as an exercise for the reader.
16640
16641 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16642
16643         * gst/gstvalue.c: (gst_value_collect_fraction_range):
16644         If needed, allocate storage in the destination value during
16645         collection.
16646
16647 2005-11-22  Edward Hervey  <edward@fluendo.com>
16648
16649         * docs/gst/gstreamer-sections.txt:
16650         * gst/Makefile.am:
16651         * gst/gst.h:
16652         * gst/gsturitype.c:
16653         * gst/gsturitype.h:
16654         * gst/gstutils.c: (gst_util_set_object_arg):
16655         * tools/gst-compprep.c: (main):
16656         * tools/gst-inspect.c: (print_element_properties_info):
16657         Removed GstURI, closes bug #321061
16658
16659 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16660
16661         * check/gst/gststructure.c: (GST_START_TEST):
16662         * gst/gststructure.c: (gst_structure_parse_value):
16663           Oops, broke automatic string type parsing.
16664           Add a test to catch it in future.
16665
16666 2005-11-22  Andy Wingo  <wingo@pobox.com>
16667
16668         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
16669         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
16670         Actually rename the function implementations. Grr.
16671
16672 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16673
16674         * check/gst/capslist.h:
16675           Comment test cases
16676         * check/gst/gststructure.c: (GST_START_TEST),
16677         (gst_structure_suite):
16678           Test automatic value type detection in gst_structure_from_string.
16679         * gst/gststructure.c: (gst_structure_parse_value):
16680           Add fraction as a type we try and guess automatically in
16681           caps/structure strings.
16682
16683 2005-11-22  Andy Wingo  <wingo@pobox.com>
16684
16685         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
16686
16687         * gst/gsttagsetter.h:
16688         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
16689         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
16690         (gst_tag_setter_add_tag_valist)
16691         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
16692         _add_values, _add_valist, and _add_valist_values. Since this is an
16693         interface the function suffixes should be more explicit so
16694         language binding don't end up with element.add_valist ->
16695         gst_tag_setter_add_valist, for example. Fixes #322069.
16696
16697 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16698
16699         * check/gst/gstcaps.c: (GST_START_TEST):
16700           Extend caps string tests to check that a caps to string
16701           conversion is reversible and produces the same caps.
16702
16703         * gst/gststructure.c: (gst_structure_value_get_generic_type):
16704           Output "fraction" as the generic type fraction range, so caps
16705           serialisation and deserialisation works.
16706         * check/gst/capslist.h:
16707         * gst/gstvalue.c: (gst_value_deserialize_fraction):
16708           Support 'MIN' and 'MAX' for deserialising fractions.
16709
16710 2005-11-22  Andy Wingo  <wingo@pobox.com>
16711
16712         * gst/gstevent.h (gst_event_new_new_segment)
16713         (gst_event_parse_new_segment, gst_event_new_buffer_size)
16714         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
16715         Renamed from *_newsegment, *_buffersize, *_notarget.
16716
16717         * scripts/update-funcnames: New script, performs the changes
16718         listed above.
16719
16720 2005-11-22  Wim Taymans  <wim@fluendo.com>
16721
16722         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16723         Make sure the GstFlowReturn is returned.
16724
16725         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
16726         (gst_bus_add_signal_watch):
16727         * gst/gstbus.h:
16728         add gst_bus_add_signal_watch_full.
16729
16730         * gst/gstplugin.c: (gst_plugin_load_file):
16731         Small style cleanup.
16732
16733 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16734
16735         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
16736           Block the fakesrc srcpad when we send an event, to avoid
16737           contention on the stream_lock causing random test failures.
16738
16739 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16740
16741         * check/gst/gstvalue.c: (GST_START_TEST):
16742         * gst/gstvalue.c: (gst_value_fraction_subtract):
16743           Fix subtraction.
16744
16745 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
16746
16747         * gst/gst.h:
16748           include "gstchildproxy.h"
16749         * gst/gstchildproxy.h:
16750         * libs/gst/controller/gstcontroller.h:
16751           use G_GNUC_NULL_TERMINATED
16752
16753 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16754
16755         * check/gst/capslist.h:
16756         * check/gst/gstcaps.c: (GST_START_TEST):
16757         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16758         * gst/gststructure.c: (gst_structure_parse_range),
16759         (gst_structure_fixate_field_nearest_fraction):
16760         * gst/gststructure.h:
16761         * gst/gstvalue.c: (gst_value_init_fraction_range),
16762         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
16763         (gst_value_collect_fraction_range),
16764         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
16765         (gst_value_set_fraction_range_full),
16766         (gst_value_get_fraction_range_min),
16767         (gst_value_get_fraction_range_max),
16768         (gst_value_serialize_fraction_range),
16769         (gst_value_transform_fraction_range_string),
16770         (gst_value_compare_fraction_range),
16771         (gst_value_deserialize_fraction_range),
16772         (gst_value_intersect_fraction_fraction_range),
16773         (gst_value_intersect_fraction_range_fraction_range),
16774         (gst_value_subtract_fraction_fraction_range),
16775         (gst_value_subtract_fraction_range_fraction),
16776         (gst_value_subtract_fraction_range_fraction_range),
16777         (gst_value_collect_fraction), (gst_value_fraction_multiply),
16778         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
16779         (gst_value_transform_string_fraction), (_gst_value_initialize):
16780         * gst/gstvalue.h:
16781           Implement fraction ranges and extend GstFraction to support
16782           arithmetic subtraction, as well as deserialization from integer
16783           strings such as "100"
16784           Add a testsuite as for int and double range set operations
16785
16786 2005-11-21  Andy Wingo  <wingo@pobox.com>
16787
16788         * gst/gsttaglist.h: 
16789         * gst/gstcaps.h: 
16790         * gst/gststructure.h: Add glib-compat.h.
16791
16792 2005-11-21  Wim Taymans  <wim@fluendo.com>
16793
16794         * gst/gstbin.c: (gst_bin_change_state_func):
16795         Fix for #321595
16796
16797 2005-11-21  Wim Taymans  <wim@fluendo.com>
16798
16799         * gst/gstsegment.h:
16800         And add a nice define too.
16801
16802 2005-11-21  Wim Taymans  <wim@fluendo.com>
16803
16804         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
16805         (gst_segment_new), (gst_segment_free), (gst_segment_init),
16806         (gst_segment_set_duration), (gst_segment_set_last_stop),
16807         (gst_segment_set_seek), (gst_segment_set_newsegment),
16808         (gst_segment_to_stream_time), (gst_segment_to_running_time),
16809         (gst_segment_clip):
16810         * gst/gstsegment.h:
16811         Make binding friendly.
16812
16813 2005-11-21  Andy Wingo  <wingo@pobox.com>
16814
16815         * gst/gsttagsetter.h: 
16816         * gst/gsttaglist.h: 
16817         * gst/gststructure.h: 
16818         * gst/gstcaps.h: 
16819         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
16820         #319940.
16821
16822         * gst/gsterror.c (_gst_core_errors_init):
16823         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
16824         category.
16825
16826         * gst/Makefile.am (gst_headers): Add glib-compat.h.
16827         (noinst_HEADERS): noinst the -private.
16828
16829 2005-11-21  Michael Smith <msmith@fluendo.com>
16830
16831         * gst/gstplugin.h:
16832         * gst/gstregistry.h:
16833           Remove unimplemented declarations for which we can see no sensible
16834           use.
16835
16836 2005-11-21  Andy Wingo  <wingo@pobox.com>
16837
16838         * gst/gst.h: Include glib-compat.h.
16839
16840         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
16841
16842         * gst/glib-compat.c: Include the public and the private header.
16843
16844         * gst/glib-compat-private.h: Copied here from glib-compat.h.
16845
16846         * gst/gstvalue.c: 
16847         * gst/gstpad.c: 
16848         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
16849
16850         * check/gst/gstevent.c (create_custom_events): Check that
16851         FLUSH_STOP is serialized.
16852
16853         * check/elements/identity.c (event_func): 
16854         * check/elements/fakesrc.c (event_func): No stream lock, the core
16855         takes it.
16856
16857         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
16858         stream lock taking, yay.
16859
16860         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
16861         ensure that core takes the stream lock.
16862
16863         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
16864         lock name change.
16865
16866         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
16867         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
16868         it already. For the flush start we do take it though so we get the
16869         right preroll state change messages.
16870
16871         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
16872         the stream lock here, the core does it for us.
16873
16874         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
16875         GST_STREAM_GET_LOCK.
16876         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
16877         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
16878         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
16879         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
16880         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
16881         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
16882
16883         * gst/gstpad.c: Update for stream lock name change.
16884
16885         * gst/base/gstbasesink.c: Update for preroll lock name change.
16886
16887 2005-11-21  Wim Taymans  <wim@fluendo.com>
16888
16889         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
16890         (gst_clock_get_master):
16891         * gst/gstclock.h:
16892         * gst/gstsystemclock.c: (gst_system_clock_init):
16893         Convert Clock flags to object flags.
16894         Added methods to manage master/slave clocks.
16895
16896 2005-11-21  Wim Taymans  <wim@fluendo.com>
16897
16898         * check/gst/gstsegment.c: (GST_START_TEST):
16899         * docs/design/part-TODO.txt:
16900         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16901         (gst_base_sink_event), (gst_base_sink_do_sync),
16902         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
16903         (gst_base_sink_query), (gst_base_sink_change_state):
16904         * gst/base/gstbasesink.h:
16905         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
16906         (gst_base_src_default_newsegment),
16907         (gst_base_src_configure_segment), (gst_base_src_do_seek),
16908         (gst_base_src_get_range), (gst_base_src_loop),
16909         (gst_base_src_change_state):
16910         * gst/base/gstbasesrc.h:
16911         * gst/base/gstbasetransform.c:
16912         (gst_base_transform_prepare_output_buf),
16913         (gst_base_transform_event), (gst_base_transform_change_state):
16914         * gst/base/gstbasetransform.h:
16915         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
16916         (gst_collect_pads_event):
16917         * gst/base/gstcollectpads.h:
16918         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
16919         (gst_fake_src_create):
16920         * gst/elements/gstfakesrc.h:
16921         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
16922         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
16923         (gst_segment_set_last_stop), (gst_segment_set_seek),
16924         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
16925         (gst_segment_to_running_time), (gst_segment_clip):
16926         * gst/gstsegment.h:
16927         More segment updates, replace code in plugins with segment
16928         helper functions.
16929
16930 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
16931
16932         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
16933         Don't ignore sscanf results
16934
16935 2005-11-21  Andy Wingo  <wingo@pobox.com>
16936
16937         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
16938
16939         * *.h:
16940         * *.c: Ran scripts/update-macros. Oh yes.
16941
16942         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
16943         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
16944         GST_GET_LOCK, etc.
16945
16946         * scripts/update-macros: New script. Run it on your files to
16947         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
16948         well.
16949
16950 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
16951
16952         * docs/gst/Makefile.am:
16953         * docs/gst/gstreamer-docs.sgml:
16954         * docs/gst/gstreamer-sections.txt:
16955         * docs/gst/gstreamer.types:
16956         * gst/gstinfo.h:
16957           more docs fixes, add new api to the docs
16958
16959 2005-11-21  Andy Wingo  <wingo@pobox.com>
16960
16961         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
16962         state_broadcast call.
16963
16964         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
16965
16966 2005-11-21  Julien MOUTTE  <julien@moutte.net>
16967
16968         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
16969         function calls for arrays.
16970
16971 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
16972
16973         * docs/random/ensonic/media-device-daemon.txt:
16974           wild idea, can this be done?
16975         * docs/gst/gstreamer-sections.txt:
16976         * gst/gsterror.h:
16977         * gst/gstfilter.c:
16978         * gst/gstfilter.h:
16979         * gst/gstplugin.h:
16980         * gst/gstpluginfeature.c:
16981         * gst/gsttrace.c:
16982         * gst/gstvalue.c:
16983         * gst/gstvalue.h:
16984           doc fixes and additions
16985
16986 2005-11-21  Andy Wingo  <wingo@pobox.com>
16987
16988         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
16989         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
16990         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
16991         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
16992         private to the basesrc implementation.
16993
16994         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
16995         behalf of event function if necessary. It should no longer be
16996         necessary to take the stream lock in pad's event functions. Fixes
16997         #320299.
16998
16999 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
17000         * docs/gst/gstreamer-sections.txt:
17001         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
17002         (gst_structure_fixate_field_nearest_double),
17003         (gst_structure_fixate_field_boolean):
17004         * gst/gststructure.h:
17005         * win32/common/libgstreamer.def:
17006         * win32/gstreamer.def:
17007
17008         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
17009         (#322027)
17010
17011 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
17012
17013         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
17014         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
17015         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
17016         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
17017         (gst_fdsrc_uri_handler_init):
17018         * gst/elements/gstfdsrc.h:
17019           Port fd:// URI handler from 0.8 to fdsrc
17020
17021 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
17022
17023         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
17024         (gst_value_serialize_fourcc):
17025         * gst/gstvalue.h:
17026           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
17027           consistent with our other format defines (#320324).
17028
17029 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
17030
17031         * gst/gstvalue.c: (gst_value_is_fixed):
17032           Revert previous commit. Value lists are by definition
17033           not fixed, as they are a list of possible values.
17034
17035 2005-11-21  Andy Wingo  <wingo@pobox.com>
17036
17037         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
17038         during the stable series if we need it. Fixes #319178.
17039
17040         * gst/gstevent.c (gst_event_new_filler): Removed.
17041
17042         * check/gst/gstevent.c: Update comment about filler events.
17043
17044 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
17045
17046         * gst/gstvalue.c: (gst_value_is_fixed):
17047           Should handle both value arrays and value lists.
17048
17049 2005-11-21  Andy Wingo  <wingo@pobox.com>
17050
17051         patch by: Alessandro Dessina <alessandro nnva org>
17052
17053         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
17054         functions to access arrays. Fixes #321962.
17055
17056 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
17057
17058         * docs/gst/gstreamer.types:
17059           gst_collectpads_get_type => gst_collect_pads_get_type.
17060           
17061         * gst/base/gstbasetransform.c:
17062           Remove unused SIGNAL_HANDOFF enum.
17063
17064 2005-11-21  Andy Wingo  <wingo@pobox.com>
17065
17066         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
17067         the event type (upstream, downstream, serialized). Renamed
17068         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
17069         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
17070         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
17071
17072         * gst/gstevent.c: Update for new CUSTOM event names.
17073
17074         * check/gst/gstevent.c: Update check for new CUSTOM event names.
17075
17076         * gst/gstevent.h:
17077         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
17078         bug #319392.
17079
17080 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
17081
17082         * docs/gst/gstreamer-sections.txt:
17083         * win32/common/libgstbase.def:
17084         * win32/libgstbase.def:
17085         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
17086         (gst_collect_pads_class_init), (gst_collect_pads_init),
17087         (gst_collect_pads_finalize), (gst_collect_pads_new),
17088         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
17089         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
17090         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
17091         (gst_collect_pads_start), (gst_collect_pads_stop),
17092         (gst_collect_pads_peek), (gst_collect_pads_pop),
17093         (gst_collect_pads_available), (gst_collect_pads_read),
17094         (gst_collect_pads_flush), (gst_collect_pads_event),
17095         (gst_collect_pads_chain):
17096         * gst/base/gstcollectpads.h:
17097           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
17098           unimplemented functions as unimplemented. Add padding to
17099           GstCollectData. (#320766, #320423)
17100
17101 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
17102
17103         * gst/gstmessage.c:
17104           Improve docs for DURATION message (usage of duration parameter)
17105           (#320113)
17106
17107 2005-11-20  Wim Taymans  <wim@fluendo.com>
17108
17109         * check/Makefile.am:
17110         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
17111         (main):
17112         * gst/Makefile.am:
17113         * gst/gst.h:
17114         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
17115         (gst_segment_set_seek), (gst_segment_set_newsegment),
17116         (gst_segment_to_stream_time), (gst_segment_to_running_time),
17117         (gst_segment_clip):
17118         * gst/gstsegment.h:
17119         Added segment helper structure and methods. Not fully implemented
17120         yet.
17121         Added segment check.
17122
17123 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
17124
17125         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17126           Add a deserialisation test for fractions
17127         * examples/metadata/read-metadata.c: (message_loop),
17128         (make_pipeline), (main):
17129           Fix up metadata reading sample.
17130         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17131           Debug format fix
17132         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
17133           Don't try and fixate empty caps
17134         * gst/gst_private.h:
17135           Wrap in G_BEGIN_DECLS/G_END_DECLS
17136         * gst/gstvalue.c: (gst_value_collect_fraction),
17137         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
17138         (gst_value_transform_string_fraction),
17139         (gst_value_compare_fraction):
17140           Add some extra guards to ensure that we don't end up 
17141           with an invalid denominator of 0 in a gstfraction and
17142           that fractions always get reduced.
17143
17144 2005-11-20  Wim Taymans  <wim@fluendo.com>
17145
17146         * docs/gst/gstreamer-sections.txt:
17147         * gst/gstbuffer.h:
17148         * gst/gstelement.c:
17149         * gst/gstformat.c:
17150         * gst/gstformat.h:
17151         * gst/gstindex.h:
17152         * gst/gstquery.c:
17153         * gst/gstquery.h:
17154         * gst/gstvalue.c:
17155         Doc fixes.
17156
17157 2005-11-20  Wim Taymans  <wim@fluendo.com>
17158
17159         * docs/design/part-TODO.txt:
17160         * gst/gstcaps.h:
17161         Make a proper enum of the flag.
17162
17163 2005-11-19  Wim Taymans  <wim@fluendo.com>
17164
17165         * docs/design/part-TODO.txt:
17166         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
17167         (gst_format_to_quark), (gst_format_register):
17168         * gst/gstformat.h:
17169         * gst/gstquery.c: (_gst_query_initialize),
17170         (gst_query_type_get_name), (gst_query_type_to_quark),
17171         (gst_query_type_register):
17172         * gst/gstquery.h:
17173         Add type to quark and type to string conversions.
17174
17175 2005-11-19  Andy Wingo  <wingo@pobox.com>
17176
17177         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
17178         #320097.
17179
17180 2005-11-19  Wim Taymans  <wim@fluendo.com>
17181
17182         * docs/design/part-TODO.txt:
17183         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
17184         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
17185         (gst_bin_handle_message_func):
17186         * gst/gstbin.h:
17187         Make message handling overridable.
17188
17189 2005-11-19  Andy Wingo  <wingo@pobox.com>
17190
17191         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
17192
17193         * gst/gstclock.h:
17194         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
17195         be a GstClockTime.
17196         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
17197         is a GstClockTime. Fixes #321710.
17198
17199         * gst/gstclock.h (GstClock): Remove offset property. Add
17200         internal_calibration and external_calibration. Fix padding. Pad
17201         also by GstClockTime so we don't run into problems.
17202
17203         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
17204         (gst_clock_get_rate_offset): Remove.
17205         (gst_clock_set_time_adjust): Remove. Fixes #321712.
17206
17207         * gst/gstutils.h:
17208         * gst/gstutils.c (g_static_rec_cond_wait)
17209         (g_static_rec_cond_timed_wait): Removed, no longer needed.
17210
17211         * gst/gstbin.c: Remove terrible continue_state prototype.
17212
17213         * gst/gstelement.h (gst_element_continue_state): Make public.
17214
17215         * gst/gstelement.h:
17216         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
17217         by continue_state. Fixes #319389.
17218
17219         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
17220         Really fixes #168438. However I don't see anywhere where the
17221         filter function is called... stupid GStreamer...
17222         
17223         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
17224         don't have a dispose function, so it won't get called when the
17225         object is unreffed, but oh well!
17226
17227         * gst/gstindex.c (gst_index_set_filter_full): New API function,
17228         allows a destroy function to be set so user_data can be freed.
17229         Fixes #168438.
17230         (gst_index_set_filter): Call gst_index_set_filter_full.
17231
17232         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
17233
17234         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
17235         string should produce an error, given the lack of a way to
17236         represent NULL strings. Fixes #165650.
17237         
17238         * gst/gstvalue.h: 
17239         * gst/gstvalue.c (gst_value_array_append_value) 
17240         (gst_value_array_prepend_value, gst_value_array_get_size) 
17241         (gst_value_array_get_value): New API, copied from
17242         gst_value_list_*, only operates on arrays.
17243         (gst_value_list_append_value, gst_value_list_prepend_value) 
17244         (gst_value_list_concat, gst_value_list_get_size) 
17245         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
17246
17247         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
17248         init_list, because it works on both.
17249         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
17250         (gst_value_copy_list_or_array): Renamed from copy_list.
17251         (gst_value_free_list_or_array): Renamed from free_list.
17252         (gst_value_collect_list_or_array): Renamed from collect_list.
17253         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
17254         (gst_value_list_or_array_peek_pointer): Renamed from
17255         list_peek_pointer.
17256         (_gst_value_array_value_table, _gst_value_list_value_table):
17257         Update value table functions.
17258         (gst_value_compare_list_or_array): Renamed from compare_list.
17259
17260         * gsttaglist.h: Whoops, foreach function returns void. Also fix
17261         some constness.
17262
17263         * gst/gsttaglist.c:
17264         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
17265         GstTagList*. Fixes #143472.
17266
17267         * gst/gststructure.h: Clarify what the foreach/map functions can
17268         or can't do to their arguments.
17269
17270 2005-11-18  Wim Taymans  <wim@fluendo.com>
17271
17272         * gst/gstclock.c: (gst_clock_set_calibration),
17273         (gst_clock_get_calibration):
17274         Doc and API fixes.
17275         Calibration can be set with internal time equal to current
17276         internal time too.
17277
17278 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17279
17280         * gst/gsterror.c:
17281         * gst/gsterror.h:
17282           document
17283
17284 2005-11-18  Andy Wingo  <wingo@pobox.com>
17285
17286         * configure.ac: 
17287         * pkgconfig/gstreamer-net.pc.in:
17288         * pkgconfig/gstreamer-net-uninstalled.pc.in:
17289         * pkgconfig/Makefile.am: Add net pkgconfig files.
17290
17291 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
17292
17293         * gst/gstcaps.c:
17294         * gst/gstghostpad.c:
17295         * gst/gsttrace.c:
17296         * gst/gstvalue.c:
17297         * gst/gstvalue.h:
17298           docs fixes
17299
17300 2005-11-18  Andy Wingo  <wingo@pobox.com>
17301
17302         * gst/net/gstnetclientclock.c: Turn off debugging.
17303
17304         * check/net/gstnetclientclock.c (test_functioning): Assert that the
17305         times connverge somewhat. Can't make a real test.
17306
17307         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
17308         integer arithmetic. Return the minimum of the domain, which can be
17309         set as "internal" for gst_clock_set_calibration.
17310         (gst_net_client_clock_observe_times): Call _set_calibration.
17311         (gst_net_client_clock_new): Call _set_calibration instead of
17312         rate_offset.
17313
17314         * check/net/gstnetclientclock.c (test_functioning): Use the right
17315         adjustment api.
17316
17317         * gst/gstclock.h:
17318         * gst/gstclock.c (gst_clock_get_calibration) 
17319         (gst_clock_set_calibration): New functions, obsolete the ones I
17320         added yesterday. Doh. Precision issues mean we have to extrapolate
17321         from a point in the more recent past than 1970.
17322         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
17323         obsolete.
17324         (gst_clock_adjust_unlocked): Use the right calibration data.
17325
17326 2005-11-18  Edward Hervey  <edward@fluendo.com>
17327
17328         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
17329         Also reset the ->current_* values in READY->PAUSED
17330
17331 2005-11-18  Andy Wingo  <wingo@pobox.com>
17332
17333         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
17334         Whoops, check the right fd. Also add some debugging.
17335         (gst_net_client_clock_observe_times): Adjust for int64 offset.
17336         (do_linear_regression): Add a crapload of debugging. Subtract off
17337         the minimum values from the input series to discard unneeded bits.
17338         Use only int arithmetic. There is still double arithmetic when
17339         calculating the intercept that needs fixing. Return boolean to
17340         indicate success; FALSE would mean the domain or range is too
17341         great. Still needs fixes.
17342
17343 2005-11-18  Wim Taymans  <wim@fluendo.com>
17344
17345         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
17346         For the current position in stream time, we need to subtract
17347         accumulated time.
17348         
17349         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
17350         Release lock before calling the callback function of async
17351         entries.
17352
17353 2005-11-18  Andy Wingo  <wingo@pobox.com>
17354
17355         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
17356         Port goes all the way to MAXUINT16.
17357
17358         * gst/net/gstnettimeprovider.c: Make the port range the same as
17359         for the kernel: 0 assigns, otherwise ports are less than
17360         MAXUINT16.
17361
17362         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
17363         port change.
17364
17365         * check/net/gstnetclientclock.c (test_functioning): Add the start
17366         of another test. 
17367
17368 2005-11-18  Wim Taymans  <wim@fluendo.com>
17369
17370         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17371         (gst_bin_remove_func), (bin_bus_handler):
17372         * gst/gstbin.h:
17373         Removing a clock provider from a bin, triggers a clock lost message
17374         so that a new clock will be selected.
17375         Adding a clock to a bin triggers a clock provider message.
17376         Make sure we reselect a clock when we received a clock lost message.
17377         Keep a reference to the element that provided the clock.
17378
17379 2005-11-18  Andy Wingo  <wingo@pobox.com>
17380
17381         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
17382         the clock initially so it produces values around the base time.
17383         (gst_net_client_clock_class_init): Typo fix.
17384         (gst_net_client_clock_thread): Add note on when the socket gets
17385         closed.
17386
17387 2005-11-17  Wim Taymans  <wim@fluendo.com>
17388
17389         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
17390         Free remote and local time arrays.
17391
17392 2005-11-17  Wim Taymans  <wim@fluendo.com>
17393
17394         * gst/net/gstnetclientclock.c: (do_linear_regression),
17395         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
17396         Fix compilation, uninitialized vars and a forgotten continue.
17397
17398 2005-11-17  Andy Wingo  <wingo@pobox.com>
17399
17400         * check/Makefile.am (check_PROGRAMS): 
17401         * check/net/gstnetclientclock.c: Add a most minimal test for the
17402         net client clock. More to come later.
17403
17404         * gst/net/gstnet.h: 
17405         * gst/net/Makefile.am: Add netclientclock.
17406
17407         * gst/net/gstnetclientclock.h:
17408         * gst/net/gstnetclientclock.c: New files, implement an untested
17409         GstClock that takes its time from a network time provider.
17410         Implements the algorithm in network-clock.scm.
17411
17412         * tests/network-clock.scm (*window-size*): Rename from
17413         *queue-length*.
17414         * tests/network-clock.scm (network-time): 
17415         * tests/network-clock-utils.scm (q-push): Update callers.
17416
17417 2005-11-17  Wim Taymans  <wim@fluendo.com>
17418
17419         * gst/gstbin.c: (gst_bin_provide_clock_func),
17420         (gst_bin_sort_iterator_new):
17421         And unref the child too..
17422
17423 2005-11-17  Wim Taymans  <wim@fluendo.com>
17424
17425         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17426         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
17427         Refactor the sort iterator so it can be used while holding the
17428         LOCK too.
17429         Make clock selection select a clock closest to the source.
17430
17431 2005-11-17  Michael Smith <msmith@fluendo.com>
17432
17433         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
17434         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
17435         * gst/gstclock.h:
17436           Anonymous structs are a gcc (and some other compilers) extension, so
17437           don't use them. Since this is only for ABI-compatibility, and our
17438           API/ABI freeze is over in a few days, this whole thing will only
17439           last a few days, so don't bother trying to think up a meaningful
17440           name for the struct.
17441
17442 2005-11-17  Andy Wingo  <wingo@pobox.com>
17443
17444         * gst/gstclock.h (GstClock): Add rate and offset properties,
17445         preserving ABI stability. Add rate/offset accessors. Will file bug
17446         for the freeze break.
17447
17448         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
17449         and offset, trying to keep precision and avoiding
17450         underflow/overflow.
17451         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
17452         functions. Make gst_clock_set_time_adjust obsolete.
17453         (gst_clock_set_time_adjust): Note that this function is obsolete.
17454         Will file bug soon.
17455
17456         * gst/base/gstbasetransform.h: Make the ABI-stability hack
17457         greppable by using GST_PADDING-1+1.
17458
17459 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
17460
17461         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17462
17463         * gst/gstmessage.c: (gst_message_parse_clock_lost):
17464           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
17465
17466         * gst/gstpadtemplate.h:
17467         * gst/gstpluginfeature.h:
17468           Don't use c++ style comments in headers (#321638).
17469
17470 2005-11-16  Andy Wingo  <wingo@pobox.com>
17471
17472         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
17473         buffer.
17474
17475         * check/net/gstnettimeprovider.c: Check to see that the time
17476         provider actually provides times. Works, yo!
17477
17478 2005-11-16  Wim Taymans  <wim@fluendo.com>
17479
17480         * check/Makefile.am:
17481         Enable more tests.
17482
17483         * check/elements/fakesrc.c: (GST_START_TEST):
17484         Set element to NULL before disposing it.
17485
17486 2005-11-16  Andy Wingo  <wingo@pobox.com>
17487
17488         * gst/net/Makefile.am:
17489         * gst/net/gstnet.h:
17490         * gst/net/gstnettimeprovider.c: 
17491         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
17492         provider, include it from gstnet.h, and add it to the build.
17493
17494         * gst/net/gstnettimepacket.h: 
17495         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
17496         sending and receiving.
17497
17498 2005-11-16  Wim Taymans  <wim@fluendo.com>
17499
17500         * check/Makefile.am:
17501         Enable valgrind check.
17502
17503         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
17504         (gst_fake_src_alloc_buffer):
17505         Fix memleak.
17506
17507 2005-11-16  Wim Taymans  <wim@fluendo.com>
17508
17509         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
17510         Call parent finalize too.
17511
17512 2005-11-16  Wim Taymans  <wim@fluendo.com>
17513
17514         * check/Makefile.am:
17515         Enable valgrind check that should work fine now.
17516
17517         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17518         * gst/gstqueue.c: (gst_queue_init):
17519         Fix memleaks in pad allocation.
17520
17521 2005-11-16  Andy Wingo  <wingo@pobox.com>
17522
17523         * gst/net/Makefile.am:
17524         * gst/net/gstnet.h: New part of core to hold network elements and
17525         objects. Put in core because it exposes API that applications want
17526         to use. The library is named libgstnet-tempname right now because
17527         of the existing libgstnet in gst-plugins-base. Solution is
17528         probably to rename the one in plugins-base; will file a bug for
17529         the freeze break.
17530
17531         * gst/net/gstnettimeprovider.c: 
17532         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
17533         get_time call over the network.
17534
17535         * configure.ac: 
17536         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
17537
17538         * check/Makefile.am:
17539         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
17540         get additions shortly.
17541
17542 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17543
17544         * gst/gstpad.c: (gst_pad_new_from_static_template):
17545         * gst/gstpad.h:
17546           add gst_pad_new_from_static_template functions
17547         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
17548         (gst_check_setup_sink_pad):
17549         * gst/elements/gsttee.c: (gst_tee_init):
17550           and use them
17551
17552 2005-11-16  Wim Taymans  <wim@fluendo.com>
17553
17554         * gst/gstpad.c: (gst_pad_pause_task):
17555         Removed warning, it's not really an error either.
17556
17557 2005-11-16  Wim Taymans  <wim@fluendo.com>
17558
17559         * gst/base/gstbasetransform.c:
17560         (gst_base_transform_prepare_output_buf),
17561         (gst_base_transform_event):
17562         Check if the caps are NULL, this can happen if the element
17563         is shutting down and the pad caps are set to NULL.
17564
17565 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17566
17567         * gst/elements/gsttee.c: (gst_tee_init):
17568           fix pad template leak in tee
17569
17570 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17571
17572         * gst/glib-compat.c: (g_value_dup_gst_object):
17573         * gst/glib-compat.h:
17574         * gst/gstpad.c: (gst_pad_set_property):
17575           use gst_object_ref when setting the pad template; this will
17576           trigger the pad template leaks on GLib 2.6 and the slaves
17577
17578 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17579
17580         * gst/glib-compat.c: (gst_flags_get_first_value):
17581         * gst/glib-compat.h:
17582         * gst/gstregistryxml.c:
17583           remove functions copied from GLib 2.6
17584
17585 2005-11-16  Michael Smith <msmith@fluendo.com>
17586
17587         * gst/Makefile.am:
17588           Don't link against VALGRIND_LIBS. That was always the wrong thing to
17589           do, but only breaks with newer valgrind versions. We're not a
17590           valgrind tool, we have no link-time dependencies on libcoregrind.
17591
17592 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17593
17594         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
17595           some debug changes
17596         * gst/gstmessage.h:
17597           typo fixes
17598
17599 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17600
17601         * gst/base/gstbasesrc.c: (gst_base_src_init):
17602         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17603         * gst/gstqueue.c: (gst_queue_init):
17604         * gst/gstregistryxml.c: (load_feature):
17605           Revert all these unrefs, they don't even pass make check !
17606
17607 2005-11-15  Johan Dahlin  <johan@gnome.org>
17608
17609         * gst/base/gstbasesrc.c: (gst_base_src_init):
17610         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17611         * gst/gstqueue.c: (gst_queue_init): 
17612         Free pad templates, fixes a couple of leaks.
17613
17614 2005-11-15  Daniel Fischer  <dan at f3c dot com>
17615
17616         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17617
17618         * gst/gstpad.c: (gst_pad_get_property):
17619           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
17620           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
17621           (#321452)
17622
17623 2005-11-15  Wim Taymans  <wim@fluendo.com>
17624
17625         * gst/gstevent.c:
17626         Small doc update.
17627
17628 2005-11-15  Andy Wingo  <wingo@pobox.com>
17629
17630         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
17631
17632         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
17633         using GST_CLOCK_TIME_NONE to disable base time management.
17634         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
17635         time if it was NONE before.
17636         (gst_pipeline_change_state): Only munge the base time if
17637         stream_time != GST_CLOCK_TIME_NONE.
17638
17639         * check/gst/gstpipeline.c (test_base_time): Punt around the
17640         problem of the probe not being called, because that's not the
17641         issue I'm looking at. Add a check that setting stream_time to NONE
17642         disables base time management.
17643         
17644 2005-11-15  Wim Taymans  <wim@fluendo.com>
17645
17646         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
17647         segment_stop == -1 at startup.
17648
17649         * gst/base/gstbasetransform.c: (gst_base_transform_event),
17650         (gst_base_transform_change_state):
17651         Init segment values at start.
17652
17653 2005-11-15  Wim Taymans  <wim@fluendo.com>
17654
17655         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17656         0 segment values are 0 in any format.
17657
17658         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17659         * gst/base/gstbasetransform.h:
17660         Parse newsegment correctly in basetransform
17661
17662         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
17663         Sync to clock using updated segment values.
17664
17665 2005-11-15  Andy Wingo  <wingo@pobox.com>
17666
17667         * check/gst/gstpipeline.c (test_base_time): Add check that the
17668         base time and stream time are reset correctly.
17669
17670 2005-11-15  Wim Taymans  <wim@fluendo.com>
17671
17672         * docs/design/part-TODO.txt:
17673         Some more TODO items.
17674
17675 2005-11-15  Andy Wingo  <wingo@pobox.com>
17676
17677         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
17678         error if the user selected "no clock" as the clocking method.
17679
17680         * check/gst/gstpipeline.c (test_base_time): New test for buffer
17681         timestamps with live capture.
17682
17683         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
17684         is 0 but we are a live source, timestamp the buffers using the
17685         element's clock.
17686
17687 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
17688
17689         * docs/gst/gstreamer-sections.txt:
17690         * gst/gsterror.c:
17691         * gst/gstghostpad.c:
17692         * gst/gstobject.h:
17693         * gst/gstxml.c:
17694           more section docs
17695
17696 2005-11-14  Wim Taymans  <wim@fluendo.com>
17697
17698         * common/gst.supp:
17699           add suppressions from Wim's Debian machine
17700
17701 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
17702
17703         * common/gst.supp:
17704           add suppressions from Andy's AMD64 Ubuntu machine
17705
17706 2005-11-14  Andy Wingo  <wingo@pobox.com>
17707
17708         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
17709         STATE_LOCK not necessary. Fixes #311489.
17710
17711         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
17712         #305291.
17713
17714         * gst/gstindex.c (gst_index_add_object): Note in the docs that
17715         this function is not implemented.
17716
17717 2005-11-14  Julien MOUTTE  <julien@moutte.net>
17718
17719         * gst/base/gstbasetransform.c:
17720         (gst_base_transform_prepare_output_buf):
17721         Ref the source pad caps while we need them.
17722         Fixes (#321386)
17723
17724 2005-11-11  Wim Taymans  <wim@fluendo.com>
17725
17726         * docs/gst/gstreamer-sections.txt:
17727         Added some docs for GstCollectData.
17728
17729         * gst/base/gstadapter.c:
17730         Some small code example fix.
17731
17732         * gst/base/gstcollectpads.c:
17733         * gst/base/gstcollectpads.h:
17734         Document some more.
17735
17736 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17737
17738         * configure.ac: back to HEAD
17739
17740 === release 0.9.5 ===
17741
17742 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
17743
17744         * configure.ac:
17745           releasing 0.9.5, "Bike Lunch Day"
17746
17747 2005-11-11  Wim Taymans  <wim@fluendo.com>
17748
17749         * gst/gstbuffer.c: (_gst_buffer_copy):
17750         Copy more flags.
17751
17752         * gst/gstcaps.c: (gst_caps_is_equal):
17753         Fix some docs.
17754         Make _is_equal fast in the trivial cases.
17755
17756         * gst/gstminiobject.c:
17757         * gst/gstminiobject.h:
17758         More docs. Spifify .h file.
17759
17760         * gst/gstutils.c:
17761         Small doc update.
17762
17763 2005-11-11  Wim Taymans  <wim@fluendo.com>
17764
17765         * gst/base/gstbasetransform.c:
17766         (gst_base_transform_prepare_output_buf),
17767         (gst_base_transform_handle_buffer):
17768         Small cleanups.
17769         If we're processing a buffer and need to allocate an output
17770         buffer, we cannot accept a format change. If we did get a 
17771         format change, we have to alloc a buffer ourselves of the 
17772         right size.
17773
17774 2005-11-11  Wim Taymans  <wim@fluendo.com>
17775
17776         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
17777         While checking the flag for reentrancy in the gstcaps function
17778         is nice to detect recursive invocations, it also makes it 
17779         impossible to call getcaps from multiple threads, which must be
17780         possible. So, checking for recursive calls has to go.
17781
17782 2005-11-11  Michael Smith <msmith@fluendo.com>
17783
17784         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17785           Don't sync on buffers that fall partially outside our current
17786           segment. Prevents an assertion failure/abort playing some files.
17787
17788 2005-11-10  Andy Wingo  <wingo@pobox.com>
17789
17790         * check/gst/gstbin.c (test_message_state_changed_children): Style
17791         fix..
17792
17793         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
17794         gst_bus_poll with the signal watch. Ensures that poll and a signal
17795         watch see the same messages.
17796
17797         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
17798         a poll and a watch at the same time get the same messages.
17799
17800 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17801
17802         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
17803         * gst/gstcaps.c: (gst_caps_intersect):
17804           Don't call gst_caps_do_simplify - it doesn't respect order of caps
17805           and it's not needed.
17806
17807 2005-11-10  Wim Taymans  <wim@fluendo.com>
17808
17809         * docs/design/part-TODO.txt:
17810         Updated todo.
17811
17812 2005-11-10  Wim Taymans  <wim@fluendo.com>
17813
17814         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17815         * gst/base/gstbasesrc.c: (gst_base_src_wait),
17816         (gst_base_src_do_sync), (gst_base_src_get_range):
17817         Implement clock sync in base class.
17818
17819 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17820
17821         patch by: Tim-Philipp Müller <tim at centricular dot net>
17822
17823         * gst/gststructure.c: (gst_structure_parse_field),
17824         (gst_structure_from_string):
17825           Forward-port a 0.8 patch to handle escaped spaces in structure string,
17826           so that gst_parse_launch() can deal with spaces in filtered link
17827           caps (fixes #164479)
17828         * check/gst/capslist.h:
17829         * check/gst/gststructure.c: (GST_START_TEST):
17830           add unit tests for this change
17831
17832 2005-11-10  Wim Taymans  <wim@fluendo.com>
17833
17834         * docs/gst/gstreamer-sections.txt:
17835         * gst/gstelement.c:
17836         * gst/gstelement.h:
17837         Fix docs, move some STATE macros to private.
17838
17839 2005-11-10  Wim Taymans  <wim@fluendo.com>
17840
17841         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
17842         Added check for bug #317341
17843
17844         * gst/gstbuffer.c:
17845         * gst/gstbuffer.h:
17846         Some more spiffifying.
17847
17848         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
17849         Call peer linkfunction if we are a source pad. Totally fixes
17850         #317341
17851
17852         * gst/gstpad.c:
17853         Update docs, source pads should call the peer linkfunction
17854         so they can atomically perform the pad link.
17855
17856 2005-11-09  Wim Taymans  <wim@fluendo.com>
17857
17858         * gst/gstbuffer.c:
17859         * gst/gstbuffer.h:
17860         Uber-spiffy-spiffify some more.
17861
17862 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
17863
17864         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
17865         * gst/elements/gstfilesink.c: (gst_file_sink_init):
17866         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17867         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
17868         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
17869         * gst/gstpad.c: (gst_pad_init):
17870           Use GST_DEBUG_FUNCPTR() more extensively.
17871
17872 2005-11-09  Wim Taymans  <wim@fluendo.com>
17873
17874         * gst/gstobject.c: (gst_object_class_init):
17875         * gst/gstobject.h:
17876         Documentation fixes.
17877
17878 2005-11-09  Edward Hervey  <edward@fluendo.com>
17879
17880         * gst/gsttypefindfactory.c:
17881         Fix docs.
17882         
17883 2005-11-09  Edward Hervey  <edward@fluendo.com>
17884
17885         * gst/base/gsttypefindhelper.c:
17886         * gst/gsttypefind.c:
17887         * gst/gsttypefind.h:
17888         Fix docs.
17889
17890 2005-11-09  Wim Taymans  <wim@fluendo.com>
17891
17892         * gst/gstiterator.c:
17893         Fix revision data.
17894
17895         * gst/gsttask.c:
17896         * gst/gsttask.h:
17897         Fix docs.
17898
17899 2005-11-09  Wim Taymans  <wim@fluendo.com>
17900
17901         * gst/gstevent.h:
17902         * gst/gsturi.h:
17903         Fix docs.
17904
17905 2005-11-09  Wim Taymans  <wim@fluendo.com>
17906
17907         * docs/gst/gstreamer-sections.txt:
17908         Moved the message async delivery private lock and cond
17909         to the private section.
17910
17911         * gst/gstmessage.c:
17912         * gst/gstmessage.h:
17913         Fixed docs.
17914
17915 2005-11-09  Edward Hervey  <edward@fluendo.com>
17916
17917         * docs/gst/gstreamer-sections.txt:
17918         * gst/gsturi.c:
17919         * gst/gsturi.h:
17920         Document GstURIHandler
17921
17922 2005-11-09  Wim Taymans  <wim@fluendo.com>
17923
17924         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
17925         (gst_iterator_find_custom):
17926         * gst/gstiterator.h:
17927         Fix iterator docs.
17928
17929 2005-11-09  Wim Taymans  <wim@fluendo.com>
17930
17931         * gst/gstbin.h:
17932         Document another field.
17933
17934         * gst/gststructure.c:
17935         * gst/gststructure.h:
17936         Document.
17937
17938 2005-11-09  Wim Taymans  <wim@fluendo.com>
17939
17940         * gst/gstbin.h:
17941         Documented structs.
17942
17943 2005-11-09  Wim Taymans  <wim@fluendo.com>
17944
17945         * docs/gst/gstreamer-sections.txt:
17946         Added some new macros.
17947
17948         * gst/gstclock.c:
17949         * gst/gstclock.h:
17950         * gst/gstobject.h:
17951         Docs updates.
17952
17953 2005-11-09  Wim Taymans  <wim@fluendo.com>
17954
17955         * docs/design/part-TODO.txt:
17956         Some more items for the TODO
17957
17958         * gst/gstcaps.c:
17959         * gst/gstcaps.h:
17960         Document GstCaps.
17961
17962 2005-11-09  Andy Wingo  <wingo@pobox.com>
17963
17964         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
17965         to work on something else now tho...
17966
17967         * gst/base/gstadapter.c: More adapter docs.
17968
17969         * gst/elements/gstfilesink.c (gst_file_sink_start) 
17970         (gst_file_sink_stop): New functions, replace the state change
17971         handler.
17972         (gst_file_sink_class_init): Hook up the start and stop functions.
17973         (gst_file_sink_base_init): Don't set the state change handler any
17974         more. It was a bit ugly too, being set from here...
17975         (gst_file_sink_get_property, gst_file_sink_set_property):
17976         Cleanups...
17977         (gst_file_sink_set_location): More robust check that doesn't call
17978         GST_STATE. Ugggggg.
17979
17980 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
17981
17982         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17983           Hold STREAM_LOCK while pushing newsegment or tag events as well.
17984
17985 2005-11-08  Wim Taymans  <wim@fluendo.com>
17986
17987         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
17988         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17989         (gst_base_sink_chain), (gst_base_sink_change_state):
17990         * gst/base/gstbasesink.h:
17991         * gst/base/gstbasesrc.h:
17992         * gst/gstelement.h:
17993         * gst/gstevent.h:
17994         Avoid excessive typechecking in macros.
17995
17996         * gst/gstminiobject.c: (gst_mini_object_get_type),
17997         (gst_mini_object_init), (gst_mini_object_new),
17998         (gst_mini_object_free):
17999         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18000         (gst_object_finalize):
18001         Remove cruft code, optimize alloc_trace.
18002
18003 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18004
18005         * docs/faq/gst-uninstalled:
18006           fix up PS1 for systems that try to reset it
18007
18008 2005-11-07  Wim Taymans  <wim@fluendo.com>
18009
18010         * gst/base/gstbasesrc.c: (gst_base_src_init),
18011         (gst_base_src_get_range):
18012         Set the segment_end to -1 initially. Fixed typefind.
18013
18014 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
18015
18016         * gst/base/gstadapter.c:
18017           Debug category should be 'adapter', not 'GstAdapter'.
18018           
18019         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
18020         (gst_collectpads_class_init), (gst_collectpads_init),
18021         (gst_collectpads_peek), (gst_collectpads_pop),
18022         (gst_collectpads_event), (gst_collectpads_chain):
18023           Add debug category and some debugging output. Use boilerplate
18024           macros. Remove some extraneous words from docs.
18025
18026 2005-11-05  Andy Wingo  <wingo@pobox.com>
18027
18028         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
18029         macro.
18030
18031 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
18032
18033         * docs/gst/gstreamer-sections.txt:
18034         * gst/gstcaps.h:
18035         * gst/gstinfo.c:
18036         * gst/gstminiobject.h:
18037         * gst/gstobject.h:
18038         * gst/gstutils.h:
18039           more docs added
18040
18041 2005-11-04  Wim Taymans  <wim@fluendo.com>
18042
18043         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18044         Small update to stop at the configured segment_end
18045         position.
18046
18047 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
18048
18049         * gst/gstregistry.c:
18050         * gst/gstregistry.h:
18051           added missing docs
18052
18053 2005-11-04  Edward Hervey  <edward@fluendo.com>
18054
18055         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18056         Check if we are doing a segment seek and have arrived at the
18057         end of that segment.
18058
18059 2005-11-04  Wim Taymans  <wim@fluendo.com>
18060
18061         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
18062         Don't leak a mutex unlock in case of an error.
18063
18064         * gst/gstbus.h:
18065         Doc fixes.
18066
18067 2005-11-04  Wim Taymans  <wim@fluendo.com>
18068
18069         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
18070         (gst_bus_post):
18071         Get the context to wake up only once.
18072
18073 2005-11-03  Wim Taymans  <wim@fluendo.com>
18074
18075         * check/states/sinks.c: (GST_START_TEST):
18076         Uncomment fixed check.
18077
18078         * docs/design/part-TODO.txt:
18079         Updated TODO.
18080
18081         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18082         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
18083         (gst_base_sink_get_position):
18084         If we are going to PLAYING, post the right pending state
18085         when we post the intermediate paused message.
18086
18087         * gst/gstelement.c: (gst_element_continue_state),
18088         (gst_element_set_state_func), (gst_element_change_state):
18089         Don't post state changes that were between the same state
18090         and were not ASYNC.
18091
18092 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
18093
18094         * docs/gst/gstreamer-sections.txt:
18095         * gst/gstcaps.h:
18096         * gst/gstinfo.c:
18097         * gst/gstminiobject.h:
18098         * gst/gstobject.h:
18099         * gst/gstutils.h:
18100           more docs and doc style fixes
18101
18102 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
18103
18104         * docs/gst/gstreamer-sections.txt:
18105         * gst/gstelement.c:
18106         * gst/gstminiobject.c:
18107         doc fixes
18108
18109 2005-11-03  Andy Wingo  <wingo@pobox.com>
18110
18111         * check/states/sinks.c (test_livesrc_sink): Add checks that the
18112         state-changed messages actually have the right order and the right
18113         values.
18114
18115 2005-11-03  Wim Taymans  <wim@fluendo.com>
18116
18117         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
18118         Added some more checks. Specifically the case where NO_PREROLL
18119         elements are in the pipeline.
18120
18121         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18122         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
18123         (gst_base_sink_get_position):
18124         Post READY->PAUSED state change messages too.
18125         Fix bug where VOID was posted as pending state...
18126
18127         * gst/gstbin.c: (gst_bin_recalc_state):
18128         use _element_continue_state() to continue the state change.
18129
18130         * gst/gstelement.c: (gst_element_continue_state),
18131         (gst_element_commit_state), (gst_element_set_state_func),
18132         (gst_element_change_state), (gst_element_change_state_func):
18133         Lots of state change cleanups, assign the STATE_RETURN in
18134         a new continue_state() function that also propagates the
18135         last return value from a state change to the app.
18136         Update some debug statements with proper category.
18137
18138 2005-11-03  Wim Taymans  <wim@fluendo.com>
18139
18140         * docs/design/part-events.txt:
18141         * docs/design/part-gstpipeline.txt:
18142         * docs/design/part-messages.txt:
18143         * docs/design/part-overview.txt:
18144         * docs/design/part-seeking.txt:
18145         * docs/design/part-states.txt:
18146         * docs/design/part-trickmodes.txt:
18147         * docs/manual/advanced-position.xml:
18148         Small docs updates.
18149
18150         * gst/gstobject.h:
18151         People think !! is ugly, this looks better.
18152
18153         * gst/gstpad.c: (gst_pad_set_blocked_async):
18154         Remove !! since it's fixed elsewhere now.
18155
18156 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
18157
18158         * gst/gstminiobject.h:
18159         * gst/gstobject.h:
18160           Add !! to _FLAG_IS_SET macros to make the result boolean.
18161
18162 2005-11-03  Edward Hervey  <edward@fluendo.com>
18163
18164         * gst/gstpad.c: (gst_pad_set_blocked_async):
18165         comparing a flag and a gboolean rarely returns coherent results...
18166         Added two characters (!!) to make that work correctly.
18167         
18168 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
18169
18170         * gst/gstbus.c: (gst_bus_class_init):
18171           Fix some typos.
18172           
18173         * gst/gstqueue.c: (gst_queue_loop):
18174           Don't assume a miniobject that isn't a buffer is an
18175           event (it could be that there is a refcounting
18176           problem somewhere and the pointer is stale and
18177           refers to an already destroyed miniobject).
18178
18179 2005-11-03  Julien MOUTTE  <julien@moutte.net>
18180
18181         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
18182
18183 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
18184
18185         * docs/manual/advanced-position.xml:
18186           Update seek example and explanations to current 0.9 API.
18187
18188         * gst/elements/gsttypefindelement.c:
18189         (gst_type_find_element_activate):
18190           Remove FIXME comment now that the found caps
18191           are unreffed.
18192
18193 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18194
18195         * gst/gstregistryxml.c: (load_feature):
18196           Add another GST_STR_NULL instance
18197
18198 2005-11-02  Edward Hervey  <edward@fluendo.com>
18199
18200         * gst/gstpad.c: (handle_pad_block):
18201         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
18202         
18203 2005-11-02  Wim Taymans  <wim@fluendo.com>
18204
18205         * gst/gstbin.c:
18206         Fix typo in docs.
18207
18208         * gst/gstelement.c: (gst_element_commit_state):
18209         Remove unused value.
18210
18211         * gst/gstiterator.c:
18212         Mention that the returned element is reffed in the docs.
18213
18214 2005-11-02  Wim Taymans  <wim@fluendo.com>
18215
18216         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
18217         (gst_pad_push), (gst_pad_push_event):
18218         Unlock blocked pads when they are flushed.
18219
18220 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18221
18222         * docs/README:
18223         * docs/gst/gstreamer-sections.txt:
18224         * gst/gstbin.c:
18225           doc updates
18226         * gst/gstregistry.c: (gst_registry_scan_path_level):
18227           fix for a nasty little missed situation where an installed plug-in
18228           which was in the cache did not get overridden by an uninstalled one
18229           which was earlier in the plugin path because the newly created plugin
18230           for the uninstalled one (not in the registry) didn't get its
18231           ->registered set to TRUE
18232
18233 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
18234
18235         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
18236         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
18237         (gst_collectpads_is_active), (gst_collectpads_collect),
18238         (gst_collectpads_collect_range), (gst_collectpads_start),
18239         (gst_collectpads_stop), (gst_collectpads_peek),
18240         (gst_collectpads_pop), (gst_collectpads_available),
18241         (gst_collectpads_read), (gst_collectpads_flush):
18242           Guard public API with assertions.
18243         
18244         * gst/gstpad.c:
18245           Fix docs for gst_pad_set_link_function().
18246
18247 2005-11-02  Johan Dahlin  <johan@gnome.org>
18248
18249         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
18250         Unref found_caps after we used it.
18251
18252 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
18253
18254         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
18255           Don't try to ref NULL.
18256
18257 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18258
18259         * win32/common/config.h.in:
18260           provide a GST_FUNCTION that just gives a string for now
18261
18262 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18263
18264         * win32/common/gstenumtypes.c: (register_gst_object_flags),
18265         (gst_object_flags_get_type), (register_gst_bin_flags),
18266         (gst_bin_flags_get_type), (register_gst_buffer_flag),
18267         (gst_buffer_flag_get_type), (register_gst_bus_flags),
18268         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
18269         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
18270         (gst_clock_return_get_type), (register_gst_clock_entry_type),
18271         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
18272         (gst_clock_flags_get_type), (register_gst_state),
18273         (gst_state_get_type), (register_gst_state_change_return),
18274         (gst_state_change_return_get_type), (register_gst_state_change),
18275         (gst_state_change_get_type), (register_gst_element_flags),
18276         (gst_element_flags_get_type), (register_gst_core_error),
18277         (gst_core_error_get_type), (register_gst_library_error),
18278         (gst_library_error_get_type), (register_gst_resource_error),
18279         (gst_resource_error_get_type), (register_gst_stream_error),
18280         (gst_stream_error_get_type), (register_gst_event_type),
18281         (gst_event_type_get_type), (register_gst_seek_type),
18282         (gst_seek_type_get_type), (register_gst_seek_flags),
18283         (gst_seek_flags_get_type), (register_gst_format),
18284         (gst_format_get_type), (register_gst_index_certainty),
18285         (gst_index_certainty_get_type), (register_gst_index_entry_type),
18286         (gst_index_entry_type_get_type),
18287         (register_gst_index_lookup_method),
18288         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
18289         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
18290         (gst_index_resolver_method_get_type), (register_gst_index_flags),
18291         (gst_index_flags_get_type), (register_gst_debug_level),
18292         (gst_debug_level_get_type), (register_gst_debug_color_flags),
18293         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
18294         (gst_iterator_result_get_type), (register_gst_iterator_item),
18295         (gst_iterator_item_get_type), (register_gst_message_type),
18296         (gst_message_type_get_type), (register_gst_mini_object_flags),
18297         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
18298         (gst_pad_link_return_get_type), (register_gst_flow_return),
18299         (gst_flow_return_get_type), (register_gst_activate_mode),
18300         (gst_activate_mode_get_type), (register_gst_pad_direction),
18301         (gst_pad_direction_get_type), (register_gst_pad_flags),
18302         (gst_pad_flags_get_type), (register_gst_pad_presence),
18303         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
18304         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
18305         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
18306         (gst_plugin_error_get_type), (register_gst_plugin_flags),
18307         (gst_plugin_flags_get_type), (register_gst_rank),
18308         (gst_rank_get_type), (register_gst_query_type),
18309         (gst_query_type_get_type), (register_gst_tag_merge_mode),
18310         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
18311         (gst_tag_flag_get_type), (register_gst_task_state),
18312         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
18313         (gst_alloc_trace_flags_get_type),
18314         (register_gst_type_find_probability),
18315         (gst_type_find_probability_get_type), (register_gst_uri_type),
18316         (gst_uri_type_get_type), (register_gst_parse_error),
18317         (gst_parse_error_get_type):
18318         * win32/common/gstversion.h:
18319           update win32 copies
18320
18321 2005-11-01  Luca Ognibene  <luogni@tin.it>
18322
18323         * gst/gst.c:
18324           fix docs. popt is dead, long live GOption.
18325
18326 2005-10-31  Wim Taymans  <wim@fluendo.com>
18327
18328         * gst/gstbuffer.h:
18329         Small doc fix.
18330
18331 2005-10-31  Andy Wingo  <wingo@pobox.com>
18332
18333         * Boo!
18334
18335         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
18336
18337         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
18338         need to serialize property notifications on GLib 2.8. GLib 2.6 has
18339         the possibility of deadlocks here if code calling notify() or
18340         set() has a lock that can be taken in another notify handler (ABBA
18341         with class lock and e.g. python GIL state lock).
18342
18343 2005-10-28  Julien MOUTTE  <julien@moutte.net>
18344
18345         * gst/gstbus.c: Doc updates.
18346
18347 2005-10-28  Wim Taymans  <wim@fluendo.com>
18348
18349         * docs/design/part-TODO.txt:
18350         * gst/gstiterator.c:
18351         * gst/gstsystemclock.c:
18352         * gst/gstsystemclock.h:
18353         Doc updates.
18354
18355 2005-10-28  Edward Hervey  <edward@fluendo.com>
18356
18357         * docs/gst/gstreamer-docs.sgml:
18358         * docs/gst/gstreamer-sections.txt:
18359         the GstURIType documentation page is private, it only defines GstURIType
18360         which should be defined in the GstURIHandler page
18361         
18362 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18363
18364         * gst/gstbin.c: (gst_bin_class_init):
18365         * gst/gstbin.h:
18366         * gst/gstutils.c:
18367         Documentation updates.
18368
18369 2005-10-28  Wim Taymans  <wim@fluendo.com>
18370
18371         * docs/gst/gstreamer-sections.txt:
18372         * gst/gstclock.c:
18373         * gst/gstclock.h:
18374         Documented the clocks.
18375
18376 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
18377
18378         * docs/gst/gstreamer-sections.txt:
18379           move some macros to private sections
18380         * gst/gstminiobject.c:
18381         * gst/gstminiobject.h:
18382           add descriptions provided by ds and some more
18383         * gst/gstpad.h:
18384           mark macro as to be removed
18385
18386 2005-10-28  Wim Taymans  <wim@fluendo.com>
18387
18388         * docs/design/part-TODO.txt:
18389         Add an item to TODO.
18390
18391         * gst/gstiterator.c: (gst_iterator_fold),
18392         (gst_iterator_find_custom):
18393         * gst/gstiterator.h:
18394         Add iterator docs.
18395
18396 2005-10-28  Wim Taymans  <wim@fluendo.com>
18397
18398         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
18399         (gst_base_transform_init):
18400         Don't leak class.
18401
18402         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
18403         An EOS event marks the queue as completely filled.
18404
18405 2005-10-27  Wim Taymans  <wim@fluendo.com>
18406
18407         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18408         (gst_base_sink_do_sync), (gst_base_sink_get_position):
18409         Some more debugging.
18410
18411         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
18412         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
18413         (gst_base_transform_event), (gst_base_transform_getrange),
18414         (gst_base_transform_chain):
18415         * gst/base/gstbasetransform.h:
18416         Fix debugging,
18417         Protect transform and concurrent buffer alloc with a new lock.
18418         Try not to break ABI/API.
18419
18420 2005-10-27  Wim Taymans  <wim@fluendo.com>
18421
18422         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18423         (gst_base_src_init), (gst_base_src_query),
18424         (gst_base_src_default_newsegment),
18425         (gst_base_src_configure_segment), (gst_base_src_do_seek),
18426         (gst_base_src_send_event), (gst_base_src_event_handler),
18427         (gst_base_src_pad_get_range), (gst_base_src_loop),
18428         (gst_base_src_unlock), (gst_base_src_default_negotiate),
18429         (gst_base_src_start), (gst_base_src_deactivate),
18430         (gst_base_src_activate_push), (gst_base_src_change_state):
18431         Move some stuff around and cleanup things.
18432
18433 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
18434
18435         * gst/base/gstbasesrc.c: (gst_base_src_query):
18436           Add missing break statements.
18437
18438 2005-10-27  Wim Taymans  <wim@fluendo.com>
18439
18440         * check/gst/gstbin.c: (GST_START_TEST):
18441         An extra refcount is taken in basesrc.
18442
18443         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
18444         (gst_base_src_get_range), (gst_base_src_pad_get_range),
18445         (gst_base_src_loop):
18446         Small cleanups, check for flushing after being unlocked from the 
18447         LIVE_LOCK. take refcounts correctly (not yet everywhere).
18448         Don't send out EOS when going to READY.
18449
18450 2005-10-27  Wim Taymans  <wim@fluendo.com>
18451
18452         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18453         (gst_base_sink_get_position):
18454         Some more debug.
18455
18456         * gst/gstbin.c: (message_check), (bin_replace_message),
18457         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18458         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18459         (bin_query_duration_init), (bin_query_duration_fold),
18460         (bin_query_duration_done), (bin_query_generic_fold),
18461         (gst_bin_query):
18462         * tools/gst-launch.c: (main):
18463         Remove old option.
18464
18465 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
18466
18467         * examples/controller/audio-example.c: (main):
18468         * examples/queue/queue.c: (event_loop):
18469         * gst/base/gstbasetransform.h:
18470         * gst/gstelement.c: (gst_element_send_event):
18471         * gst/gstevent.h:
18472         * gst/gstpad.c: (gst_pad_send_event):
18473           fixing examples
18474           fixing docs typos
18475           changing log priority in error situations
18476
18477 2005-10-25  Wim Taymans  <wim@fluendo.com>
18478
18479         * gst/gstbin.c: (message_check), (bin_replace_message),
18480         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18481         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18482         (bin_query_duration_init), (bin_query_duration_fold),
18483         (bin_query_duration_done), (bin_query_generic_fold),
18484         (gst_bin_query):
18485         Some doc and debug updates.
18486         Cache previously requested query DURATION for speed. invalidate
18487         cached duration if element posts a DURATION message.
18488
18489 2005-10-25  Wim Taymans  <wim@fluendo.com>
18490
18491         * docs/design/part-TODO.txt:
18492         Update TODO.
18493
18494         * gst/gstbin.c: (message_check), (bin_replace_message),
18495         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18496         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18497         (bin_query_duration_init), (bin_query_duration_fold),
18498         (bin_query_duration_done), (bin_query_generic_fold),
18499         (gst_bin_query):
18500         Handle SEGMENT_START/DONE messages correctly.
18501         More evolved query algorithm that handles duration queries
18502         correctly.
18503
18504         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
18505         (gst_element_get_state_func), (gst_element_abort_state),
18506         (gst_element_commit_state), (gst_element_lost_state):
18507         Some more debugging.
18508
18509         * gst/gstmessage.h:
18510         Added doc.
18511
18512 2005-10-25  Wim Taymans  <wim@fluendo.com>
18513
18514         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
18515         Don't use invalid stream_time.
18516
18517         * gst/gstevent.c: (gst_event_new_newsegment):
18518         stream_time in newsegment cannot be undefined.
18519
18520 2005-10-24  Wim Taymans  <wim@fluendo.com>
18521
18522         * gst/gstbus.c:
18523         Doc fix.
18524
18525         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18526         (gst_queue_loop):
18527         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
18528
18529 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
18530
18531         * docs/libs/tmpl/gstdparam.sgml:
18532         * docs/libs/tmpl/gstdplinint.sgml:
18533         * docs/libs/tmpl/gstdpman.sgml:
18534         * docs/libs/tmpl/gstdpsmooth.sgml:
18535         * docs/libs/tmpl/gstunitconvert.sgml:
18536           these are obsolete
18537
18538 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18539
18540         * configure.ac:
18541           back to HEAD
18542
18543 === release 0.9.4 ===
18544
18545 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18546
18547         * configure.ac:
18548           releasing 0.9.4, "Tyrannosaurus Rex"
18549
18550 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
18551
18552         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
18553         (gst_file_sink_get_current_offset):
18554           Use fseeko() and ftello() if available. When falling back on
18555           lseek() to get the current offset, fflush() first to make sure
18556           everything is up-to-date and we get the right offset.
18557
18558 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18559
18560         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18561         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18562         * gst/gsterror.c: (_gst_stream_errors_init):
18563         * gst/gsterror.h:
18564         * gst/gstqueue.c: (gst_queue_loop):
18565         * po/POTFILES.in:
18566           remove prematurely added error category and clean up the instances
18567
18568 2005-10-21  Wim Taymans  <wim@fluendo.com>
18569
18570         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18571         (gst_base_sink_get_position), (gst_base_sink_query),
18572         (gst_base_sink_change_state):
18573         Simply set the right flag when going to playing, that's all
18574         we need to do instead of calling a function inside the object
18575         lock (that could take the lock as well and deadlock)
18576
18577 2005-10-21  Wim Taymans  <wim@fluendo.com>
18578
18579         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
18580         (gst_base_src_loop):
18581         Don't warn, the peer element knows what to do best when
18582         the seek failed, it might try something else.
18583
18584 2005-10-21  Wim Taymans  <wim@fluendo.com>
18585
18586         * gst/base/gstbasesrc.c: (gst_base_src_init),
18587         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18588         Fix seeking.
18589
18590 2005-10-21  Wim Taymans  <wim@fluendo.com>
18591
18592         * docs/design/part-segments.txt:
18593         More docs.
18594
18595         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18596         Correctly set caps, even on the subbufer.
18597
18598 2005-10-21  Wim Taymans  <wim@fluendo.com>
18599
18600         * docs/gst/gstreamer-docs.sgml:
18601         * docs/gst/gstreamer-sections.txt:
18602         * gst/gstelement.h:
18603         * gst/gstevent.c:
18604         * gst/gstevent.h:
18605         * gst/gstmessage.h:
18606         * gst/gstpad.h:
18607         * gst/gstparse.h:
18608         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
18609         * gst/gsttask.h:
18610         * gst/gstutils.c:
18611         * gst/gstutils.h:
18612         And 2% more doc coverage.
18613
18614 2005-10-21  Andy Wingo  <wingo@pobox.com>
18615
18616         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
18617         position reporting.
18618
18619 2005-10-20  Wim Taymans  <wim@fluendo.com>
18620
18621         * gst/gsterror.c: (gst_error_get_message):
18622         * gst/gstparse.h:
18623         * gst/gstquery.h:
18624         * gst/gststructure.c:
18625         * gst/gsttrace.c:
18626         * gst/gstutils.c:
18627         More docs.
18628
18629 2005-10-20  Wim Taymans  <wim@fluendo.com>
18630
18631         * gst/gstbuffer.h:
18632         * gst/gstpad.c:
18633         * gst/gstparse.c:
18634         Another 1% more coverage.
18635
18636 2005-10-20  Wim Taymans  <wim@fluendo.com>
18637
18638         * docs/gst/gstreamer-sections.txt:
18639         * gst/gstelement.c: (gst_element_get_state_func),
18640         (gst_element_abort_state), (gst_element_commit_state),
18641         (gst_element_lost_state):
18642         * gst/gstevent.h:
18643         * gst/gstquery.c: (gst_query_set_position),
18644         (gst_query_parse_position), (gst_query_set_duration),
18645         (gst_query_parse_duration), (gst_query_new_convert):
18646         * gst/gstutils.c:
18647         Yay! 1% more docs coverage.
18648
18649 2005-10-20  Wim Taymans  <wim@fluendo.com>
18650
18651         * gst/gstpad.h:
18652         * gst/gstquery.c: (gst_query_set_position),
18653         (gst_query_parse_position), (gst_query_set_duration),
18654         (gst_query_parse_duration), (gst_query_new_convert):
18655         * gst/gstquery.h:
18656         * gst/gstutils.c: (gst_element_query_convert):
18657         * gst/gstutils.h:
18658         Docs and consistency fixes.
18659
18660 2005-10-20  Wim Taymans  <wim@fluendo.com>
18661
18662         * gst/gsttask.c:
18663         * gst/gsttask.h:
18664         More docs.
18665
18666 2005-10-20  Wim Taymans  <wim@fluendo.com>
18667
18668         * gst/gstbin.c: (message_check), (bin_replace_message),
18669         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18670         (update_degree), (gst_bin_sort_iterator_next),
18671         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
18672         Reworked the message handling a bit, cache the messages instead of
18673         only the senders. alows us to do more in the future.
18674
18675 2005-10-20  Wim Taymans  <wim@fluendo.com>
18676
18677         * docs/design/part-TODO.txt:
18678         Update TODO
18679
18680         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
18681         (gst_base_sink_query):
18682         Don't use clock time to report position when in EOS.
18683
18684 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
18685
18686         * tools/gst-inspect.c: (print_interfaces),
18687         (print_element_properties_info), (print_element_info):
18688           Fix interface output with gst-inspect -a; don't print
18689           newlines after double/float properties.
18690
18691 2005-10-20  Wim Taymans  <wim@fluendo.com>
18692
18693         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
18694         (gst_base_sink_query):
18695         Speed up current position calculation.
18696
18697         * gst/base/gstbasesrc.c: (gst_base_src_query),
18698         (gst_base_src_default_newsegment):
18699         Correctly set stream position in newsegment.
18700
18701         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
18702         (update_degree), (gst_bin_sort_iterator_next),
18703         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
18704         * gst/gstmessage.c: (gst_message_new_custom):
18705         Clean up debugging info
18706
18707         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18708         (gst_queue_loop), (gst_queue_handle_src_query):
18709         Pause task faster.
18710
18711 2005-10-19  Wim Taymans  <wim@fluendo.com>
18712
18713         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18714         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
18715         Fix query handling again.
18716
18717 2005-10-19  Wim Taymans  <wim@fluendo.com>
18718
18719         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18720         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
18721         * gst/base/gstbasesrc.c: (gst_base_src_query):
18722         * gst/elements/gstfilesink.c: (gst_file_sink_query):
18723         * gst/elements/gsttypefindelement.c:
18724         (gst_type_find_handle_src_query), (find_element_get_length),
18725         (gst_type_find_element_activate):
18726         API change fix.
18727
18728         * gst/gstquery.c: (gst_query_new_position),
18729         (gst_query_set_position), (gst_query_parse_position),
18730         (gst_query_new_duration), (gst_query_set_duration),
18731         (gst_query_parse_duration), (gst_query_set_segment),
18732         (gst_query_parse_segment):
18733         * gst/gstquery.h:
18734         Bundling query position/duration is not a good idea since duration
18735         does not change much and we don't want to recalculate it for every
18736         position query, so they are separated again..
18737         Base value in segment query is not needed.
18738
18739         * gst/gstqueue.c: (gst_queue_handle_src_query):
18740         * gst/gstutils.c: (gst_element_query_position),
18741         (gst_element_query_duration), (gst_pad_query_position),
18742         (gst_pad_query_duration):
18743         * gst/gstutils.h:
18744         Updates for query API change.
18745         Added some docs here and there.
18746
18747 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18748
18749         * check/gst/gstbin.c: (GST_START_TEST):
18750         * check/gst/gstghostpad.c: (GST_START_TEST):
18751         * check/pipelines/cleanup.c: (GST_START_TEST):
18752           wait on thread to die so we can check refcount correctly
18753
18754 2005-10-18  Wim Taymans  <wim@fluendo.com>
18755
18756         * check/pipelines/stress.c: (GST_START_TEST):
18757         Make check a little more time consuming.
18758
18759 2005-10-18  Wim Taymans  <wim@fluendo.com>
18760
18761         * check/Makefile.am:
18762         * check/pipelines/stress.c: (GST_START_TEST),
18763         (simple_launch_lines_suite), (main):
18764         Small state change torture test.
18765
18766         * docs/design/part-states.txt:
18767         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18768         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
18769         (gst_base_sink_change_state):
18770         Never take state lock from streaming thread, clean up ugly
18771         hacks. Unfortunatly core does not yet support nice ways to
18772         async commit state.
18773         
18774         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
18775         (bin_bus_handler):
18776         Start state recalc if a STATE_DIRTY message is posted, but only
18777         on the toplevel bin.
18778
18779         * gst/gstelement.c: (gst_element_sync_state_with_parent),
18780         (gst_element_get_state_func), (gst_element_abort_state),
18781         (gst_element_commit_state), (gst_element_lost_state),
18782         (gst_element_set_state_func), (gst_element_change_state):
18783         * gst/gstelement.h:
18784         State variables are now protected with the LOCK, the state
18785         lock is only used to serialize _set_state().
18786
18787 2005-10-18  Wim Taymans  <wim@fluendo.com>
18788
18789         * check/gst/gstbin.c: (GST_START_TEST):
18790         * check/gst/gstmessage.c: (GST_START_TEST):
18791         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18792         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
18793         (bin_bus_handler):
18794         * gst/gstelement.c: (gst_element_abort_state),
18795         (gst_element_commit_state), (gst_element_lost_state):
18796         * gst/gstmessage.c: (gst_message_new_state_changed),
18797         (gst_message_new_state_dirty), (gst_message_new_segment_start),
18798         (gst_message_new_segment_done), (gst_message_new_duration),
18799         (gst_message_parse_state_changed),
18800         (gst_message_parse_segment_start),
18801         (gst_message_parse_segment_done), (gst_message_parse_duration):
18802         * gst/gstmessage.h:
18803         * tools/gst-launch.c: (event_loop):
18804         Seriously, this is better than a previous commit as we only need
18805         to notify the fact that an element changed state in a streaming
18806         thread, marking the state of the parents dirty, hence the 
18807         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
18808         message.
18809
18810 2005-10-18  Wim Taymans  <wim@fluendo.com>
18811
18812         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
18813         (gst_bin_recalc_func):
18814         * gst/gstelement.c: (gst_element_set_clock),
18815         (gst_element_abort_state), (gst_element_lost_state):
18816         Cleanups, prepare for state change fixes.
18817
18818 2005-10-18  Wim Taymans  <wim@fluendo.com>
18819
18820         * gst/gstbin.h:
18821         * gst/gstelement.c: (gst_element_class_init),
18822         (gst_element_set_state), (gst_element_set_state_func):
18823         * gst/gstelement.h:
18824         Pending ABI changes.
18825         GThreadPool in GstBinClass to monitor async state changes.
18826         state_cookie in GstElement to detect concurrent gst/set state.
18827         set_state is now virtual too in case a very complicated element
18828         has to be constructed.
18829
18830 2005-10-18  Wim Taymans  <wim@fluendo.com>
18831
18832         * check/gst/gstbin.c: (GST_START_TEST):
18833         * check/gst/gstmessage.c: (GST_START_TEST):
18834         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18835         * gst/gstbin.c: (bin_bus_handler):
18836         * gst/gstelement.c: (gst_element_commit_state),
18837         (gst_element_lost_state):
18838         * gst/gstmessage.c: (gst_message_new_state_changed),
18839         (gst_message_new_segment_start), (gst_message_new_segment_done),
18840         (gst_message_new_duration), (gst_message_parse_state_changed),
18841         (gst_message_parse_segment_start),
18842         (gst_message_parse_segment_done), (gst_message_parse_duration):
18843         * gst/gstmessage.h:
18844         * tools/gst-launch.c: (event_loop):
18845         Make messages future proof.
18846         state-change gets a flag if it was a message comming from the
18847         streaming thread.
18848         segment-start/stop can also be specified in other formats.
18849         A message to notify an app that a pipeline changed playback 
18850         duration.
18851         Also fix a GstMessage leak in -launch
18852
18853 2005-10-18  Andy Wingo  <wingo@pobox.com>
18854
18855         * gst/gstelement.c (gst_element_dispose): More helpful message.
18856
18857 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18858
18859         reviewed by: <delete if not using a buddy>
18860
18861         * common/gtk-doc.mak:
18862
18863 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18864
18865         * gst/gstregistry.c: (gst_registry_scan_path_level):
18866           unref a plug-in we get that was already initialized
18867
18868 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
18869
18870         * docs/gst/gstreamer-sections.txt:
18871         * docs/libs/gstreamer-libs-sections.txt:
18872         * gst/gstelement.h:
18873           add new api entries
18874           hide internal macro
18875
18876 2005-10-17  Andy Wingo  <wingo@pobox.com>
18877
18878         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
18879         cleanup.
18880
18881         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
18882
18883         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
18884
18885         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
18886         (gst_element_get_state_func): Better debug message.
18887         (gst_element_commit_state): s/INFO/DEBUG/.
18888         (gst_element_lost_state, gst_element_change_state): 
18889
18890         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
18891         (gst_message_new_custom): s/INFO/LOG/.
18892
18893 2005-10-17  Michael Smith <msmith@fluendo.com>
18894
18895         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
18896           Check if end time is valid using end time, not start time.
18897
18898 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
18899
18900         * check/gst-libs/controller.c: (GST_START_TEST),
18901         (gst_controller_suite):
18902         * libs/gst/controller/gstcontroller.c:
18903         (gst_controlled_property_set_interpolation_mode):
18904         * libs/gst/controller/gstcontroller.h:
18905         * libs/gst/controller/gstinterpolation.c:
18906         * testsuite/controller/.cvsignore:
18907         * testsuite/controller/Makefile.am:
18908         * testsuite/controller/interpolator.c:
18909           merge controller testsuites
18910           fix broken tests
18911           remove mem-chunk from docs
18912
18913 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18914
18915         * gst/gstmemchunk.c:
18916         * gst/gstmemchunk.h:
18917         * gst/gsttrashstack.c:
18918         * gst/gsttrashstack.h:
18919           out.  get out.  you're fired.  to the Attic !
18920
18921 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18922
18923         * gst/gstcaps.c: (gst_caps_intersect):
18924           fix signedness issues in a (hopefully) correct way
18925         * gst/gstelement.c: (gst_element_pads_activate):
18926           some debugging
18927         * gst/gstobject.c: (gst_object_set_parent):
18928           some debugging
18929
18930 2005-10-17  Julien MOUTTE  <julien@moutte.net>
18931
18932         * gst/gstvalue.h: Fix prototypes.
18933
18934 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18935
18936         * docs/gst/gstreamer-sections.txt:
18937         * gst/gst.c: (gst_version_string):
18938         * gst/gst.h:
18939         * gst/gstversion.h.in:
18940         * win32/common/libgstreamer.def:
18941           add gst_version_string ()
18942
18943 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18944
18945         * configure.ac:
18946           clean up further
18947         * gst/gst.c: (init_post):
18948         * win32/common/config.h.in:
18949           it's PLUGINDIR now
18950         * gst/gstcaps.c: (gst_caps_intersect):
18951           use gint64, the range could be bigger than a guint
18952
18953 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18954
18955         * gst/gstclock.h:
18956           document potential problem in 2038
18957
18958 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18959
18960         * gst/gstcaps.c: (gst_caps_intersect):
18961           Fix guint j diving under 0
18962
18963 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18964
18965         * configure.ac:
18966         * win32/common/config.h:
18967         * win32/common/config.h.in:
18968           check for process.h, declares getpid() on Windows
18969         * gst/gstinfo.c:
18970           include process.h if we have it
18971         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
18972         * gst/gstmemchunk.h:
18973           fix signedness issues
18974         * win32/common/libgstreamer.def:
18975           fix get_type's
18976
18977 2005-10-16  Julien MOUTTE  <julien@moutte.net>
18978
18979         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
18980         fix. Because of unsigned ints, caps intersection was going nuts and
18981         trying to access structures with G_MAXUINT index. That fixes
18982         videotestsrc ! ffmpegcolorspace ! fakesink
18983         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
18984         consistency.
18985
18986 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18987
18988         * configure.ac:
18989           use the gettext macro
18990         * gst/elements/gstelements.c:
18991         * gst/gst.c:
18992         * gst/indexers/gstindexers.c:
18993           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
18994         * win32/common/config.h:
18995           updated config.h
18996         * win32/common/config.h.in:
18997           add the template to generate config.h
18998         * win32/common/gstenumtypes.c:
18999         * win32/common/gstversion.h:
19000           updated copies
19001
19002 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19003
19004         * gst/gst.c: (gst_version):
19005         * gst/gstversion.h.in:
19006           add the nano
19007
19008 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
19009
19010         * gst/gstevent.h:
19011           Oops, add missing closing bracket.
19012
19013 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19014
19015         * configure.ac:
19016           use common m4's for argument checking
19017
19018 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
19019
19020         * docs/gst/gstreamer-sections.txt:
19021         * gst/gstevent.h:
19022           Add GST_EVENT_TYPE_NAME() macro.
19023
19024 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19025
19026         * gst/gstinfo.c:
19027         * gst/gstpluginfeature.c:
19028         * gst/gsttask.c:
19029           privatize more symbols
19030
19031 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19032
19033         * configure.ac:
19034           add srcdir, builddir includes to GST_ALL_CFLAGS, since
19035           everything that uses GStreamer API should have the includes
19036
19037 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19038
19039         * docs/gst/gstreamer-sections.txt:
19040         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
19041         * gst/gstvalue.h:
19042           give each value a _get_type, removes the DATA exports
19043
19044 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19045
19046         * gst/gst.c:
19047         * gst/gst.h:
19048           remove _gst_registry_auto_load, not used anymore
19049         * gst/gstbin.c: (gst_bin_get_type):
19050         * gst/gstbin.h:
19051         * gst/gstelement.c: (gst_element_get_type):
19052         * gst/gstelement.h:
19053         * gst/gstobject.c: (gst_object_get_type):
19054         * gst/gstobject.h:
19055         * gst/gstpad.c: (gst_pad_get_type):
19056         * gst/gstpad.h:
19057           make _get_type functions similar, fixes data export from library
19058
19059 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19060
19061         * configure.ac:
19062           correctly make conditionals
19063         * gst/elements/Makefile.am:
19064         * gst/elements/gstelements.c:
19065           fix typo causing fdsrc not to build
19066
19067 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19068
19069         * testsuite/Makefile.am:
19070         * testsuite/bytestream/.cvsignore:
19071         * testsuite/bytestream/Makefile.am:
19072         * testsuite/bytestream/filepadsink.c:
19073         * testsuite/bytestream/gstbstest.c:
19074         * testsuite/bytestream/test1.c:
19075         * testsuite/bytestream/testfile1:
19076         * testsuite/caps/normalisation.c:
19077         * testsuite/caps/random.c: (main):
19078         * testsuite/cleanup/.cvsignore:
19079         * testsuite/cleanup/Makefile.am:
19080         * testsuite/cleanup/cleanup1.c:
19081         * testsuite/cleanup/cleanup2.c:
19082         * testsuite/cleanup/cleanup3.c:
19083         * testsuite/cleanup/cleanup4.c:
19084         * testsuite/cleanup/cleanup5.c:
19085         * testsuite/controller/interpolator.c:
19086         * testsuite/debug/printf_extension.c: (main):
19087         * testsuite/elements/tee.c:
19088         * testsuite/negotiation/.cvsignore:
19089         * testsuite/negotiation/Makefile.am:
19090         * testsuite/negotiation/pad_link.c:
19091         * testsuite/pad/Makefile.am:
19092         * testsuite/pad/chainnopull.c:
19093         * testsuite/pad/getnopush.c:
19094         * testsuite/pad/link.c:
19095         * testsuite/refcounting/sched.c: (create_pipeline):
19096         * testsuite/registry/Makefile.am:
19097         * testsuite/registry/gst-print-formats.c:
19098         * testsuite/schedulers/.cvsignore:
19099         * testsuite/schedulers/142183-2.c:
19100         * testsuite/schedulers/142183.c:
19101         * testsuite/schedulers/143777-2.c:
19102         * testsuite/schedulers/143777.c:
19103         * testsuite/schedulers/147713.c:
19104         * testsuite/schedulers/147819.c:
19105         * testsuite/schedulers/147894-2.c:
19106         * testsuite/schedulers/147894.c:
19107         * testsuite/schedulers/Makefile.am:
19108         * testsuite/schedulers/group_link.c:
19109         * testsuite/schedulers/queue_link.c:
19110         * testsuite/schedulers/relink.c:
19111         * testsuite/schedulers/unlink.c:
19112         * testsuite/schedulers/unref.c:
19113         * testsuite/schedulers/useless_iteration.c:
19114         * testsuite/states/bin.c:
19115           clean out/remove some stuff from the testsuite directories
19116
19117 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19118
19119         * configure.ac:
19120           check for some headers
19121         * gst/elements/Makefile.am:
19122         * gst/elements/gstelements.c:
19123           don't compile fdsrc without sys/socket.h
19124         * gst/indexers/Makefile.am:
19125         * gst/indexers/gstindexers.c: (plugin_init):
19126           don't compile fileindex without mmap
19127
19128 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19129
19130         * configure.ac:
19131           reorganize
19132           clean up
19133           document more
19134           remove cruft
19135         * check/Makefile.am:
19136         * docs/gst/Makefile.am:
19137         * examples/helloworld/Makefile.am:
19138         * gst/Makefile.am:
19139         * gst/base/Makefile.am:
19140         * gst/check/Makefile.am:
19141         * gst/elements/Makefile.am:
19142         * gst/indexers/Makefile.am:
19143         * gst/parse/Makefile.am:
19144         * libs/gst/controller/Makefile.am:
19145         * libs/gst/dataprotocol/Makefile.am:
19146         * examples/helloworld/helloworld.c: (event_loop):
19147           compile fixes, though it's not being compiled currently
19148
19149 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
19150
19151         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
19152           Add some simple tests for the new taglist date API.
19153
19154 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
19155
19156         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
19157         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
19158           Beautify 'last-message' output: print 'none' for buffer timestamps
19159           and durations if none is set; improve alignment with next messages.
19160
19161 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
19162
19163         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
19164         * gst/gstpluginfeature.h:
19165         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
19166         * gst/gstregistry.h:
19167         * docs/gst/gstreamer-sections.txt:
19168           Add new API to check plugin feature version requirements.
19169
19170         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
19171           Some basic tests for the above.         
19172
19173 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19174
19175         * gst/gststructure.c: (gst_structure_to_string):
19176           guard against NULL printf - happens when for example
19177           a message structure with GstClock gets serialized
19178
19179 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
19180
19181         * gst/base/gstcollectpads.c: (gst_collectpads_event):
19182           Fix presumable copy'n'pasto.
19183
19184 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19185
19186         * gst/elements/gstfakesrc.h:
19187         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
19188         * gst/elements/gsttypefindelement.c:
19189           fix some signedness
19190         * gst/elements/gstfilesink.c: (gst_file_sink_render):
19191           I wonder if this could actually write +2GB files before
19192
19193 2005-10-13  Andy Wingo  <wingo@pobox.com>
19194
19195         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
19196         Fix Timmeke Waymans bug.
19197         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
19198         string of the proper length to gst_caps_from_string. There's a
19199         potential for, before this fix, that this could cause someone
19200         connecting over the network to cause a segfault if the payload is
19201         not NUL-terminated.
19202
19203 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
19204
19205         * docs/design/draft-push-pull.txt:
19206         * docs/design/part-overview.txt:
19207         * docs/random/TODO-pre-0.9:
19208         * docs/random/old/ChangeLog.gstreamer:
19209         * gst/base/gstpushsrc.c:
19210         * gst/gstclock.c:
19211           fixed typos
19212
19213 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19214
19215         * gst/glib-compat.c: (gst_flags_get_first_value):
19216         * gst/glib-compat.h:
19217         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
19218         (gst_value_compare_double), (gst_value_serialize_flags):
19219           GLib 2.6 g_flags_get_first_value has a bug that triggers an
19220           infinite loop
19221
19222 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19223
19224         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19225         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19226           fix up debugging
19227         * tools/gst-launch.c: (event_loop):
19228           print out clock nicely
19229
19230 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
19231
19232         * docs/gst/gstreamer-sections.txt:
19233         * gst/gsttaglist.h:
19234         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
19235         (gst_tag_list_get_date_index):
19236           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
19237           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
19238
19239 2005-10-13  Julien MOUTTE  <julien@moutte.net>
19240
19241         * gst/base/gstcollectpads.c: (gst_collectpads_event),
19242         (gst_collectpads_chain):
19243         * gst/base/gstcollectpads.h: Handle newsegment and store informations
19244         in CollectData.
19245
19246 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
19247
19248         * docs/gst/gstreamer-sections.txt:
19249         * gst/gst.c:
19250         * gst/gsterror.h:
19251         * tools/gst-inspect.c: (main):
19252         * tools/gst-launch.c: (main):
19253         * tools/gst-run.c: (main):
19254         * tools/gst-xmlinspect.c: (main):
19255           fix GOption context leaks
19256           doc fixes
19257
19258 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19259
19260         * gst/gstbus.c:
19261           use HAVE_UNISTD_H
19262         * win32/common/config.h:
19263           update config
19264         * win32/vs6/grammar.dsp:
19265         * win32/vs6/libgstelements.dsp:
19266         * win32/vs6/libgstreamer.dsp:
19267           update vs6 files
19268
19269 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19270
19271         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19272         * gst/base/gstbasesrc.c: (gst_base_src_query):
19273           fix more guint64<->gdouble conversions
19274
19275 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19276
19277         * Makefile.am:
19278           add win32-update target
19279         * win32/common/gstconfig.h:
19280         * win32/common/gstenumtypes.c:
19281         * win32/common/gstenumtypes.h:
19282         * win32/common/gstversion.h:
19283           add files that visual studio can't generate
19284
19285 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19286
19287         * Makefile.am:
19288           add a win32-update target
19289         * configure.ac:
19290
19291 2005-10-12  Wim Taymans  <wim@fluendo.com>
19292
19293         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
19294         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
19295         * gst/gstelement.c: (gst_element_commit_state),
19296         (gst_element_set_state):
19297         Protect flags with proper lock.
19298         unref provided cached clock in dispose.
19299
19300 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
19301
19302         * gst/gst.c:
19303         * gst/gstminiobject.h:
19304         * gst/gstpad.h:
19305         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
19306           removed unused flags from miniobject
19307           doc fixes
19308
19309 2005-10-12  Wim Taymans  <wim@fluendo.com>
19310
19311         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
19312         (gst_file_sink_event), (gst_file_sink_render):
19313         Flush before seeking.
19314
19315 2005-10-12  Andy Wingo  <wingo@pobox.com>
19316
19317         * gst/gst.c (gst_init_check): Ignore unknown options, as has
19318         always been the case.
19319
19320 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
19321
19322         * check/gst/gstbin.c: (GST_START_TEST):
19323         * docs/gst/gstreamer-sections.txt:
19324         * gst/base/gstbasesink.c: (gst_base_sink_init):
19325         * gst/base/gstbasesrc.c: (gst_base_src_init),
19326         (gst_base_src_get_range), (gst_base_src_check_get_range),
19327         (gst_base_src_start), (gst_base_src_stop):
19328         * gst/base/gstbasesrc.h:
19329         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
19330         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
19331         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
19332         (bin_bus_handler):
19333         * gst/gstbin.h:
19334         * gst/gstbuffer.h:
19335         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
19336         * gst/gstbus.h:
19337         * gst/gstelement.c: (gst_element_is_locked_state),
19338         (gst_element_set_locked_state), (gst_element_commit_state),
19339         (gst_element_set_state):
19340         * gst/gstelement.h:
19341         * gst/gstindex.c: (gst_index_init):
19342         * gst/gstindex.h:
19343         * gst/gstminiobject.h:
19344         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
19345         (gst_object_set_parent):
19346         * gst/gstobject.h:
19347         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
19348         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
19349         * gst/gstpad.h:
19350         * gst/gstpadtemplate.h:
19351         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
19352         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
19353         * gst/gstpipeline.h:
19354         * gst/indexers/gstfileindex.c: (gst_file_index_load),
19355         (gst_file_index_commit):
19356         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
19357         * testsuite/pad/link.c: (gst_test_src_init),
19358         (gst_test_filter_init), (gst_test_sink_init):
19359         * testsuite/states/locked.c: (main):
19360           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
19361           moved bitshift from macro to enum definition
19362
19363 2005-10-12  Wim Taymans  <wim@fluendo.com>
19364
19365         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
19366         * gst/elements/gstfilesink.c: (gst_file_sink_event),
19367         (gst_file_sink_render):
19368         Some more debugging info.
19369
19370 2005-10-12  Wim Taymans  <wim@fluendo.com>
19371
19372         * docs/design/part-states.txt:
19373         * tools/gst-launch.c: (main):
19374         Some doc updates.
19375         Revert non-intentional change.
19376
19377 2005-10-12  Wim Taymans  <wim@fluendo.com>
19378
19379         * check/gst/gstbin.c: (GST_START_TEST):
19380         * check/gst/gstelement.c: (GST_START_TEST):
19381         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
19382         * check/gst/gstghostpad.c: (GST_START_TEST):
19383         * check/gst/gstpipeline.c: (GST_START_TEST):
19384         * check/pipelines/simple_launch_lines.c: (run_pipeline):
19385         * check/states/sinks.c: (GST_START_TEST):
19386         * gst/elements/gsttypefindelement.c: (stop_typefinding):
19387         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19388         (gst_bin_remove_func), (gst_bin_get_state_func),
19389         (gst_bin_recalc_state), (gst_bin_change_state_func),
19390         (bin_bus_handler):
19391         * gst/gstelement.c: (gst_element_get_state_func),
19392         (gst_element_get_state), (gst_element_abort_state),
19393         (gst_element_commit_state), (gst_element_set_state),
19394         (gst_element_change_state), (gst_element_change_state_func):
19395         * gst/gstelement.h:
19396         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
19397         (gst_pipeline_provide_clock_func):
19398         * gst/gstutils.c: (gst_element_link_pads_filtered):
19399         * tools/gst-launch.c: (main):
19400         * tools/gst-typefind.c: (main):
19401         Use GstClockTime in _get_state() instead of GTimeVal.
19402         Remove old code in gstutils.c
19403
19404 2005-10-12  Andy Wingo  <wingo@pobox.com>
19405
19406         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
19407         removed.
19408
19409         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
19410         there is no task. Shouldn't affect any code, as nothing in our
19411         plugins checks this return value.
19412         (gst_pad_stop_task): Also take the stream lock if the pad has no
19413         task. Docs updated.
19414
19415 2005-10-12  Wim Taymans  <wim@fluendo.com>
19416
19417         * gst/gstpad.c: (pre_activate), (post_activate),
19418         (gst_pad_activate_pull), (gst_pad_activate_push):
19419         Cleanup activation code. Reset old state if
19420         activation failed.
19421
19422 2005-10-12  Wim Taymans  <wim@fluendo.com>
19423
19424         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19425         (gst_base_sink_change_state):
19426         No need to prerol after receiving EOS.
19427
19428         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
19429         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
19430         * gst/elements/gstidentity.c: (gst_identity_event):
19431         Print events more verbosely.
19432
19433 2005-10-12  Wim Taymans  <wim@fluendo.com>
19434
19435         * check/Makefile.am:
19436         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
19437         * check/states/sinks2.c:
19438         Moved sinks2 testcode in sinks check.
19439
19440         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19441         (gst_bin_remove_func), (gst_bin_recalc_state),
19442         (gst_bin_change_state_func), (bin_bus_handler):
19443         Fix potential race condition when _get_state() iterated over an
19444         ASYNC element right before it posted a state completion.
19445
19446         * gst/gstclock.h:
19447         Do proper cast here.
19448
19449         * gst/gstevent.c: (gst_event_new_newsegment),
19450         (gst_event_parse_newsegment):
19451         A playback rate of 0.0 is not allowed.
19452
19453 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19454
19455         * win32/common/config.h:
19456         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
19457         (_trewinddir), (_ttelldir), (_tseekdir):
19458         * win32/common/dirent.h:
19459         * win32/common/gtchar.h:
19460         * win32/common/libgstbase.def:
19461         * win32/common/libgstreamer.def:
19462         * win32/vs6/grammar.dsp:
19463         * win32/vs6/gst_inspect.dsp:
19464         * win32/vs6/gst_launch.dsp:
19465         * win32/vs6/gstreamer.dsw:
19466         * win32/vs6/libgstbase.dsp:
19467         * win32/vs6/libgstelements.dsp:
19468         * win32/vs6/libgstreamer.dsp:
19469           Visual Studio 6 project files, and a new common directory.
19470           Phear.
19471
19472 2005-10-11  Wim Taymans  <wim@fluendo.com>
19473
19474         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19475         (gst_base_sink_do_sync), (gst_base_sink_query),
19476         (gst_base_sink_change_state):
19477         * gst/base/gstbasesink.h:
19478         Correctly parse newsegment info.
19479
19480 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19481
19482         * gst/gst.c: (init_post):
19483           split plugin paths correctly
19484
19485 2005-10-11  Wim Taymans  <wim@fluendo.com>
19486
19487         * check/gst/gstevent.c: (GST_START_TEST):
19488         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19489         (gst_base_sink_change_state):
19490         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
19491         * gst/base/gstbasetransform.c: (gst_base_transform_event):
19492         * gst/elements/gstfilesink.c: (gst_file_sink_event):
19493         * gst/gstevent.c: (gst_event_new_newsegment),
19494         (gst_event_parse_newsegment):
19495         * gst/gstevent.h:
19496         Added extra flag to newsegment for future API freeze.
19497         Updated check and base elements.
19498
19499 2005-10-11  Julien MOUTTE  <julien@moutte.net>
19500
19501         * gst/base/gstcollectpads.c: (gst_collectpads_init),
19502         (gst_collectpads_add_pad), (gst_collectpads_pop),
19503         (gst_collectpads_event), (gst_collectpads_chain):
19504         * gst/base/gstcollectpads.h: Handle EOS correctly.
19505
19506 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19507
19508         * tools/gst-launch.c: (main):
19509           more null protecting
19510
19511 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19512
19513         * gst/gst-i18n-lib.h:
19514           check for ENABLE_NLS, not GETTEXT_PACKAGE
19515         * gst/gstregistry.c: (gst_registry_add_plugin),
19516         (gst_registry_scan_path_level),
19517         (_gst_registry_remove_cache_plugins):
19518           protect possibly NULL strings
19519         * gst/parse/types.h:
19520           config.h already included before
19521         * tools/gst-inspect.c: (main):
19522           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
19523           check for ENABLE_NLS, not GETTEXT_PACKAGE
19524         * tools/gst-launch.c: (main):
19525           check for ENABLE_NLS, not GETTEXT_PACKAGE
19526
19527 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19528
19529         * configure.ac:
19530           if we don't have glib, fail before testing 2.8
19531         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
19532           fix a leak, should fix plugins-base testsuite
19533
19534 2005-10-11  Andy Wingo  <wingo@pobox.com>
19535
19536         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
19537         take the mode we're going to as an arg. Go head and set the mode
19538         and flushing flags now, so that if the activate function starts a
19539         thread all the flags will be in the right state.
19540         (post_activate): Renamed also. Just handle making sure streaming
19541         finishes for the deactivation case, and setting the deactivated
19542         mode.
19543         (gst_pad_set_active): Complain loudly if deactivation fails.
19544         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
19545         (gst_pad_activate_push): Adapt to pre/post_activate changes,
19546         remove the terrible hack.
19547
19548 2005-10-11  Wim Taymans  <wim@fluendo.com>
19549
19550         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
19551         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
19552         (gst_bin_recalc_state), (gst_bin_change_state_func),
19553         (gst_bin_dispose), (bin_bus_handler):
19554         * gst/gstbin.h:
19555         Prepare to make current EOS message queue more generic.
19556         Fix some typos.
19557
19558         * gst/gstevent.c: (gst_event_new_newsegment),
19559         (gst_event_parse_newsegment):
19560         * gst/gstevent.h:
19561         Rename base to stream_time.
19562
19563         * gst/gstmessage.h:
19564         Fix typo in docs.
19565
19566 2005-10-11  Wim Taymans  <wim@fluendo.com>
19567
19568         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
19569         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
19570         (gst_bin_change_state_func), (bin_bus_handler):
19571         * gst/gstbin.h:
19572         Work on proper clock selection.
19573
19574 2005-10-11  Edward Hervey  <edward@fluendo.com>
19575
19576         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
19577         * libs/gst/controller/gstcontroller.h:
19578         Added GList* version of _remove_properties() in order to be able to wrap
19579         it in bindings.
19580
19581 2005-10-11  Wim Taymans  <wim@fluendo.com>
19582
19583         * docs/design/part-states.txt:
19584         Some more docs.
19585
19586         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
19587         (gst_bin_change_state_func), (bin_bus_handler):
19588         Doc updates. Don't distribute the same clock over and over again.
19589
19590         * gst/gstclock.c:
19591         * gst/gstclock.h:
19592         Doc updates.
19593
19594         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
19595         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
19596         (gst_pad_send_event):
19597         * gst/gstpad.h:
19598         Make probe emission threadsafe again.
19599         Register quarks and move _get_name() from utils.
19600         Doc updates.
19601
19602         * gst/gstpipeline.c: (gst_pipeline_class_init),
19603         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
19604         Only redistribute the clock of it changed.
19605
19606         * gst/gstsystemclock.h:
19607         Doc updates. 
19608
19609         * gst/gstutils.c:
19610         * gst/gstutils.h:
19611         Moved the _flow_get_name() to GstPad.
19612
19613 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19614
19615         * check/gst-libs/gdp.c: (GST_START_TEST):
19616         * check/gst/gstcaps.c: (GST_START_TEST):
19617         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
19618         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
19619         (gst_dp_packet_from_caps):
19620           fix more valgrind warnings before turning up the heat
19621
19622 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19623
19624         * gst/parse/grammar.y:
19625           some cleanup before the hacking
19626
19627 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19628
19629         * gst/base/gstbasesrc.c: (gst_base_src_query):
19630           use conversions
19631         * gst/gstutils.c: (gst_guint64_to_gdouble),
19632         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
19633         * gst/gstutils.h:
19634           externalize, basesrc uses it
19635           obviously the implementation needs testing
19636
19637 2005-10-10  Wim Taymans  <wim@fluendo.com>
19638
19639         * tests/sched/Makefile.am:
19640         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
19641         (make_pipeline3), (make_pipeline4), (print_elem), (main):
19642
19643 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19644
19645         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
19646           apparently converting from guint64 to double is not implemented
19647           on MSVC
19648
19649 2005-10-10  Wim Taymans  <wim@fluendo.com>
19650
19651         * check/Makefile.am:
19652         * check/generic/states.c: (GST_START_TEST):
19653         * check/gst/gstbin.c: (GST_START_TEST):
19654         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
19655         * check/states/sinks.c: (GST_START_TEST):
19656         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
19657         (main):
19658         Check fixes, use API as stated in design docs, remove hacks.
19659
19660         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19661         (gst_base_sink_change_state):
19662         Catch stopping our task while we're shutting down.
19663
19664         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
19665         (gst_bin_remove_func), (gst_bin_get_state_func),
19666         (gst_bin_recalc_state), (gst_bin_change_state_func),
19667         (bin_bus_handler):
19668         * gst/gstbin.h:
19669         * gst/gstelement.c: (gst_element_init),
19670         (gst_element_get_state_func), (gst_element_abort_state),
19671         (gst_element_commit_state), (gst_element_lost_state),
19672         (gst_element_set_state), (gst_element_change_state),
19673         (gst_element_change_state_func):
19674         * gst/gstelement.h:
19675         New state change algorithm (see #318116)
19676
19677         * gst/gstpipeline.c: (gst_pipeline_class_init),
19678         (gst_pipeline_init), (gst_pipeline_set_property),
19679         (gst_pipeline_get_property), (do_pipeline_seek),
19680         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
19681         * gst/gstpipeline.h:
19682         Remove crude state change hacks.
19683
19684         * gst/gstutils.h:
19685         Remove crude hacks.
19686
19687         * tools/gst-launch.c: (main):
19688         Fixes for state change. Needs some more work to fully use the
19689         new stuff.
19690
19691 2005-10-10  Andy Wingo  <wingo@pobox.com>
19692
19693         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
19694
19695         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
19696         this flag, but it's not even in GLib 2.6. Odd. Hack around the
19697         issue.
19698
19699 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19700
19701         * gst/gstiterator.c: (gst_iterator_new):
19702           Fix my previous commit: GTypes passed to gst_iterator_new()
19703           can be fundamental types.
19704
19705 2005-10-10  Wim Taymans  <wim@fluendo.com>
19706
19707         * gst/gstelement.c: (gst_element_iterate_pad_list),
19708         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
19709         (gst_element_iterate_sink_pads):
19710         Use src/sink pads lists for the respective iterators instead
19711         of filtering.
19712
19713 2005-10-10  Andy Wingo  <wingo@pobox.com>
19714
19715         Merged in popt removal + GOption addition patch from Ronald, bug
19716         #169772.
19717
19718         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
19719         GstElement macros around, remove popt-related symbols, add goption
19720         stuff.
19721
19722         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
19723         
19724         * docs/gst/Makefile.am:
19725         * docs/libs/Makefile.am: No POPT_CFLAGS.
19726         
19727         * examples/manual/Makefile.am:
19728         * docs/manual/basics-init.xml: Doc updates with an example.
19729         
19730         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
19731         (gst_init), (parse_one_option), (parse_goption_arg):
19732         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
19733         bit of hand merging and debugging to get the GOption stuff working
19734         tho.
19735         
19736         * tests/Makefile.am:
19737         * tools/Makefile.am:
19738         * tools/gst-inspect.c: (main):
19739         * tools/gst-launch.c: (main):
19740         * tools/gst-run.c: (main):
19741         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
19742
19743 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19744
19745         * gst/gstiterator.c: (gst_iterator_new):
19746           Add assertions to make sure passed GType is likely to really
19747           be a GType (as the compiler won't catch it if the size and
19748           GType arguments get mixed up, see #318447).
19749
19750 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
19751
19752         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19753
19754         * gst/gstbin.c: (gst_bin_iterate_sorted):
19755           Pass GType and size arguments to gst_iterator_new() in the right
19756           order (maybe we should make _new() take the GType as first argument
19757           just like _new_list()?) (#318447).
19758           
19759
19760 2005-10-10  Wim Taymans  <wim@fluendo.com>
19761
19762         * gst/gstelement.c: (gst_element_finalize):
19763         And free the GStaticRecMutex too
19764
19765 2005-10-10  Andy Wingo  <wingo@pobox.com>
19766
19767         * gst/gstelement.c (gst_element_init, gst_element_finalize):
19768         Allocate and free the mutex properly.
19769
19770         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
19771         New macros.
19772         (GstElement): The state_lock is now recursive. Rebuild your
19773         plugins, suckers. Old macros adapted.
19774
19775         * docs/gst/gstreamer-sections.txt: Doc updates.
19776
19777         * gst/gstutils.h:
19778         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
19779         (g_static_rec_cond_wait): Ported from state changes patch, while
19780         we wait on bug #317802 to be solved in a well-distributed GLib.
19781
19782         * gst/gstelement.c (gst_element_change_state_func): Renamed from
19783         gst_element_change_state, variable name changes.
19784         (gst_element_change_state): Split out of gst_element_set_state in
19785         preparation for the state change merge. Doesn't pay attention to
19786         the 'transition' argument.
19787         (gst_element_set_state): Updates, hopefully purely cosmetic.
19788         (gst_element_sync_state_with_parent): MT-safety. Ported from the
19789         state change patch.
19790         (gst_element_get_state_func): Renamed from get_state, cosmetic
19791         changes.
19792
19793 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19794
19795         * gst/elements/gstelements.c:
19796         * win32/GStreamer.vcproj:
19797         * win32/config.h:
19798         * win32/dirent.c: (_tseekdir):
19799         * win32/gst-inspect.vcproj:
19800         * win32/gst-launch.vcproj:
19801         * win32/gstconfig.h:
19802         * win32/gstelements.vcproj:
19803         * win32/gstenumtypes.c: (gst_object_flags_get_type):
19804         * win32/gstreamer.def:
19805         * win32/msvc71.sln:
19806           updates for the win32 build (patch from Sebastien Moutte)
19807
19808 2005-10-10  Andy Wingo  <wingo@pobox.com>
19809
19810         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
19811         gst_bin_get_state, cleaned up (but no logic changes).
19812         (bin_element_is_sink): Comment updates.
19813         (sink_iterator_filter): Remove needless cast.
19814         (gst_bin_iterate_sinks): Doc update.
19815         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
19816         cleaned up (but no logic changes).
19817
19818         * check/states/sinks.c (test_src_sink): Cleanups from the state
19819         change patch.
19820         (test_livesrc_sink): Sync on the state.
19821
19822         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
19823         the state change patch.
19824
19825         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
19826         change patch.
19827
19828         * check/gst/gstbin.c: Merge in some style fixes and additional
19829         checks from Wim's state change patch.
19830
19831 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19832
19833         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19834         (gst_type_find_helper):
19835           Check whether we have the requested data already in our list of
19836           cached buffers before pulling a new buffer; also make the buffer
19837           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
19838
19839 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19840
19841         * gst/gstcaps.c:
19842         * gst/gstevent.c:
19843           doc updates
19844         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
19845           don't use long long, it's not portable.  Replacing with
19846           gint64 seems to work; let's hope no skeletons fall out of the closet.
19847
19848 2005-10-10  Andy Wingo  <wingo@pobox.com>
19849
19850         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
19851
19852 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
19853
19854         * docs/gst/gstreamer-sections.txt:
19855         * gst/gstevent.c:
19856         * gst/gstevent.h:
19857         * gst/gstinfo.c:
19858         * gst/gstinfo.h:
19859         * gst/gstmessage.c: (gst_message_parse_state_changed):
19860         * gst/gstpad.c:
19861         * gst/gstpad.h:
19862           more docs, fix compilation
19863
19864 2005-10-09  Philippe Khalaf <burger@speedy.org>
19865         * gst/gstmessage.c:
19866           Fixed a few forgotten variables on previous commit
19867
19868 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
19869
19870         * gst/base/gsttypefindhelper.c: (helper_find_peek):
19871           Fix evil typefind crasher: getrange() might return a short
19872           buffer at the end of a file, but gst_type_find_peek() must
19873           either return the full data as requested or NULL, but
19874           never a short buffer.
19875
19876 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19877
19878         * gst/gstmessage.c: (gst_message_new_state_changed),
19879         (gst_message_parse_state_changed):
19880         * gst/gstmessage.h:
19881           don't use "new", it's a C++ keyword
19882
19883 2005-10-08  Wim Taymans  <wim@fluendo.com>
19884
19885         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
19886         * gst/gstelement.c: (gst_element_post_message):
19887         * gst/gstpipeline.c: (gst_pipeline_change_state):
19888         Small docs and debug updates.
19889
19890 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
19891
19892         * docs/gst/gstreamer-sections.txt:
19893         * gst/gstelementfactory.c:
19894         * gst/gstevent.c:
19895         * gst/gsttaglist.c:
19896           more docs
19897
19898 2005-10-08  Wim Taymans  <wim@fluendo.com>
19899
19900         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
19901         (gst_bin_dispose), (bin_bus_handler):
19902         Fix typos, add comments.
19903         Clear EOS list when going to PAUSED from any direction and do it
19904         in a threadsafe way.
19905         Get base time in a threadsafe way too.
19906         Fix confusing debug in the change_state function.
19907         Various other small cleanups.
19908         
19909         * gst/gstelement.c: (gst_element_post_message):
19910         Fix very verbose bus posting code.
19911
19912         * gst/gstpipeline.c: (gst_pipeline_class_init),
19913         (gst_pipeline_set_property), (gst_pipeline_get_property),
19914         (gst_pipeline_change_state):
19915         Small ARG_ -> PROP_ cleanup
19916
19917 2005-10-08  Wim Taymans  <wim@fluendo.com>
19918
19919         * gst/gstbin.c: (is_eos), (bin_bus_handler):
19920         Do a less CPU demanding EOS check because we can.
19921
19922 2005-10-08  Wim Taymans  <wim@fluendo.com>
19923
19924         * libs/gst/dataprotocol/dataprotocol.c:
19925         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
19926         (gst_dp_packet_from_event):
19927         * libs/gst/dataprotocol/dataprotocol.h:
19928         * libs/gst/dataprotocol/dp-private.h:
19929         It's about time we bump the version number.
19930         Since event types don't fit in the guint8 anymore describing
19931         the payload type, make payload type 16 bits wide.
19932
19933 2005-10-08  Wim Taymans  <wim@fluendo.com>
19934
19935         * docs/design/part-TODO.txt:
19936         * docs/design/part-clocks.txt:
19937         * docs/design/part-events.txt:
19938         * docs/design/part-gstbin.txt:
19939         * docs/design/part-gstelement.txt:
19940         * docs/design/part-gstpipeline.txt:
19941         * docs/design/part-live-source.txt:
19942         * docs/design/part-messages.txt:
19943         * docs/design/part-overview.txt:
19944         * docs/design/part-states.txt:
19945         Many doc updates.
19946
19947 2005-10-08  Wim Taymans  <wim@fluendo.com>
19948
19949         * gst/gstevent.c:
19950         * gst/gstevent.h:
19951         Fix event quark registration.
19952         Add some space between events so we can insert them in the
19953         right groups.
19954
19955 2005-10-08  Wim Taymans  <wim@fluendo.com>
19956
19957         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19958         (gst_base_sink_handle_buffer):
19959         Better log message.
19960
19961         * gst/gstbus.h:
19962         * gst/gstelement.h:
19963         More docs.
19964
19965         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
19966         (gst_queue_set_property), (gst_queue_get_property):
19967         * gst/gstqueue.h:
19968         Remove old unused properties.
19969
19970 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
19971         * docs/gst/gstreamer-sections.txt:
19972         * gst/gstmessage.c:
19973         * gst/gstmessage.h:
19974         * gst/gstminiobject.c:
19975         * gst/gstminiobject.h:
19976         * gst/gstobject.h:
19977         * gst/gstpad.h:
19978         * gst/gstutils.h:
19979           lots of new docs and doc fixes
19980
19981 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19982
19983         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
19984         * gst/gstplugin.h:
19985         * gst/gstregistry.c: (gst_registry_lookup_locked),
19986         (gst_registry_scan_path_level):
19987         * gst/gstregistryxml.c: (load_plugin):
19988           Only ever load one plugin for a given plugin basename.
19989           This ensures correct overriding of GST_PLUGIN_PATH over
19990           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
19991           system installed plugins.
19992
19993 2005-10-08  Wim Taymans  <wim@fluendo.com>
19994
19995         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19996         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
19997         Prepare for doing QOS.
19998
19999 2005-10-08  Wim Taymans  <wim@fluendo.com>
20000
20001         * check/gst/gstbin.c: (GST_START_TEST):
20002         * check/pipelines/cleanup.c: (GST_START_TEST):
20003         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
20004         Allow new clock message too.
20005
20006 2005-10-08  Wim Taymans  <wim@fluendo.com>
20007
20008         * gst/gstmessage.c: (gst_message_new_error),
20009         (gst_message_new_warning), (gst_message_new_tag),
20010         (gst_message_new_state_changed), (gst_message_new_clock_provide),
20011         (gst_message_new_clock_lost), (gst_message_new_new_clock),
20012         (gst_message_new_segment_start), (gst_message_new_segment_done),
20013         (gst_message_parse_state_changed),
20014         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
20015         (gst_message_parse_new_clock):
20016         * gst/gstmessage.h:
20017         Also carry the clock in question.
20018
20019 2005-10-08  Wim Taymans  <wim@fluendo.com>
20020
20021         * gst/gstmessage.c: (gst_message_new_custom),
20022         (gst_message_new_eos), (gst_message_new_error),
20023         (gst_message_new_warning), (gst_message_new_tag),
20024         (gst_message_new_state_changed), (gst_message_new_clock_provide),
20025         (gst_message_new_new_clock), (gst_message_new_segment_start),
20026         (gst_message_new_segment_done), (gst_message_parse_state_changed),
20027         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
20028         * gst/gstmessage.h:
20029         Clean up.
20030         Added clock related messages.
20031
20032         * gst/gstpipeline.c: (gst_pipeline_change_state):
20033         Post message when the clock changed.
20034
20035         * tools/gst-launch.c: (event_loop):
20036         Print new clock.
20037
20038 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
20039
20040         * tools/gst-inspect.c: (print_element_properties_info):
20041           Can't pass NULL strings to g_print() on windows.
20042
20043 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20044
20045         * docs/Makefile.am:
20046         * docs/gst/Makefile.am:
20047         * docs/gst/gstreamer-docs.sgml:
20048         * docs/gst/running.xml:
20049         * docs/version.entities.in:
20050           add a chapter on running GStreamer.
20051           document GST_DEBUG and GST_PLUGIN* env vars
20052
20053 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20054
20055         * Makefile.am:
20056           remove include dir
20057         * configure.ac:
20058           remove PLUGINS_BUILDDIR stuff
20059         * gst/gst.c: (init_post):
20060           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
20061         * idiottest.mak:
20062           remove, it was condescending and not needed
20063
20064 2005-10-08  Wim Taymans  <wim@fluendo.com>
20065
20066         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
20067         (gst_base_sink_handle_object), (gst_base_sink_event),
20068         (gst_base_sink_wait), (gst_base_sink_handle_event),
20069         (gst_base_sink_change_state):
20070         * gst/base/gstbasesink.h:
20071         Repost EOS message while going to PLAYING if still EOS.
20072         Make sure that when receiving a FLUSH_START we don't attempt
20073         to sync on the clock anymore.
20074
20075 2005-10-08  Wim Taymans  <wim@fluendo.com>
20076
20077         * tools/gst-launch.c: (event_loop):
20078         Better message printout.
20079
20080 2005-10-08  Wim Taymans  <wim@fluendo.com>
20081
20082         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
20083         (gst_bin_child_proxy_get_children_count):
20084         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
20085         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
20086         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
20087         (gst_child_proxy_set_valist):
20088         * gst/parse/grammar.y:
20089         Make ChildProxy threadsafe and fix mem leaks.
20090
20091 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20092
20093         * gst/gst.c: (init_post):
20094           debug the GST_PLUGIN_ env vars
20095
20096 2005-10-08  Wim Taymans  <wim@fluendo.com>
20097
20098         * check/gst/gstbin.c: (GST_START_TEST):
20099         * check/gst/gstmessage.c: (GST_START_TEST):
20100         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
20101         * gst/gstelement.c: (gst_element_commit_state),
20102         (gst_element_lost_state):
20103         * gst/gstmessage.c: (gst_message_new_state_changed),
20104         (gst_message_parse_state_changed):
20105         * gst/gstmessage.h:
20106         * tools/gst-launch.c: (event_loop):
20107         Added extra field to STATE_CHANGE message with the pending
20108         state, which will be different from the new state soon.
20109
20110 2005-10-08  Wim Taymans  <wim@fluendo.com>
20111
20112         * gst/gstbus.c: (gst_bus_pop):
20113         * gst/gstclock.c:
20114         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20115         Small cleanups and doc updates.
20116
20117 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20118
20119         * gst/gst.c: (init_pre):
20120         * gst/gstbin.c: (gst_bin_add_func):
20121           log distributing clocks and base time
20122         * gst/gstregistry.c: (gst_registry_add_plugin),
20123         (gst_registry_scan_path_level), (gst_registry_scan_path):
20124           clean up the debugging output a little
20125         * gst/gstutils.c: (gst_element_state_get_name):
20126           warn about a memleak (I've actually seen this be used, though
20127           it was probably a bug)
20128
20129 2005-10-07  Wim Taymans  <wim@fluendo.com>
20130
20131         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20132         (gst_base_src_init), (gst_base_src_default_newsegment),
20133         (gst_base_src_newsegment), (gst_base_src_do_seek),
20134         (gst_base_src_loop), (gst_base_src_start):
20135         * gst/base/gstbasesrc.h:
20136         Make the newsegment event customizable by subclasses.
20137
20138 2005-10-07  Wim Taymans  <wim@fluendo.com>
20139
20140         * gst/gstevent.c: (gst_event_new_buffersize),
20141         (gst_event_parse_buffersize):
20142         * gst/gstevent.h:
20143         New event for future idea.
20144
20145 2005-10-07  Andy Wingo  <wingo@pobox.com>
20146
20147         * gst/gstelement.c (gst_element_post_message): Doc update.
20148
20149         * docs/gst/gstreamer-sections.txt: Update.
20150
20151         * gst/gstmessage.c (gst_message_new_application): Made into a
20152         function like honest API calls.
20153         (gst_message_new_element): New message type.
20154
20155         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
20156
20157         * check/elements/fakesrc.c (test_no_preroll): New check, checks
20158         that setting a live fakesrc to PAUSED returns NO_PREROLL both
20159         times.
20160
20161         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
20162         NO_PREROLL from gst_element_change_state to fall through.
20163
20164 2005-10-07  Wim Taymans  <wim@fluendo.com>
20165
20166         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
20167         (gst_ghost_pad_do_activate_push):
20168         Activating a ghostpad with no internal pad in push mode
20169         is ok.
20170
20171 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
20172
20173         * gst/gstobject.h:
20174           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
20175           Fixes compilation on Windows.
20176
20177 2005-10-07  Michael Smith <msmith@fluendo.com>
20178
20179         * tools/gst-inspect.c:
20180           Print out feature and plugin count at the end when printing out
20181           all features.
20182
20183 2005-10-04  Michael Smith <msmith@fluendo.com>
20184
20185         * gst/gsterror.c: (_gst_stream_errors_init):
20186           Add another error string used in a few existing plugins.
20187
20188         * gst/gstplugin.c:
20189         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20190         * tools/gst-inspect.c: (print_element_info):
20191           When a feature disappears from a plugin (and the feature exists in
20192           the cached registry file), things went horribly wrong. This isn't a
20193           complete fix, we should actually be removing the 'missing' features
20194           from the features list when we load the actual plugin. That's not
20195           yet implemented. 
20196
20197 2005-10-04  Johan Dahlin  <johan@gnome.org>
20198
20199         * check/gst/gstiterator.c: (GST_START_TEST):
20200         * gst/gstbin.c: (gst_bin_iterate_elements),
20201         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
20202         * gst/gstelement.c: (gst_element_iterate_pads):
20203         * gst/gstformat.c: (gst_format_iterate_definitions):
20204         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
20205         (gst_iterator_new_list), (gst_iterator_filter):
20206         * gst/gstiterator.h:
20207         * gst/gstquery.c: (gst_query_type_iterate_definitions):
20208         Add a GType to GstIterator, update callsites and tests.
20209
20210 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20211
20212         * gst/gstpad.c: (gst_pad_event_default_dispatch):
20213           give events a chance to be handled by event probes when the pad
20214           is not linked
20215
20216 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20217
20218         * gst/gstevent.c: (gst_event_type_get_name),
20219         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
20220         * gst/gstevent.h:
20221           add string representations for event types
20222
20223 2005-10-06  Wim Taymans  <wim@fluendo.com>
20224
20225         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
20226         Don't use NULL pointers.
20227
20228 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20229
20230         * gst/gst_private.h:
20231         * gst/gstbus.c:
20232         * gst/gstelement.c:
20233         * gst/gstinfo.c:
20234         * gst/gstpluginfeature.c:
20235           widen the debug category in output to fit the biggest one we have
20236           add a bus category and use it
20237           play with the colors
20238           fix up some categories
20239
20240 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20241
20242         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
20243           add push activation of sink ghost pads.
20244           Andye, please verify
20245
20246 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
20247
20248         * gst/gstutils.c: (gst_element_link_pads):
20249           fix a bug in the case where neither element has a pad
20250         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
20251           add a test for that case
20252
20253 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
20254
20255         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
20256           emit have-data before checking for peers.  This allows
20257           for probe handlers to connect elements.  This helps autopluggers.
20258         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
20259         (gst_pad_suite):
20260           add six checks, linked/unlinked with no/true/false probe
20261
20262 2005-10-04  Wim Taymans  <wim@fluendo.com>
20263
20264         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
20265         (gst_fake_sink_event), (gst_fake_sink_preroll),
20266         (gst_fake_sink_render), (gst_fake_sink_change_state):
20267         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
20268         (gst_fake_src_get_property), (gst_fake_src_create),
20269         (gst_fake_src_stop):
20270         * gst/elements/gstidentity.c: (gst_identity_stop):
20271         Protect last_message with lock.
20272
20273 2005-10-04  Edward Hervey  <edward@fluendo.com>
20274
20275         * gst/gstformat.h: 
20276         Added precision in the comments for GST_FORMAT_DEFAULT
20277
20278 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
20279
20280         * tools/gst-launch.c: (main):
20281           Don't try to run erroneous pipelines.
20282
20283 2005-10-04  Julien MOUTTE  <julien@moutte.net>
20284
20285         * gst/gstbus.c: We don't need this header.
20286
20287 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20288
20289         * configure.ac:
20290           back to development
20291
20292 === release 0.9.3 ===
20293
20294 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20295
20296         * README:
20297         * configure.ac:
20298           Releasing 0.9.3, "Unregistered"
20299
20300 2005-10-03  Andy Wingo  <wingo@pobox.com>
20301
20302         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
20303         whereby calling a pad's activatepush() function can start a thread
20304         that starts to push or pull before the pad gets the FLUSHING flag
20305         unset. Hack around it by holding the stream lock until the flag is
20306         set. Need to replace this with a proper solution. Together with
20307         the ghost pad fixes, this fixes mp3 playing/tagreading.
20308
20309         * docs/design/part-gstghostpad.txt: Add a note about activation of
20310         proxy pads outside of ghost pads.
20311
20312         * gst/gstghostpad.c: Implement the ghost pad activation design.
20313
20314 2005-10-02  Andy Wingo  <wingo@pobox.com>
20315
20316         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
20317         It is volatile, after all.
20318
20319         * docs/design/part-gstghostpad.txt: Flesh out activation with
20320         ghost pads.
20321
20322         * gst/base/gstbasesrc.c (gst_base_src_init): Use
20323         GST_DEBUG_FUNCPTR.
20324
20325 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
20326
20327         * configure.ac:
20328           Fix (unused) AM_CONDITIONAL tests.
20329
20330 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
20331
20332         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20333
20334         * gst/gstutils.c: (gst_pad_query_convert):
20335           Add assertion that makes sure src_val is >=0, just like
20336           gst_query_new_convert() has. (#315895)
20337
20338 2005-09-30  Edward Hervey  <edward@fluendo.com>
20339
20340         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
20341         Let's not iterate pads we're not interested in, it avoids getting 
20342         sky-high refcounts on sinkpad.
20343
20344 2005-09-30  Wim Taymans  <wim@fluendo.com>
20345
20346         * gst/gstelement.c: (gst_element_set_state),
20347         (gst_element_change_state):
20348         Small tweak, element in ASYNC remains ASYNC.
20349
20350 2005-09-30  Wim Taymans  <wim@fluendo.com>
20351
20352         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20353         Only error is an error.
20354
20355         * gst/gstbin.c: (gst_bin_change_state):
20356         Better debugging.
20357
20358         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
20359         Also call pad_block in pad alloc.
20360
20361         * gst/gstutils.c: (gst_flow_get_name):
20362         Better debugging.
20363
20364 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
20365
20366         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20367         (gst_base_src_get_range):
20368           Fix documentation typos. Add some more debug info.
20369
20370 2005-09-29  David Schleef  <ds@schleef.org>
20371
20372         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
20373           more end-user friendly.
20374         * tools/gst-inspect.c: (main): Check if command-line argument is
20375           a file and attempt to load that file as a plugin.
20376
20377 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20378
20379         * check/gst/gstbin.c:
20380         * check/states/sinks.c:
20381           fix tests for the new warning
20382         * check/gst/gstpipeline.c:
20383           add a test for pipeline and bus interaction
20384         * gst/gstelement.c:
20385           elements should be NULL if they get disposed; add a warning if not
20386
20387 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20388
20389         * gst/gstobject.c:
20390           for 2.6 refcounting, make debug log more correct by printing
20391           the actual refcounts at the time of swap (Wim)
20392
20393 2005-09-29  Andy Wingo  <wingo@pobox.com>
20394
20395         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
20396         removes signal watches previously added via
20397         gst_bus_add_signal_watch.
20398         (gst_bus_add_signal_watch): Don't return the source id, just store
20399         it on the bus if there wasn't an id already.
20400
20401         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
20402         add_signal_watch and remove_signal_watch.
20403
20404 2005-09-29  Edward Hervey  <edward@fluendo.com>
20405
20406         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
20407         Better if we actually iterate the list :)
20408
20409 2005-09-29  Wim Taymans  <wim@fluendo.com>
20410
20411         * check/gst/gstbin.c: (GST_START_TEST):
20412         Change for new bus API.
20413
20414         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
20415         (send_messages), (GST_START_TEST), (gstbus_suite):
20416         Change for new bus signal API.
20417
20418         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
20419         (gst_bus_source_prepare), (gst_bus_source_check),
20420         (gst_bus_create_watch), (gst_bus_add_watch_full),
20421         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
20422         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
20423         * gst/gstbus.h:
20424         Remove support for multiple GSources operating on different
20425         message types as it is too complex and unneeded when using
20426         signals.
20427         Added support for receiving signals from the bus.
20428
20429 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20430
20431         * docs/libs/tmpl/gstdataprotocol.sgml:
20432         * docs/manual/advanced-dataaccess.xml:
20433         * gst/elements/gstcapsfilter.c:
20434         * gst/gstutils.c:
20435           rename filter-caps to caps property
20436
20437 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
20438
20439         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20440           More robust fraction string parsing.
20441
20442         * docs/pwg/appendix-porting.xml:
20443           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
20444
20445 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
20446
20447         * gst/gstcaps.c: (gst_caps_do_simplify):
20448           Thou shalt not free a structure and then continue using it
20449           in the next loop iteration.
20450
20451         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
20452         (gst_caps_suite):
20453           Add test case for caps simplification.
20454
20455 2005-09-29  Wim Taymans  <wim@fluendo.com>
20456
20457         * check/gst/gstbin.c: (GST_START_TEST):
20458         Oops.
20459
20460 2005-09-29  Wim Taymans  <wim@fluendo.com>
20461
20462         * check/gst/gstbin.c: (GST_START_TEST):
20463         Add bus to bin.
20464
20465         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
20466         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
20467         (find_element), (gst_bin_sort_iterator_next),
20468         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20469         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20470         (gst_bin_change_state), (gst_bin_dispose):
20471         A bin does not have a bus, it gets the bus from the parent.
20472
20473         * gst/gstelement.c: (gst_element_requires_clock),
20474         (gst_element_provides_clock), (gst_element_is_indexable),
20475         (gst_element_is_locked_state), (gst_element_change_state),
20476         (gst_element_set_bus_func):
20477         Small cleanups.
20478
20479         * gst/gstpipeline.c: (gst_pipeline_class_init),
20480         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
20481         The pipeline provides a bus.
20482
20483 2005-09-28  Johan Dahlin  <johan@gnome.org>
20484
20485         * gst/gstmessage.c (gst_message_parse_state_changed): Use
20486         gst_structure_get_enum instead of gst_structure_get_int
20487
20488         * gst/gststructure.c (gst_structure_get_enum): Impl.
20489
20490         * gst/gststructure.h (gst_structure_get_enum): Add
20491
20492         * docs/gst/gstreamer-sections.txt: Ditto
20493
20494         * gst/gstmessage.c (gst_message_new_state_changed): Use
20495         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
20496         which does introspection.
20497         Reviewed by Christian Schaller
20498
20499 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
20500
20501         * gst/gstinfo.c: (gst_debug_log_default):
20502           don't do dummy g_strdup()s
20503         * libs/gst/controller/gstcontroller.c:
20504         (on_object_controlled_property_changed),
20505         (gst_controlled_property_new), (gst_controller_new_valist),
20506         (gst_controller_new_list),
20507         (gst_controller_remove_properties_valist), (gst_controller_set),
20508         (gst_controller_get), (gst_controller_sync_values),
20509         (gst_controller_get_value_array), (_gst_controller_class_init),
20510         (gst_controller_get_type):
20511         * libs/gst/controller/gstcontroller.h:
20512         * libs/gst/controller/gstinterpolation.c:
20513         (gst_controlled_property_find_timed_value_node):
20514           convert // to /**/ comments
20515
20516 2005-09-28  Wim Taymans  <wim@fluendo.com>
20517
20518         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
20519         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
20520         (gst_bus_sync_signal_handler):
20521         * gst/gstbus.h:
20522         Added async-message and sync-message signals to the bus.
20523         Added helper BusFunc to emit signals for all posted messages.
20524
20525         * gst/gstmessage.c: (gst_message_type_get_name),
20526         (gst_message_type_to_quark), (gst_message_get_type):
20527         * gst/gstmessage.h:
20528         Register quarks for message names.
20529
20530 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
20531
20532         * docs/libs/gstreamer-libs-sections.txt:
20533         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
20534         (gst_controller_new_list):
20535         * libs/gst/controller/gstcontroller.h:
20536           added another constructor for language bindings
20537
20538 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20539
20540         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
20541           add another check
20542         * gst/gstbus.c:
20543           add some doc
20544         * gst/gstinfo.c: (_gst_debug_init):
20545           slightly more readable color for refcount debugging
20546
20547 2005-09-28  Wim Taymans  <wim@fluendo.com>
20548
20549         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20550         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
20551         (find_element), (gst_bin_sort_iterator_next),
20552         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20553         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20554         (gst_bin_change_state), (gst_bin_dispose):
20555         Small doc fixes. get_clock -> provide_clock.
20556
20557         * gst/gstelement.c: (gst_element_class_init),
20558         (gst_element_provides_clock), (gst_element_provide_clock),
20559         (gst_element_get_clock), (gst_element_commit_state),
20560         (gst_element_lost_state):
20561         * gst/gstelement.h:
20562         Make get/set_clock() symetric. Add provide_clock vmethod since
20563         that is actually what this function does.
20564
20565         * gst/gstpipeline.c: (gst_pipeline_class_init),
20566         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
20567         (gst_pipeline_get_clock):
20568         get_clock -> provide_clock.
20569
20570 2005-09-28  Andy Wingo  <wingo@pobox.com>
20571
20572         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
20573         lieu of real docs...
20574
20575         * gst/elements/gstfdsrc.c: Cleaned up a bit.
20576
20577 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
20578
20579         * gst/elements/gstcapsfilter.c:
20580         * gst/elements/gstfakesink.c:
20581         * gst/elements/gstfakesrc.c:
20582         * gst/elements/gstfdsink.c:
20583         * gst/elements/gstfdsrc.c:
20584         * gst/elements/gstfilesink.c:
20585         * gst/elements/gstfilesrc.c:
20586         * gst/elements/gstidentity.c:
20587         * gst/elements/gsttee.c:
20588         * gst/elements/gsttypefindelement.c:
20589           Make element details static.
20590
20591 2005-09-28  Wim Taymans  <wim@fluendo.com>
20592
20593         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20594         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20595         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20596         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20597         (gst_bin_change_state), (gst_bin_dispose):
20598         Some documentation updates.
20599         Clean up dispose handlers.
20600
20601         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
20602         * gst/gstpad.c: (gst_pad_dispose):
20603         Clean up dispose handler.
20604
20605         * gst/gstpipeline.c: (gst_pipeline_change_state):
20606         Removed spurious UNLOCK.
20607
20608 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
20609
20610         * docs/gst/gstreamer-sections.txt:
20611         * gst/base/gstbasesrc.h:
20612         * gst/gstelement.h:
20613         * gst/gstevent.h:
20614         * gst/gstobject.h:
20615         * gst/gstpad.h:
20616         * gst/gstpipeline.c:
20617         * gst/gstpipeline.h:
20618         * gst/gstutils.h:
20619         * gst/gstxml.h:
20620           added two new functions to the docs
20621                 documents all undocumented GstXXXFlags
20622                 completed some incomplete docs 
20623
20624 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20625
20626         * gst/gstbin.c: (gst_bin_dispose):
20627         * gst/gstelement.c: (gst_element_dispose):
20628           remove now useless and leaky resurrection code in dispose
20629         * gst/base/gstbasesrc.c: (gst_base_src_init):
20630         * gst/gstelementfactory.c: (gst_element_factory_create):
20631         * gst/gstobject.c: (gst_object_set_parent):
20632           add some debugging
20633
20634 2005-09-27  Wim Taymans  <wim@fluendo.com>
20635
20636         * docs/design/part-TODO.txt:
20637         Update TODO.
20638
20639         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20640         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20641         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20642         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20643         (gst_bin_change_state):
20644         * gst/gstelement.h:
20645         Remove element variable, we keep element info in the iterator now.
20646
20647 2005-09-27  Andy Wingo  <wingo@pobox.com>
20648
20649         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
20650         values.
20651
20652 2005-09-27  Wim Taymans  <wim@fluendo.com>
20653
20654         * check/gst/gstbin.c: (GST_START_TEST):
20655         Enable check that works now.
20656
20657         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20658         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20659         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20660         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20661         (gst_bin_change_state):
20662         * gst/gstbin.h:
20663         Redid the state change algorithm using a topological sort algo.
20664         Handles all cases correctly.
20665         Exposed iterator for state change order.
20666
20667         * gst/gstelement.h:
20668         Temp storage for state changes. Need to get rid of this soon.
20669
20670 2005-09-27  Wim Taymans  <wim@fluendo.com>
20671
20672         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
20673         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
20674         (link_fold_func), (gst_pad_proxy_setcaps):
20675         Leak fixes, the fold functions need to unref the passed object and
20676         _get_parent_*() returns ref to parent.
20677
20678 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20679
20680         * check/gst/gstbuffer.c: (test_make_writable):
20681           Plug leak in test case and fix 'make check-valgrind'
20682
20683 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20684
20685         * gst/gstbuffer.c: (gst_subbuffer_init):
20686           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
20687           works correctly in all circumstances (we could have just copied
20688           the parent buffer's readonly flag, but conceptually it seems
20689           cleaner to mark all subbuffers as read-only). (based on patch
20690           by Alessandro Decina, #314710).
20691         
20692         * check/gst/gstbuffer.c: (create_read_only_buffer),
20693         (test_make_writable), (test_subbuffer_make_writable),
20694         (gst_test_suite):
20695           Add some tests for gst_buffer_make_writable().
20696
20697 2005-09-27  Wim Taymans  <wim@fluendo.com>
20698
20699         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
20700         use gst_object_has_ancestor().
20701
20702         * gst/gstobject.c: (gst_object_has_ancestor):
20703         * gst/gstobject.h:
20704         gst_object_has_ancestor() copied from gstbin.c as it is a
20705         useful function.
20706
20707         * tests/instantiate/create.c: (create_all_elements):
20708         * tests/lat.c: (handoff_src), (handoff_sink):
20709         * tests/sched/runxml.c: (main):
20710         * tests/seeking/seeking1.c: (main):
20711         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
20712         (main):
20713         Fix compilation of some tests.
20714
20715 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20716
20717         * gst/gsterror.h:
20718           Remove comment. GST_TYPE_G_ERROR is here to stay,
20719           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
20720           (#316961, #300610).
20721
20722 2005-09-26  Wim Taymans  <wim@fluendo.com>
20723
20724         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
20725         Added check that shows error in state change order.
20726
20727 2005-09-26  Wim Taymans  <wim@fluendo.com>
20728
20729         * gst/gstbin.c: (gst_bin_change_state):
20730         Make state change function use 3 queues again, we were
20731         adding elements in the wrong order.
20732
20733         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
20734         Some debug info,
20735
20736         * gst/gstpad.c: (gst_pad_dispose):
20737         Added some debug info first.
20738
20739 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
20740
20741         * docs/design/draft-push-pull.txt:
20742         * docs/design/part-events.txt:
20743         * docs/design/part-overview.txt:
20744         * docs/design/part-scheduling.txt:
20745           Replace all _pull_region() with _pull_range()
20746           
20747 2005-09-26  Andy Wingo  <wingo@pobox.com>
20748
20749         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
20750
20751         * check/gst-libs/controller.c: Update for controller api change.
20752
20753         * configure.ac: 
20754         * tests/Makefile.am:
20755         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
20756         over by GLib bug 118439.
20757         
20758         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
20759         routines to a function.
20760
20761         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
20762
20763         * libs/gst/controller/gsthelper.c:
20764         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
20765         (gst_object_sync_values): Renamed from sink_values. Ugh.
20766
20767         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
20768
20769         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
20770         Renamed from controller_key, as it is exported.
20771
20772         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
20773
20774 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
20775
20776         * gst/Makefile.am:
20777         * gst/gst.h:
20778         * gst/gstpad.h:
20779         * gst/gstpadtemplate.h:
20780         * gst/gstquery.c:
20781         * gst/gstquery.h:
20782         * gst/gstqueryutils.c:
20783         * gst/gstqueryutils.h:
20784           remove queryutils headers after moving the two used functions
20785           to gstquery.  also fixes build problem for gstsiddec
20786
20787 2005-09-26  Michael Smith <msmith@fluendo.com>
20788
20789         * tools/gst-launch.1.in:
20790         Correct documentation in manpage of debug syntax
20791
20792 2005-09-26  Wim Taymans  <wim@fluendo.com>
20793
20794         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
20795         (gst_base_src_is_seekable), (gst_base_src_change_state):
20796         Some more debugging info.
20797
20798 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20799
20800         * docs/gst/gstreamer-sections.txt:
20801         * gst/base/gstbasetransform.h:
20802         * gst/gstindex.h:
20803           added more docs
20804
20805 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20806
20807         * docs/gst/.cvsignore:
20808         * docs/gst/tmpl/.cvsignore:
20809         * docs/gst/tmpl/gstpipeline.sgml:
20810         * docs/gst/tmpl/gstplugin.sgml:
20811         * gst/gstpipeline.c:
20812         * gst/gstplugin.c:
20813         * gst/gstplugin.h:
20814           inlined the last two docs files
20815           removed the tmpl directory from cvs (no more conflicts here!)
20816
20817 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20818
20819         * docs/gst/gstreamer-sections.txt:
20820         * docs/gst/tmpl/.cvsignore:
20821         * docs/gst/tmpl/gstpad.sgml:
20822         * docs/gst/tmpl/gstpadtemplate.sgml:
20823         * gst/Makefile.am:
20824         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
20825         (gst_pad_finalize), (gst_pad_set_pad_template):
20826         * gst/gstpad.h:
20827         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
20828         (gst_pad_template_class_init), (gst_pad_template_init),
20829         (gst_pad_template_dispose), (name_is_valid),
20830         (gst_static_pad_template_get), (gst_pad_template_new),
20831         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
20832         (gst_pad_template_pad_created):
20833         * gst/gstpadtemplate.h:
20834           inlined two more docs
20835           factored gstpadtemplate out of gstpad
20836
20837 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
20838
20839         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
20840         (test_children_state_change_order_semi_sink):
20841           Fix test case: we can't rely on a fixed state change order when
20842           going from READY => PAUSED because the sink might commit its 
20843           new state first when the first buffer created by the source 
20844           reaches the sink before the source has finished its change state.
20845           (Test case still fails at times, see #316856, comment 5 onwards)
20846
20847 2005-09-24  Wim Taymans  <wim@fluendo.com>
20848
20849         * docs/design/part-events.txt:
20850         * docs/design/part-gstbus.txt:
20851         * docs/design/part-gstpipeline.txt:
20852         * docs/design/part-messages.txt:
20853         * docs/design/part-overview.txt:
20854         * docs/design/part-segments.txt:
20855         * gst/gstbin.c:
20856         * gst/gstbuffer.c:
20857         * gst/gstclock.c:
20858         * gst/gstelement.c:
20859         * gst/gstevent.c:
20860         * gst/gstfilter.c:
20861         * gst/gstiterator.c:
20862         Various documentation updates.
20863
20864 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20865
20866         * gst/gstclock.h:
20867           Well, that's embarassing.  Luckily we weren't using
20868           GST_CLOCK_DIFF anywhere.
20869
20870 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20871
20872         * common/gtk-doc.mak:
20873           don't fail on building XML, FC4 slave shows a bunch of doc
20874           missing bits that I don't get
20875         * gst/gstpad.c:
20876         * gst/gstpipeline.c:
20877         * gst/gststructure.c:
20878           some doc updates
20879
20880 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
20881
20882         * docs/design/part-gstbin.txt:
20883         * docs/design/part-gstbus.txt:
20884         * gst/gstbus.c:
20885           Add blurb about how the bus goes into flushing mode and
20886           drops all messages when its bin goes from READY into NULL 
20887           state.
20888
20889 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20890
20891         * docs/gst/gstreamer-sections.txt:
20892         * gst/gststructure.c: (gst_structure_get_clock_time):
20893         * gst/gststructure.h:
20894           add a method to get a GstClockTime out of a structure
20895
20896 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
20897
20898         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
20899         (test_children_state_change_order_semi_sink), (gst_bin_suite):
20900           Added test to check state change order in bins (can still be made
20901           to fail here under heavy disk load; bails out with 'Push on pad
20902           fakesink:sink0, but it was not activated in push mode').
20903
20904         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
20905           Fix state change order when there is only a semi sink (#316856)
20906
20907         * gst/gstbus.c: (gst_bus_class_init):
20908           Use _class_peek_parent(), not _class_ref(); fix docs to say
20909           'default main context' instead of 'mainloop' where that is
20910           what's meant.
20911
20912         * gst/gstelement.c: (gst_element_commit_state),
20913         (gst_element_set_state):
20914           Fix typos in debug messages
20915
20916 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20917
20918         * docs/README:
20919         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
20920         * gst/gstpluginfeature.c:
20921         * gst/gstutils.c:
20922           various doc updates
20923         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20924           change an assert into an error until it gets fixed properly
20925
20926 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
20927
20928         * docs/gst/gstreamer-sections.txt:
20929         * docs/gst/tmpl/.cvsignore:
20930         * docs/gst/tmpl/gstelement.sgml:
20931         * docs/gst/tmpl/gstinfo.sgml:
20932         * docs/gst/tmpl/gstobject.sgml:
20933         * gst/gstelement.c:
20934         * gst/gstelement.h:
20935         * gst/gstinfo.c:
20936         * gst/gstinfo.h:
20937         * gst/gstobject.c: (gst_object_class_init):
20938         * gst/gstobject.h:
20939           inlined 3 more biiiig doc files and added some missing docs on the fly
20940
20941 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20942
20943         * check/gst/.cvsignore:
20944         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
20945         * gst/gstregistryxml.c: (load_plugin),
20946         (gst_registry_xml_save_plugin):
20947           put back source in registry.  add checks for find_plugin.
20948         * testsuite/states/bin.c: (assert_state), (empty_bin),
20949         (test_adding_one_element), (main):
20950         * testsuite/states/locked.c: (main):
20951           some compile/run fixes
20952
20953 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20954
20955         * check/gst/gstvalue.c: (GST_START_TEST):
20956           fix leaks in the test itself
20957
20958 2005-09-22  Wim Taymans  <wim@fluendo.com>
20959
20960         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20961         (gst_base_sink_send_event), (gst_base_sink_peer_query),
20962         (gst_base_sink_query):
20963         Prepare for more accurate position reporting and query
20964         handling.
20965
20966         * gst/gstelement.c: (gst_element_send_event),
20967         (gst_element_set_state):
20968         Add some comment.
20969
20970 2005-09-22  Wim Taymans  <wim@fluendo.com>
20971
20972         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
20973         (gst_query_parse_segment):
20974         * gst/gstquery.h:
20975         More documentation.
20976         Add segment query for future use.
20977
20978 2005-09-22  Wim Taymans  <wim@fluendo.com>
20979
20980         * gst/gstbin.c: (gst_bin_add_func):
20981         Some more debug info.
20982
20983         * gst/gstelement.c: (gst_element_send_event):
20984         Simplify send_event
20985
20986         * gst/gstelement.h:
20987         Don't know how flags got broken.
20988
20989         * gst/gstquery.h:
20990         Added new query.
20991
20992 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
20993
20994         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
20995           Add simplistic test suite for GST_TYPE_DATE serialisation and
20996           deserialisation.
20997
20998 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
20999
21000         * docs/gst/gstreamer-sections.txt:
21001         * gst/gststructure.c: (gst_structure_set_valist),
21002         (gst_structure_get_date):
21003         * gst/gststructure.h:
21004         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
21005         (gst_date_copy), (gst_value_compare_date),
21006         (gst_value_serialize_date), (gst_value_deserialize_date),
21007         (gst_value_transform_date_string),
21008         (gst_value_transform_string_date), (_gst_value_initialize):
21009         * gst/gstvalue.h:
21010           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
21011           bunch of utility functions along with a hack that checks that
21012           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
21013           is required. Part of the grand scheme in #170777.
21014
21015 2005-09-22  Andy Wingo  <wingo@pobox.com>
21016
21017         * gst/gstconfig.h.in: Psych out gtk-doc.
21018
21019         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
21020
21021         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
21022
21023         * tools/gst-inspect.c (print_element_list): Plug some
21024         inconsequential leaks.
21025
21026         * gst/gstregistry.c (gst_registry_get_default): Doc.
21027
21028         * check/gst/gstplugin.c: 
21029         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
21030         * gst/gstelementfactory.c (gst_element_factory_create): 
21031         * gst/gstindexfactory.c (gst_index_factory_create): Update for
21032         refcount changes.
21033
21034         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
21035         (gst_plugin_feature_load): Doc, don't eat refs.
21036
21037         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
21038         (gst_plugin_list_free): Doc.
21039         (gst_plugin_load_file): Doc updates.
21040
21041         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
21042         accessors returning refcounted objects, return a ref.
21043
21044         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
21045         accessor for caps. IDEMPOTENCE. Oh yes.
21046
21047 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
21048
21049         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21050
21051         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
21052         (_gst_debug_register_funcptr):
21053           Add mutex to serialise access to the hash table with
21054           the function pointer => function name string mapping;
21055           make that hash table static scope (#316809).
21056
21057         * gst/registries/.cvsignore:
21058           Remove left-over file.
21059
21060 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
21061
21062         * docs/pwg/appendix-porting.xml:
21063           And something about newsegment events and caps-on-buffers to
21064           the porting guide (feel free to improve).
21065
21066 2005-09-21  Andy Wingo  <wingo@pobox.com>
21067
21068         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
21069         data and event probes on the same pad.
21070         (test_buffer_probe_once): Test that removing probes from within
21071         the probe functions works.
21072
21073 2005-09-21  Andy Wingo  <wingo@pobox.com>
21074
21075         * check/gst/gstutils.c: New file.
21076         (test_buffer_probe_n_times): A simple buffer probe test. More to
21077         come, foolios.
21078
21079         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
21080         have-data::buffer, not have-data.
21081         (gst_pad_add_event_probe): Likewise for have-data::event.
21082         (gst_pad_add_data_probe): More docs. The part about 'resolving the
21083         peer' isn't quite right yet though.
21084         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
21085         (gst_pad_remove_data_probe): Change to take the guint handler_id
21086         as their arg, not the function+data, which is more glib-like.
21087
21088         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
21089         the signal emission to indicate if the data is a buffer or an
21090         event.
21091         (gst_pad_get_type): Initialize buffer and event quarks.
21092         (gst_pad_class_init): have-data is now a detailed signal, yes it
21093         is.
21094
21095 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
21096
21097         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
21098         * gst/gstutils.c: (gst_util_set_value_from_string),
21099         (gst_util_set_object_arg):
21100           Don't put functional code in g_return_if_fail() or
21101           g_return_val_if_fail() statements, otherwise things will 
21102           break when G_DISABLE_CHECKS is defined during compilation.
21103
21104 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
21105
21106         * docs/gst/tmpl/.cvsignore:
21107         * docs/gst/tmpl/gstvalue.sgml:
21108         * gst/gstvalue.c:
21109         * gst/gstvalue.h:
21110           inlied another one and added  some obvious docs
21111
21112 2005-09-21  Wim Taymans  <wim@fluendo.com>
21113
21114         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
21115         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
21116         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
21117         (gst_fdsrc_get_property), (gst_fdsrc_create):
21118         * gst/elements/gstfdsrc.h:
21119         Properly implement fdsrc. Removed signal and timeout,
21120         better implemented somewhere else.
21121
21122 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
21123
21124         * docs/gst/tmpl/.cvsignore:
21125         * docs/gst/tmpl/gstimplementsinterface.sgml:
21126         * gst/gstinterface.c:
21127           inlined more docs
21128
21129 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
21130
21131         * docs/gst/gstreamer-sections.txt:
21132         * docs/gst/tmpl/.cvsignore:
21133         * docs/gst/tmpl/gstenumtypes.sgml:
21134           remove obsolete doc file
21135
21136 2005-09-21  David Schleef  <ds@schleef.org>
21137
21138         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
21139         little beer, fix a little leak.
21140
21141 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
21142
21143         * docs/gst/gstreamer-docs.sgml:
21144         * docs/gst/gstreamer-sections.txt:
21145         * docs/gst/tmpl/.cvsignore:
21146         * gst/Makefile.am:
21147         * gst/gst.h:
21148         * gst/gstbin.c:
21149         * gst/gstelement.h:
21150         * gst/gstindex.c: (gst_index_class_init):
21151         * gst/gstindex.h:
21152         * gst/gstindexfactory.c: (gst_index_factory_get_type),
21153         (gst_index_factory_class_init), (gst_index_factory_init),
21154         (gst_index_factory_finalize), (gst_index_factory_new),
21155         (gst_index_factory_destroy), (gst_index_factory_find),
21156         (gst_index_factory_create), (gst_index_factory_make):
21157         * gst/gstindexfactory.h:
21158         * gst/gstpluginfeature.c:
21159         * gst/gstpluginfeature.h:
21160         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
21161           more docs inlined, splitted gstindex.{c,h}
21162
21163 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21164
21165         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
21166           fix a leak
21167
21168 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
21169
21170         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21171           Set sync to FALSE by default.
21172
21173 2005-09-20  Wim Taymans  <wim@fluendo.com>
21174
21175         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
21176         (gst_base_sink_init):
21177         Make sync property settable from subclass.
21178
21179         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
21180         (gst_fake_sink_change_state):
21181         Set sync to FALSE by default.
21182
21183 2005-09-20  Wim Taymans  <wim@fluendo.com>
21184
21185         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
21186         * tools/gst-launch.c: (main):
21187         The timeout handler should have lower priority than the source
21188         so we don't timeout before popping a message with 0 timeout.
21189         Dump error messages after failed state change.
21190
21191 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
21192
21193         * tools/gst-inspect.c: (print_element_properties_info):
21194           Fix two typos.
21195
21196 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21197
21198         * check/gst/gstevent.c:
21199         * gst/elements/gstfakesink.c:
21200         * gst/elements/gstfakesink.h:
21201           remove the sync property from fakesink.
21202           has the side effect of setting sync TRUE
21203           for fakesink, which is a change.  Anyone who knows how
21204           to fix this nicely in a GObject-y way, feel free.
21205
21206 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
21207
21208         * docs/gst/gstreamer-docs.sgml:
21209           remove probe refsection
21210
21211 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
21212
21213         * check/Makefile.am:
21214           disable valgrinding the controller test again
21215         * docs/gst/gstreamer-sections.txt:
21216           update for api-changes
21217
21218 2005-09-20  Wim Taymans  <wim@fluendo.com>
21219
21220         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
21221         (gst_base_sink_set_property), (gst_base_sink_get_property),
21222         (gst_base_sink_do_sync):
21223         * gst/base/gstbasesink.h:
21224         Added sync property to basesink to disable clock sync.
21225
21226 2005-09-20  Andy Wingo  <wingo@pobox.com>
21227
21228         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
21229         eating the caller's refcount.
21230
21231         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
21232         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
21233         refcount.
21234
21235         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
21236         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
21237         of GLib 2.8 public, so we can know which refcount to check in
21238         tests.
21239
21240         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
21241         (gst_object_init): Only set the gst refcount if we're going ahead
21242         with the refcount hack.
21243
21244 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
21245
21246         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
21247         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
21248           more leaks plumbed, added more debug-logging
21249         * gst/gstmacros.h:
21250           whitespace fix
21251
21252 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21253
21254         * gst/gstmessage.c:
21255           remove include of gstmemchunk.h
21256
21257 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21258
21259         * gst/gstclock.c: (_gst_clock_id_free):
21260           Commit from the Political Party For More Atomic CVS Commits,
21261           so that people don't waste too much of their day fishing
21262           out obvious leaks out of massive commits.
21263           Oh, and fix a pretty damn obvious leak in the memchunk
21264           removal code.
21265
21266 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
21267
21268         * check/Makefile.am:
21269         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
21270           plug mem-leak, re-add to valgrindable tests
21271
21272 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21273
21274         * gst/gstplugin.h:
21275           unbreak the build for those who have chronic arthritis
21276           and typing "make check" is just too taxing on the hands
21277
21278 2005-09-20  Andy Wingo  <wingo@pobox.com>
21279
21280         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
21281         really want it out, you should fix plugins at the same time.
21282
21283 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
21284
21285         * configure.ac:
21286         * docs/gst/gstreamer-sections.txt:
21287         * gst/gstobject.c:
21288           added missing symbols to api docs
21289           disable ref-count hack if we have glib >= 2.8
21290
21291 2005-09-19  David Schleef  <ds@schleef.org>
21292
21293         * docs/gst/Makefile.am: Ignore a few more internal headers
21294         * docs/gst/gstreamer-docs.sgml: Remove old sections
21295         * docs/gst/gstreamer-sections.txt: Remove old sections
21296         * docs/gst/tmpl/gstobject.sgml: update
21297         * docs/gst/tmpl/gstplugin.sgml: update
21298         * docs/gst/tmpl/gstpluginfeature.sgml: update
21299         * docs/random/ds/0.9-suggested-changes: update.
21300         * gst/Makefile.am: remove memchunk and trashstack, since they're
21301           not used.
21302         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
21303         * gst/gst.h: don't include some headers
21304         * gst/gstchildproxy.c: add gstmarshal.h
21305         * gst/gstclock.c: Don't use memchunks
21306         * gst/gstminiobject.c: Add some docs
21307         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
21308         * gst/gstobject.h: same
21309         * gst/gstplugin.c: include gstmacros.h
21310         * gst/gstplugin.h: don't include gstmacros.h, since it's private
21311         * gst/gstquery.c: don't use memchunks
21312         * gst/gstregistry.c: rename gst_registry_deinit()
21313         * gst/gstregistry.h: same
21314
21315 2005-09-19  David Schleef  <ds@schleef.org>
21316
21317         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
21318         * docs/libs/gstreamer-libs-sections.txt:
21319         * docs/libs/tmpl/gstgetbits.sgml:
21320         * docs/libs/tmpl/gstputbits.sgml:
21321
21322 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
21323
21324         * win32/gstenumtypes.c:
21325         * win32/gstenumtypes.h:
21326           Update.
21327
21328 2005-09-19  Wim Taymans  <wim@fluendo.com>
21329
21330         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
21331         Automatically PAUSE and RESUME a pipeline when a flushing seek
21332         is performed.
21333
21334 2005-09-19  Andy Wingo  <wingo@pobox.com>
21335
21336         * gst/gstregistry.h: Spacing fixen.
21337
21338 2005-09-19  Wim Taymans  <wim@fluendo.com>
21339
21340         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
21341         Handle state change failure more correctly.
21342
21343 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21344
21345         * check/Makefile.am:
21346         * check/pipelines/cleanup.c: (run_pipeline):
21347         * check/pipelines/simple_launch_lines.c: (run_pipeline),
21348         (GST_START_TEST):
21349           enable cleanup again after fixing the leak
21350         * docs/README:
21351           some more info on docs
21352
21353 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21354
21355         * check/Makefile.am:
21356           re-enable tests now that leaks are plugged
21357         * check/gst/gst.c:
21358         * check/gst/gstbin.c:
21359         * check/gst/gstpipeline.c:
21360           add some more tests while fixing leaks
21361         * common/check.mak:
21362           make sure binaries are uptodate when valgrinding/gdbing
21363         * gst/gst.c:
21364         * gst/gstelementfactory.c:
21365           remove a ref too many, and add a FIXME for when we get
21366           round to disposing of classes
21367         * gst/gstplugin.c:
21368           fix the refcounting when loading a plugin from a file and
21369           the code pretends that the pointer is the same even though
21370           of course it can change
21371         * gst/gstpluginfeature.c:
21372           unref plugins marked cached (a bit confusing as a name)
21373           as the docs state should be done
21374           various doc additions to explain refcounting
21375         * gst/gstregistry.c:
21376         * gst/gstregistryxml.c:
21377           debugging
21378
21379 2005-09-19  Wim Taymans  <wim@fluendo.com>
21380
21381         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
21382         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
21383         (send_messages), (GST_START_TEST), (gstbus_suite):
21384         * check/gst/gstpipeline.c: (GST_START_TEST):
21385         * check/pipelines/cleanup.c: (run_pipeline):
21386         * check/pipelines/simple_launch_lines.c: (run_pipeline),
21387         (GST_START_TEST):
21388         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
21389         (gst_bus_source_check), (gst_bus_source_dispatch),
21390         (gst_bus_create_watch), (gst_bus_add_watch_full),
21391         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
21392         * gst/gstbus.h:
21393         * tools/gst-launch.c: (event_loop):
21394         * tools/gst-md5sum.c: (event_loop):
21395         GstBusHandler -> GstBusFunc, return value has the same meaning as
21396         any other GSource (FALSE == remove source).
21397         _add_watch() and _add_watch_full() now take a MessageType mask to
21398         only handle specific types of messages.
21399         _poll() returns the GstMessage instead of the message type to avoid
21400         race conditions.
21401         _have_pending() takes a MessageType mask now too.
21402         Added testsuite for multiple bus watches.
21403         Fix testsuites and applications for new bus API.
21404
21405 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21406
21407         * check/Makefile.am:
21408           mark a bunch of the tests as to fix until we fix them
21409
21410 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21411
21412         * common/check.mak:
21413           use GST_PLUGIN settings for valgrind tests as well, so we're
21414           valgrinding the correct thing
21415         * gst/gst.c: (init_post):
21416           plug another leak
21417
21418 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21419
21420         * gst/gst.c: (init_post), (gst_deinit):
21421         * gst/gstelementfactory.c: (gst_element_factory_class_init),
21422         (gst_element_factory_finalize), (gst_element_factory_cleanup):
21423         * gst/gstindex.c: (gst_index_factory_class_init),
21424         (gst_index_factory_finalize):
21425         * gst/gstobject.c: (gst_object_dispose):
21426         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
21427         (gst_plugin_load_file), (gst_plugin_desc_free):
21428         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
21429         (gst_plugin_feature_finalize):
21430         * gst/gstregistry.c: (gst_registry_class_init),
21431         (gst_registry_init), (gst_registry_finalize),
21432         (gst_registry_get_default), (gst_registry_deinit):
21433         * gst/gstregistry.h:
21434         * gst/gstregistryxml.c: (load_feature), (load_plugin):
21435           various cleanups and memleak plugging.  make valgrind is happy now.
21436
21437 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21438
21439         * common/check.mak:
21440           add a check-valgrind target
21441
21442 2005-09-18  David Schleef  <ds@schleef.org>
21443
21444         * tools/gst-inspect.c: Revert the GOption code.
21445
21446 2005-09-17  David Schleef  <ds@schleef.org>
21447
21448         * check/Makefile.am: Fix environment variables.
21449         * check/gst/gstplugin.c: Fix for API changes.
21450         * tools/gst-inspect.c: Fix for API changes.
21451         * tools/gst-xmlinspect.c: Fix for API changes.
21452         * gst/gstelementfactory.c:
21453         * gst/gstplugin.c:
21454         * gst/gstplugin.h:
21455         * gst/gstpluginfeature.c:
21456         * gst/gstpluginfeature.h:
21457         * gst/gstregistry.c:
21458         * gst/gstregistry.h:
21459         * gst/gstregistryxml.c:
21460         * gst/gsttypefind.c:
21461         * gst/gsttypefindfactory.c:
21462         * gst/indexers/gstfileindex.c:
21463         * gst/indexers/gstmemindex.c:
21464         * gst/schedulers/Makefile.am:
21465           Change registry to keep track of both plugins and features,
21466           removing the feature tracking from plugins themselves.
21467
21468 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21469
21470         * check/Makefile.am:
21471         * tools/gst-register.1.in:
21472           remove gst-register
21473
21474 2005-09-15  David Schleef  <ds@schleef.org>
21475
21476         * check/gst/gstplugin.c:
21477         * gst/gstelementfactory.c:
21478         * gst/gstplugin.c:
21479         * gst/gstpluginfeature.c:
21480         * gst/gstregistry.c:
21481           Getting tired of debugging.  Disabled all the unreffing of
21482           plugins and features, which fixes the segfaults, but of
21483           course leaks like crazy.  At least playbin works.
21484
21485 2005-09-15  David Schleef  <ds@schleef.org>
21486
21487         * check/gst/gstplugin.c: (register_check_elements),
21488         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
21489         More testing
21490         * gst/elements/gsttypefindelement.c: Fix refcounting.
21491         * gst/gsttypefind.c:
21492         * gst/gsttypefindfactory.c:
21493         * gst/gsttypefindfactory.h:
21494
21495 2005-09-15  David Schleef  <ds@schleef.org>
21496
21497         * gst/gstindex.c: get refcounting correct.
21498         * gst/gstregistry.c: Handle the case where a feature/plugin is
21499           not found.
21500
21501 2005-09-15  David Schleef  <ds@schleef.org>
21502
21503         * check/Makefile.am:
21504         * check/gst/gstplugin.c: Add test
21505         * gst/gstplugin.c: Fix problems noticed by testsuite
21506         * gst/gstplugin.h:
21507         * gst/gstregistry.c: 
21508         * gst/gstregistry.h:
21509
21510 2005-09-15  David Schleef  <ds@schleef.org>
21511
21512         * gst/gstplugin.c: Implement semi-decent recounting and locking
21513           in plugins and plugin features.
21514         * gst/gstplugin.h:
21515         * gst/gstpluginfeature.c:
21516         * gst/gstpluginfeature.h:
21517         * gst/gstregistry.c:
21518
21519 2005-09-15  Michael Smith <msmith@fluendo.com>
21520
21521         * gst/gstregistry.c: (gst_registry_get_feature_list):
21522           Implement this. Makes oggdemux work; decodebin still broken.
21523
21524 2005-09-14  David Schleef  <ds@schleef.org>
21525
21526         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
21527           #316076)
21528         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
21529         * gst/check/Makefile.am:
21530         * libs/gst/controller/Makefile.am:
21531         * libs/gst/dataprotocol/Makefile.am:
21532
21533 2005-09-14  David Schleef  <ds@schleef.org>
21534
21535         * configure.ac: Remove getbits library.  Nothing uses it, and
21536           it should be in something like liboil if someone did want
21537           to use it.
21538         * libs/gst/Makefile.am:
21539         * libs/gst/getbits/Makefile.am:
21540         * libs/gst/getbits/gbtest.c:
21541         * libs/gst/getbits/getbits.c:
21542         * libs/gst/getbits/getbits.h:
21543         * libs/gst/getbits/gstgetbits_generic.c:
21544         * libs/gst/getbits/gstgetbits_i386.s:
21545         * libs/gst/getbits/gstgetbits_inl.h:
21546
21547 2005-09-14  David Schleef  <ds@schleef.org>
21548
21549         * gst/Makefile.am: Dist glib-compat.h
21550
21551 2005-09-14  David Schleef  <ds@schleef.org>
21552
21553         * configure.ac: Remove gst/registries, since it's no longer used.
21554         * gst/registries/Makefile.am:
21555         * gst/registries/gstlibxmlregistry.c:
21556         * gst/registries/gstlibxmlregistry.h:
21557         * gst/registries/gstxmlregistry.c:
21558         * gst/registries/gstxmlregistry.h:
21559         * gst/registries/registrytest.c:
21560
21561 2005-09-14  David Schleef  <ds@schleef.org>
21562
21563         * gst/glib-compat.h:
21564         * gst/gstregistryxml.c:
21565           Convergence is near.  Seriously.
21566
21567 2005-09-14  David Schleef  <ds@schleef.org>
21568
21569         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21570         * gst/glib-compat.h:
21571           Attempt #4 to appease the buildbots.
21572
21573 2005-09-14  David Schleef  <ds@schleef.org>
21574
21575         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21576           Attempt #3.
21577
21578 2005-09-14  David Schleef  <ds@schleef.org>
21579
21580         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21581         Attempt #2.
21582
21583 2005-09-14  David Schleef  <ds@schleef.org>
21584
21585         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
21586           the new functions.
21587
21588 2005-09-14  David Schleef  <ds@schleef.org>
21589
21590         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21591         * gst/glib-compat.h: Add some functions that are in newer versions
21592           of glib than we care to require.
21593         * gst/gstregistryxml.c: Use them.
21594
21595 2005-09-14  David Schleef  <ds@schleef.org>
21596
21597         * po/POTFILES.in: remove gst-register.c
21598
21599 2005-09-14  David Schleef  <ds@schleef.org>
21600
21601         * docs/gst/gstreamer-docs.sgml:
21602         * docs/gst/gstreamer-sections.txt:
21603         * docs/gst/gstreamer.types:
21604         * docs/gst/tmpl/gstelement.sgml:
21605         * docs/gst/tmpl/gstplugin.sgml:
21606         * docs/gst/tmpl/gstpluginfeature.sgml:
21607           Documentation updates for registry changes.
21608
21609 2005-09-14  David Schleef  <ds@schleef.org>
21610
21611         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
21612           because we don't require glib-2.8.
21613
21614 2005-09-14  David Schleef  <ds@schleef.org>
21615
21616         * gst/gstregistryxml.c: Added.  Essentially moved out of the
21617           registries directory.
21618
21619 2005-09-14  David Schleef  <ds@schleef.org>
21620
21621         * check/Makefile.am:
21622         * check/generic/states.c:
21623         * gst/Makefile.am:
21624         * gst/gst.c:
21625         * gst/gst.h:
21626         * gst/gst_private.h:
21627         * gst/gstelementfactory.c:
21628         * gst/gstindex.c:
21629         * gst/gstinfo.c:
21630         * gst/gstplugin.c:
21631         * gst/gstplugin.h:
21632         * gst/gstpluginfeature.c:
21633         * gst/gstpluginfeature.h:
21634         * gst/gstregistry.c:
21635         * gst/gstregistry.h:
21636         * gst/gstregistrypool.c: remove
21637         * gst/gstregistrypool.h: remove
21638         * gst/gsttypefind.c:
21639         * gst/gsttypefindfactory.c:
21640         * gst/gsturi.c:
21641         * tools/Makefile.am:
21642         * tools/gst-compprep.c:
21643         * tools/gst-inspect.c:
21644         * tools/gst-register.c: remove
21645         * tools/gst-xmlinspect.c:
21646           Registry rewrite.  Changes registry from being a file created
21647           by a tool into a simple cache file created automatically by 
21648           libgstreamer.  Removed gst-register (because it's no longer
21649           needed).  Remove registry pools, because we only have one
21650           registry implementation (XML).  Fix up other subsystems as
21651           necessary.
21652
21653 2005-09-13  Michael Smith <msmith@fluendo.com>
21654
21655         * gst/gstconfig.h.in:
21656           Don't Use windows linking attributes for MinGW. Fixes #316157
21657
21658 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21659
21660         * gst/gstutils.c: (set_state_async_thread_func),
21661         (gst_element_set_state_async):
21662           Apparently people think it's better if this function doesn't
21663           try to set the state to whatever state was asked for on the first
21664           call to this function for any object.  Seriously.
21665
21666 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21667
21668         * check/gst/gstpipeline.c: (GST_START_TEST):
21669         * docs/gst/gstreamer-sections.txt:
21670         * gst/gstutils.c: (set_state_async_thread_func),
21671         (gst_element_set_state_async):
21672         * gst/gstutils.h:
21673           add a "gst_element_set_state_async" method that
21674           sets the state and starts a thread to make sure the state
21675           change completes as best as it can
21676
21677 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21678
21679         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
21680           codify design+behaviour in testsuite after discussion
21681
21682 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21683
21684         * docs/gst/tmpl/gstelement.sgml:
21685         * docs/manual/appendix-quotes.xml:
21686           add a quote
21687         * gst/gstelement.c: (gst_element_set_state):
21688           add some debug
21689
21690 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
21691
21692         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21693         (gst_base_transform_prepare_output_buf),
21694         (gst_base_transform_handle_buffer):
21695         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
21696         (gst_capsfilter_prepare_buf):
21697           Remove the requirement for sub-classes to call the parent
21698           implementation of prepare_output_buffer with a wrapper function.
21699           
21700         * gst/gsttaglist.h:
21701         * gst/gsttagsetter.h:
21702           Fix #define wrapper
21703
21704 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
21705
21706         * docs/gst/gstreamer-sections.txt:
21707           more doc cleanups
21708
21709 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21710
21711         * docs/gst/gstreamer-sections.txt:
21712         * docs/gst/tmpl/gstelement.sgml:
21713         * docs/gst/tmpl/gstplugin.sgml:
21714         * gst/gstminiobject.c:
21715         * gst/gstvalue.h:
21716           docs now stop throwing warnings
21717
21718 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21719
21720         * docs/gst/gstreamer-sections.txt:
21721         * docs/gst/gstreamer.types:
21722         * docs/gst/tmpl/gstpad.sgml:
21723         * docs/gst/tmpl/gsttypes.sgml:
21724         * gst/base/gstadapter.h:
21725         * gst/base/gstbasesink.h:
21726         * gst/base/gstbasesrc.h:
21727         * gst/gstbin.h:
21728         * gst/gstbuffer.h:
21729         * gst/gstbus.h:
21730         * gst/gstcaps.h:
21731         * gst/gstclock.h:
21732         * gst/gstelement.h:
21733         * gst/gstevent.h:
21734         * gst/gstmessage.h:
21735         * gst/gstpad.h:
21736         * gst/gststructure.c:
21737         * gst/registries/gstlibxmlregistry.h:
21738           various documentation fixes
21739
21740 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21741
21742         * docs/gst/gstreamer-sections.txt:
21743         * docs/gst/tmpl/gstvalue.sgml:
21744           rearrange gstvalue section
21745         * gst/gstutils.c: (gst_element_state_get_name):
21746           NONE -> VOID
21747         * gst/gstvalue.c: (_gst_value_initialize):
21748         * gst/gstvalue.h:
21749           doc updates
21750
21751 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
21752
21753         * check/gst-libs/controller.c:
21754           Header include fix.
21755         * gst/base/gstbasetransform.c:
21756         (gst_base_transform_default_prepare_buf),
21757         (gst_base_transform_handle_buffer):
21758         * gst/base/gstbasetransform.h:
21759           Some more basetransform changes and fixes to enable sub-classes
21760           that modify buffer metadata only.
21761         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
21762         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
21763         (gst_capsfilter_prepare_buf):
21764           If the output pad has fixed allowed caps and input buffers 
21765           don't have any, set the fixed caps on outgoing buffers.
21766
21767 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
21768         * check/elements/identity.c: (GST_START_TEST):
21769           Make the error a little clearer when the test fails because
21770           identity made a copy of the buffer.
21771         * docs/gst/gstreamer-sections.txt:
21772           New symbols in gstbasetransform.h
21773         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21774         (gst_base_transform_init), (gst_base_transform_transform_size),
21775         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21776         (gst_base_transform_default_prepare_buf),
21777         (gst_base_transform_get_unit_size),
21778         (gst_base_transform_buffer_alloc),
21779         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
21780         (gst_base_transform_change_state),
21781         (gst_base_transform_set_passthrough),
21782         (gst_base_transform_set_in_place),
21783         (gst_base_transform_is_in_place):
21784         * gst/base/gstbasetransform.h:
21785           Change BaseTransform to separate in_place operate from same_caps
21786           output. in_place implies that the element can perform the transform
21787           on incoming buffers in-place, even if the caps on the output are
21788           different.
21789           Sub-class elements can now implement special buffer allocation
21790           methods for outgoing buffers if they wish to.
21791           Big documentation addition.
21792         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
21793         * gst/elements/gstelements.c:
21794           Changes for basetransform modifications.
21795         * gst/elements/Makefile.am:
21796         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
21797           Compile fix. Extra debug output.
21798
21799 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21800
21801         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
21802         (gst_pad_suite):
21803           add tests for valid pad naming
21804         * gst/check/gstcheck.c: (gst_check_log_message_func),
21805         (gst_check_log_critical_func):
21806           add ASSERT_WARNING
21807           remove printing of code, it is fragile when the code contains
21808           % and the line number is enough info
21809         * gst/check/gstcheck.h:
21810         * gst/gstpad.c: (gst_pad_template_new):
21811           fix memleaks
21812
21813 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21814
21815         * configure.ac:
21816           say what CHECK flags we use
21817         * docs/libs/gstreamer-libs.types:
21818         * libs/gst/controller/Makefile.am:
21819         * libs/gst/controller/gst-controller.c:
21820         * libs/gst/controller/gst-controller.h:
21821         * libs/gst/controller/gst-helper.c:
21822         * libs/gst/controller/gst-interpolation.c:
21823         * libs/gst/controller/gstcontroller.c:
21824         * libs/gst/controller/gsthelper.c:
21825         * libs/gst/controller/gstinterpolation.c:
21826         * tools/gst-inspect.c: (print_plugin_info):
21827           we don't use dashes in header names
21828
21829 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21830
21831         * check/Makefile.am:
21832         * check/gst/.cvsignore:
21833         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
21834         (gst_pipeline_suite), (main):
21835           adding a test for pipelines and state changes
21836         * gst/gstutils.c: (get_state_func):
21837           add some debugging
21838         * gstreamer.spec.in:
21839           fix up spec file
21840
21841 2005-09-08  Michael Smith <msmith@fluendo.com>
21842
21843         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
21844         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
21845         (gst_file_src_is_seekable), (gst_file_src_get_size),
21846         (gst_file_src_start):
21847         * gst/elements/gstfilesrc.h:
21848           Various fixes for unseekable, unmmapable, and non-normal files, so
21849           that fallback to read() rather than mmap() works.
21850         * gst/gstevent.c: (gst_event_new_newsegment):
21851           Allow newsegment events with segment_start == segment_end, as will
21852           correctly happen if you use filesrc on a zero-size file, for
21853           example.
21854
21855 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
21856
21857         * gst/gstplugin.c: (gst_plugin_load_file):
21858           Call g_module_close when we don't load the module
21859
21860         * gst/registries/gstlibxmlregistry.c:
21861         (gst_xml_registry_get_property):
21862           Port leak fix from 0.8
21863
21864 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21865
21866         * docs/gst/gstreamer-docs.sgml:
21867         * docs/gst/tmpl/.cvsignore:
21868         * docs/gst/tmpl/gsttrace.sgml:
21869         * docs/gst/tmpl/gsttrashstack.sgml:
21870         * gst/Makefile.am:
21871         * gst/gst.h:
21872         * gst/gstelement.h:
21873         * gst/gstevent.h:
21874         * gst/gstmessage.c:
21875         * gst/gstmessage.h:
21876         * gst/gsttag.c:
21877         * gst/gsttag.h:
21878         * gst/gsttaginterface.c:
21879         * gst/gsttaginterface.h:
21880         * gst/gsttaglist.c:
21881         * gst/gsttaglist.h:
21882         * gst/gsttagsetter.c:
21883         * gst/gsttagsetter.h:
21884         * gst/gsttrace.c:
21885         * gst/gsttrace.h:
21886         * gst/gsttrashstack.c:
21887           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
21888           inlined docs for gsttrace, gsttrashstack
21889
21890 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21891
21892         * gst/Makefile.am:
21893         * gst/elements/gstbufferstore.h:
21894         * gst/elements/gsttypefindelement.c:
21895         * gst/elements/gsttypefindelement.h:
21896         * gst/gst.h:
21897         * gst/gsttypefind.c:
21898         * gst/gsttypefind.h:
21899         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
21900         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
21901         (gst_type_find_factory_dispose),
21902         (gst_type_find_factory_unload_thyself),
21903         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
21904         (gst_type_find_factory_get_caps),
21905         (gst_type_find_factory_get_extensions),
21906         (gst_type_find_factory_call_function):
21907         * gst/gsttypefindfactory.h:
21908         * gst/registries/gstlibxmlregistry.c:
21909         * gst/registries/gstxmlregistry.c:
21910           splitted gsttypefind into gsttypefind, gsttypefindfactory
21911
21912 2005-09-07  Andy Wingo  <wingo@pobox.com>
21913
21914         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
21915         condition whereby the pad's task function is entered before the
21916         pad_mode variable was set.
21917
21918 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
21919
21920         * gst/gstpad.c: (gst_pad_alloc_buffer):
21921           Catch misbehaving pad_alloc functions that don't
21922           set up caps and do it for them.
21923
21924 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21925
21926         * check/pipelines/simple_launch_lines.c: (run_pipeline):
21927           test for pipe!=NULL
21928         * docs/gst/tmpl/.cvsignore:
21929         * docs/gst/tmpl/gstmemchunk.sgml:
21930         * docs/gst/tmpl/gstparse.sgml:
21931         * docs/gst/tmpl/gsttaglist.sgml:
21932         * docs/gst/tmpl/gsttagsetter.sgml:
21933         * docs/gst/tmpl/gsttypefind.sgml:
21934         * docs/gst/tmpl/gsttypefindfactory.sgml:
21935         * gst/gstmemchunk.c:
21936         * gst/gstparse.c:
21937         * gst/gsttag.c:
21938         * gst/gsttaginterface.c:
21939         * gst/gsttypefind.c:
21940         * gst/gsttypefind.h:
21941           inlined more docs
21942
21943 === release 0.9.2 ===
21944
21945 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21946
21947         * NEWS:
21948         * RELEASE:
21949         * configure.ac:
21950           releasing 0.9.2, "South"
21951
21952 2005-09-05  Andy Wingo  <wingo@pobox.com>
21953
21954         * gst/registries/gstxmlregistry.h:
21955         * gst/registries/gstxmlregistry.c: Um... resurrect...
21956         
21957         * gst/registries/gstxmlregistry.h:
21958         * gst/registries/gstxmlregistry.c: and update to newer API.
21959         Incidentally they should be a bit faster now that they don't have
21960         to parse the caps.
21961         
21962 2005-09-05  Andy Wingo  <wingo@pobox.com>
21963
21964         * gst/registries/gstxmlregistry.h:
21965         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
21966         replaced by the libxml registry a while back
21967
21968 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21969
21970         * docs/gst/tmpl/gstplugin.sgml:
21971         * gst/elements/gstelements.c:
21972         * gst/gst.c:
21973         * gst/gstplugin.c: (gst_plugin_register_func),
21974         (gst_plugin_desc_copy), (gst_plugin_desc_free),
21975         (gst_plugin_get_source):
21976         * gst/gstplugin.h:
21977         * gst/registries/gstlibxmlregistry.c: (load_plugin),
21978         (gst_xml_registry_save_plugin):
21979         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
21980         (gst_xml_registry_save_plugin):
21981         * tools/gst-inspect.c: (print_plugin_info):
21982           add a "source" plugin description field, to represent the source
21983           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
21984           will set it to PACKAGE, which is automake's idea of the name of
21985           the source project.
21986
21987 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21988
21989         * Makefile.am:
21990         * autogen.sh:
21991         * configure.ac:
21992         * docs/Makefile.am:
21993         * docs/faq/Makefile.am:
21994         * docs/gst/tmpl/gstelement.sgml:
21995         * docs/gst/tmpl/gsttypes.sgml:
21996         * docs/htmlinstall.mak:
21997         * docs/manual/Makefile.am:
21998         * docs/pwg/Makefile.am:
21999           reorganize doc build a little
22000           split out docbook and gtk-doc stuff
22001           have two separate --enable's and enable them through autogen
22002           but disable by default in configure (to be similar to other
22003           projects)
22004         * gstreamer.spec.in:
22005           clean up docs install
22006         * po/af.po:
22007         * po/az.po:
22008         * po/ca.po:
22009         * po/cs.po:
22010         * po/de.po:
22011         * po/en_GB.po:
22012         * po/fr.po:
22013         * po/it.po:
22014         * po/nb.po:
22015         * po/nl.po:
22016         * po/ru.po:
22017         * po/sq.po:
22018         * po/sr.po:
22019         * po/sv.po:
22020         * po/tr.po:
22021         * po/uk.po:
22022         * po/vi.po:
22023           translation updates
22024
22025 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
22026
22027         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
22028           Add comment.
22029           
22030         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
22031         (gst_fake_sink_change_state):
22032           Make state change function thread-safe.
22033           
22034         * gst/gstpad.c: (gst_pad_alloc_buffer):
22035           Set offset on generic buffer allocated by fallback.
22036
22037 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
22038
22039         * docs/gst/gstreamer-sections.txt:
22040         * docs/gst/tmpl/gstelement.sgml:
22041         * gst/gstpad.c:
22042         * libs/gst/controller/gst-controller.c:
22043         (gst_controlled_property_set_interpolation_mode),
22044         (gst_controlled_property_new),
22045         (gst_controller_find_controlled_property):
22046          run the wingo-magic script against the docs
22047
22048 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
22049
22050         * docs/gst/gstreamer-docs.sgml:
22051         * docs/gst/gstreamer-sections.txt:
22052         * docs/gst/tmpl/.cvsignore:
22053         * docs/gst/tmpl/gstelementdetails.sgml:
22054         * docs/gst/tmpl/gstelementfactory.sgml:
22055         * gst/gst.c:
22056         * gst/gstbus.c:
22057         * gst/gstelementfactory.c:
22058         * gst/gstelementfactory.h:
22059           merged elementdetails docs into elementfactory docs
22060           inlined both
22061
22062 2005-09-02  Andy Wingo  <wingo@pobox.com>
22063
22064         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
22065         consider this enum an enum and not a flags.
22066
22067 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
22068
22069         * docs/gst/gstreamer-docs.sgml:
22070         * docs/gst/tmpl/.cvsignore:
22071         * docs/gst/tmpl/gstghostpad.sgml:
22072         * docs/gst/tmpl/gstiterator.sgml:
22073         * docs/gst/tmpl/gstmacros.sgml:
22074         * docs/gst/tmpl/gstrealpad.sgml:
22075         * docs/gst/tmpl/gstregistry.sgml:
22076         * docs/gst/tmpl/gstregistrypool.sgml:
22077         * docs/gst/tmpl/gststructure.sgml:
22078         * docs/gst/tmpl/gstsystemclock.sgml:
22079         * docs/gst/tmpl/gsttrace.sgml:
22080         * gst/gstghostpad.c:
22081         * gst/gstmacros.h:
22082         * gst/gstmemchunk.c:
22083         * gst/gstmemchunk.h:
22084         * gst/gstqueue.c:
22085         * gst/gstregistry.c:
22086         * gst/gstregistrypool.c:
22087         * gst/gststructure.c:
22088         * gst/gstsystemclock.c:
22089           more docs inlined
22090
22091 2005-09-02  Andy Wingo  <wingo@pobox.com>
22092
22093         * gst/gstelement.h (GstState): Renamed from GstElementState,
22094         changed to be a normal enum instead of flags.
22095         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
22096         munged to be GST_STATE_CHANGE_*.
22097         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
22098         work with the new state representation.
22099         (GstStateChange): New enumeration of possible state transitions.
22100         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
22101         (GstElementClass::change_state): Pass the GstStateChange along as
22102         an argument. Helps language bindings, so they don't have to use
22103         tricky lock-needing macros like GST_STATE_CHANGE ().
22104
22105         * scripts/update-states (file): New script. Run it on a file to
22106         update it for state naming and API changes. Updates files in
22107         place.
22108
22109         * All files updated for the new API.
22110
22111 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22112
22113         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
22114         * gst/gstutils.c: (gst_util_set_value_from_string),
22115         (gst_util_set_object_arg):
22116           fix a bunch of unchecked return values
22117         * tools/gst-complete.c: (main):
22118         * gstreamer.spec.in:
22119           clean up a little
22120
22121 2005-09-01  Wim Taymans  <wim@fluendo.com>
22122
22123         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22124         (gst_base_sink_event), (gst_base_sink_do_sync),
22125         (gst_base_sink_handle_event):
22126         * gst/base/gstbasesink.h:
22127         Handle newsegments more correctly.
22128
22129         * gst/gstbus.c:
22130         Fix docs.
22131
22132         * gst/gstevent.c: (gst_event_new_newsegment):
22133         A newsegment cannot have a start_time of -1
22134
22135 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
22136
22137         * win32/gstenumtypes.c:
22138         * win32/gstenumtypes.h:
22139           Update
22140
22141 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
22142
22143         * libs/gst/controller/gst-controller.c:
22144         (gst_controlled_property_set_interpolation_mode),
22145         (gst_controlled_property_new):
22146          fixed boolean again
22147
22148 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
22149
22150         * docs/faq/gst-uninstalled:
22151           add -good
22152         * gst/gstevent.c:
22153         * gst/gstevent.h:
22154           remove wrong docs
22155         * gst/gstutils.c: (gst_element_link_filtered):
22156         * gst/gstutils.h:
22157           add gst_element_link_filtered
22158
22159 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
22160
22161         * docs/gst/gstreamer-docs.sgml:
22162         * docs/gst/gstreamer-sections.txt:
22163         * docs/gst/tmpl/.cvsignore:
22164         * docs/gst/tmpl/gsterror.sgml:
22165         * docs/gst/tmpl/gstfilter.sgml:
22166         * docs/gst/tmpl/gsturihandler.sgml:
22167         * docs/gst/tmpl/gsturitype.sgml:
22168         * docs/gst/tmpl/gstutils.sgml:
22169         * docs/gst/tmpl/gstxml.sgml:
22170         * gst/gsterror.c:
22171         * gst/gsterror.h:
22172         * gst/gstfilter.c:
22173         * gst/gsturi.c:
22174         * gst/gsturitype.c:
22175         * gst/gstutils.c:
22176         * gst/gstxml.c:
22177           inlined more docs, fixed double id-ref
22178
22179 2005-08-31  Wim Taymans  <wim@fluendo.com>
22180
22181         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
22182         (gst_base_transform_handle_buffer):
22183         Passthrough elements don't need the caps as they don't care.
22184
22185 2005-08-31  Wim Taymans  <wim@fluendo.com>
22186
22187         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
22188         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
22189         Don't leak refcounts on buffers.
22190
22191 2005-08-31  Wim Taymans  <wim@fluendo.com>
22192
22193         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
22194         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
22195         (gst_base_transform_chain), (gst_base_transform_change_state):
22196         * gst/base/gstbasetransform.h:
22197         Handle the case where we are not negotiated more gracefully.
22198
22199 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
22200
22201         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
22202         (gst_file_src_map_region):
22203           Set READONLY flag on mmap'ed buffers, otherwise
22204           gst_buffer_make_writable() won't work properly (#314708).
22205
22206 2005-08-31  Wim Taymans  <wim@fluendo.com>
22207
22208         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
22209         passthrough elements can even do inplace on non writable
22210         buffers (as they don't touch them).
22211
22212 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
22213
22214         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
22215         (gst_test_mono_source_set_property),
22216         (gst_test_mono_source_class_init), (GST_START_TEST),
22217         (gst_controller_suite):
22218           more tests (hehe I have the most)
22219         * gst/gstbus.c:
22220           describe popping messages whenusing mulltiple sources
22221         * libs/gst/controller/gst-controller.c:
22222         (gst_controlled_property_set_interpolation_mode),
22223         (gst_controlled_property_new):
22224         * libs/gst/controller/gst-controller.h:
22225         * libs/gst/controller/gst-interpolation.c:
22226           implement boolean properties
22227
22228 2005-08-31  Wim Taymans  <wim@fluendo.com>
22229
22230         * gst/gstminiobject.c: (gst_mini_object_ref):
22231         Cannot assert that the refcount has to be positive
22232         since a disposed object can be resurrected.
22233
22234 2005-08-31  Wim Taymans  <wim@fluendo.com>
22235
22236         * gst/gstpad.c: (gst_pad_init):
22237         Revert change, need to first fix badly behaving 
22238         apps.
22239
22240 2005-08-30  Wim Taymans  <wim@fluendo.com>
22241
22242         * check/elements/fakesrc.c: (setup_fakesrc):
22243         * check/elements/identity.c: (setup_identity):
22244         Activate pads before using them.
22245
22246 2005-08-30  Wim Taymans  <wim@fluendo.com>
22247
22248         * gst/base/gstadapter.c: (gst_adapter_flush):
22249         Flushing out 0 bytes is ok for this function.
22250
22251         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22252         no newsegment gives a warning and sets the start/stop to 
22253         invalid.
22254
22255         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
22256         (gst_base_transform_set_passthrough):
22257         Some debug info.
22258
22259         * gst/gstminiobject.c: (gst_mini_object_ref):
22260         Check refcount here too.
22261
22262         * gst/gstpad.c: (gst_pad_init):
22263         Pads are initially flushing and refusing data.
22264
22265         * gst/gstutils.c: (gst_element_link_pads_filtered):
22266         When adding a capsfilter element make sure it has the
22267         same state as the parent bin.
22268
22269 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
22270
22271         * docs/gst/tmpl/.cvsignore:
22272         * docs/gst/tmpl/gstformat.sgml:
22273         * docs/gst/tmpl/gstversion.sgml:
22274         * gst/gstbus.h:
22275         * gst/gstformat.c:
22276         * gst/gstformat.h:
22277         * gst/gstversion.h.in:
22278           more docs and two more inlined
22279
22280 2005-08-30  Wim Taymans  <wim@fluendo.com>
22281
22282         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
22283         Don't sync to clock.
22284
22285 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
22286
22287         * docs/gst/gstreamer-sections.txt:
22288           ultral33t func10ns deserve to appear in the docs actually
22289         * docs/gst/tmpl/.cvsignore:
22290         * docs/gst/tmpl/gstcompat.sgml:
22291         * docs/gst/tmpl/gstconfig.sgml:
22292         * gst/check/gstcheck.c:
22293         * gst/gstcompat.h:
22294         * gst/gstconfig.h.in:
22295           inlined more docs
22296
22297 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
22298
22299         * docs/gst/tmpl/.cvsignore:
22300         * docs/gst/tmpl/gstquery.sgml:
22301         * docs/gst/tmpl/gstutils.sgml:
22302         * gst/gstquery.c:
22303         * gst/gstquery.h:
22304           inlined and extended docs
22305
22306 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
22307
22308         * check/gst-libs/controller.c: (GST_START_TEST),
22309         (gst_controller_suite):
22310           more tests
22311         * docs/gst/tmpl/gstutils.sgml:
22312         * docs/libs/gstreamer-libs-sections.txt:
22313         * docs/libs/tmpl/gstdataprotocol.sgml:
22314           include path fixes
22315         * examples/controller/audio-example.c: (main):
22316           controller example works now
22317         * gst/gstclock.h:
22318           doc fixes
22319         * tools/gst-inspect.c: (print_element_properties_info):
22320           show param spec flags
22321
22322 2005-08-29  Andy Wingo  <wingo@pobox.com>
22323
22324         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
22325
22326 2005-08-28  Andy Wingo  <wingo@pobox.com>
22327
22328         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
22329         as having two arguments instead of just one. Allows superclasses
22330         to access information on subclasses -- see the terrible for() loop
22331         in gtype.c:g_type_create_instance for the reason why. All callers
22332         changed.
22333
22334 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
22335
22336         * docs/design/part-messages.txt:
22337           update info
22338         * docs/gst/tmpl/.cvsignore:
22339         * docs/gst/tmpl/gstcaps.sgml:
22340         * docs/gst/tmpl/gstclock.sgml:
22341         * gst/gstbus.c:
22342         * gst/gstcaps.c:
22343         * gst/gstcaps.h:
22344         * gst/gstclock.c:
22345         * gst/gstclock.h:
22346         * gst/gstmessage.c:
22347           added descriptions for bus and message
22348           inline caps and clock docs
22349
22350 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
22351
22352         * gst/gstmessage.c:
22353         * gst/gstmessage.h:
22354           doc fixes
22355
22356 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
22357
22358         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
22359           fix div-by-zero
22360
22361 2005-08-26  Andy Wingo  <wingo@pobox.com>
22362
22363         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
22364         element_set_state's return val.
22365         (test_2_elements): Add test that's been disabled for months.
22366
22367         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
22368         can-activate-pull properties.
22369
22370         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
22371         can-activate-pull properties. Implement is_seekable so fakesrc can
22372         operate in pull mode.
22373
22374         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
22375         properties.
22376         (gst_base_sink_activate, gst_base_sink_activate_pull)
22377         (gst_base_sink_activate_push): Make activation mode choosing work.
22378         Cleanups.
22379         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
22380         is right. Make pull mode work. Post an eos before pausing in pull
22381         mode.
22382         (gst_base_sink_change_state): Pay attention to the core's
22383         change_state() return val.
22384         
22385         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
22386         has-getrange properties. Cleanups.
22387         
22388         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
22389         has_getrange and replace with can_activate_pull and
22390         can_activate_push.
22391
22392         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
22393         locking comments. Remove has_loop, has_chain and replace with
22394         can_activate_pull and can_activate_push.
22395
22396 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
22397
22398         * configure.ac:
22399         * examples/Makefile.am:
22400         * examples/metadata/Makefile.am:
22401         * examples/metadata/read-metadata.c: (message_loop),
22402         (have_pad_handler), (make_pipeline), (print_tag), (main):
22403           Add metadata reading example that loops over a list of filenames,
22404           dumping any tags found.
22405
22406         * gst/gstbus.c: (gst_bus_dispose):
22407         * gst/gstelement.c: (gst_element_dispose):
22408           Release a few potentially-held references in dispose.
22409
22410 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22411
22412         * docs/gst/tmpl/gstminiobject.sgml:
22413           do *not* add tmpl/*.sgml files to CVS!
22414
22415 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22416
22417         * libs/gst/bytestream/.cvsignore:
22418         * libs/gst/bytestream/Makefile.am:
22419         * libs/gst/bytestream/adapter.c:
22420         * libs/gst/bytestream/adapter.h:
22421         * libs/gst/bytestream/bytestream.c:
22422         * libs/gst/bytestream/bytestream.h:
22423         * libs/gst/bytestream/filepad.c:
22424         * libs/gst/bytestream/filepad.h:
22425           removing obsolete files
22426
22427 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22428
22429         * docs/gst/gstreamer-docs.sgml:
22430         * docs/libs/gstreamer-libs-docs.sgml:
22431           disabed additional index entries again, as this makes docs-gen just
22432           slow and they aren't useful yet
22433         * docs/libs/gstreamer-libs-sections.txt:
22434           little -section.txt cleanup for libs
22435
22436 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
22437
22438         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22439         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
22440           fix up some debugging
22441         (gst_base_transform_get_unit_size),
22442         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
22443         (gst_base_transform_handle_buffer):
22444         * gst/base/gstbasetransform.h:
22445           handle and store timed NEWSEGMENT events so that subclasses that
22446           calculate time by counting samples have a segment_start time they
22447           need to add to their timestamps - see audioresample
22448
22449 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22450
22451         * gst/gstbin.h:
22452           removed ';' from the end of macro defs
22453         * docs/gst/gstreamer-docs.sgml:
22454         * docs/gst/gstreamer-sections.txt:
22455         * docs/gst/tmpl/.cvsignore:
22456         * gst/gstbus.h:
22457         * gst/gstelement.c: (gst_element_class_init),
22458         (gst_element_set_state), (activate_pads),
22459         (gst_element_save_thyself):
22460         * gst/gstevent.c: (gst_event_new_newsegment):
22461         * gst/gstevent.h:
22462         * gst/gstiterator.c:
22463         * gst/gstiterator.h:
22464         * gst/gstpad.c:
22465         * gst/gstprobe.h:
22466         * gst/gstutils.c: (gst_pad_query_convert):
22467         * gst/gstutils.h:
22468           fixed parameter name mismatches between source, header and docs
22469           added some more docs, resolved the last batch of unused elements in
22470           docs (now someone needs to doc them)
22471
22472 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22473
22474         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
22475         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
22476           don't walk through the plugins backwards.  Where is all this
22477           reversed logic coming from ?
22478
22479 2005-08-25  Wim Taymans  <wim@fluendo.com>
22480
22481         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22482         (gst_base_transform_transform_size),
22483         (gst_base_transform_configure_caps),
22484         (gst_base_transform_get_unit_size),
22485         (gst_base_transform_buffer_alloc),
22486         (gst_base_transform_change_state):
22487         * gst/base/gstbasetransform.h:
22488         Cache caps unit_size.
22489         Make sure we cannot negotiate up and downstream at the
22490         same time.
22491
22492 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22493
22494         * gst/gst.c: (init_pre), (init_post):
22495           register the installed plugin path after the env var
22496         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
22497         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
22498           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
22499           directories, so the tests can prefer uninstalled over installed
22500
22501 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22502
22503         * gst/base/gstbasetransform.h:
22504           comment
22505         * gst/gstpad.c:
22506           add to docs
22507
22508 2005-08-25  Wim Taymans  <wim@fluendo.com>
22509
22510         * gst/gstbin.c: (bin_bus_handler):
22511         Be a bit more conservative about the posted message.
22512         
22513         * gst/gstbus.c: (gst_bus_post):
22514         Some cleanups, warn wrong return values.
22515
22516 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
22517
22518         * check/gst/gstbin.c: (GST_START_TEST):
22519         * gst/gstbin.c: (bin_bus_handler):
22520         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
22521         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
22522         (gst_message_new_warning), (gst_message_new_tag),
22523         (gst_message_new_state_changed), (gst_message_new_segment_start),
22524         (gst_message_new_segment_done), (gst_message_new_custom):
22525         * gst/gstmessage.h:
22526         * tools/gst-launch.c: (event_loop):
22527         * tools/gst-md5sum.c: (event_loop):
22528           Revert unpopular change for GST_MESSAGE_SRC to GObject.
22529
22530 2005-08-25  Wim Taymans  <wim@fluendo.com>
22531
22532         * check/generic/states.c: (GST_START_TEST):
22533         Cleanup can be done at the end.
22534
22535         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
22536         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
22537         (gst_task_get_state), (gst_task_start), (gst_task_pause):
22538         Oh boy.. Thanks for finding this, Thomas. 
22539
22540 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
22541
22542         * docs/gst/gstreamer.types:
22543           added missing types
22544
22545 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
22546
22547         * docs/gst/gstreamer-docs.sgml:
22548         * docs/gst/gstreamer-sections.txt:
22549         * docs/gst/tmpl/.cvsignore:
22550         * gst/gstbin.c:
22551         * gst/gstiterator.c:
22552         * gst/gstutils.c:
22553         * gst/registries/gstxmlregistry.h:
22554           added missing classes and symbols (123 more to go)
22555           removed removed symbols from section file
22556           fixed many doc-comments
22557
22558 2005-08-24  Wim Taymans  <wim@fluendo.com>
22559
22560         * check/generic/states.c: (GST_START_TEST):
22561         Make sure all tasks are stopped.
22562
22563         * check/gst/gstbin.c: (GST_START_TEST):
22564         Unref after usage for proper valgrinding.
22565
22566         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
22567         Really wait for the task to stop before destroying the
22568         mutex.
22569
22570         * gst/gstqueue.c: (gst_queue_sink_activate_push),
22571         (gst_queue_src_activate_push):
22572         Small cleanups. Don't stop the task when we did not start
22573         it.
22574
22575         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
22576         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
22577         (gst_task_get_state), (gst_task_start), (gst_task_pause),
22578         (gst_task_join):
22579         * gst/gsttask.h:
22580         Protect the stream lock with the object lock.
22581         Disallow setting the stream lock when running.
22582         Add cleanup_all to wait for the threadpool to finish.
22583         Remove code to autoallocate a mutex if none was provided.
22584         Add _join() to wait for a task to stop.
22585         Protect the thread pool with a global lock.
22586
22587 2005-08-24  Wim Taymans  <wim@fluendo.com>
22588
22589         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22590         (gst_base_sink_get_times), (gst_base_sink_do_sync),
22591         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
22592         * gst/base/gstbasesink.h:
22593         Handle newsegment events correctly.
22594         Drop buffers out of the segment range.
22595
22596 2005-08-22  Andy Wingo  <wingo@pobox.com>
22597
22598         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
22599         macro, implements an interface and gstimplementsinterface for a
22600         new type.
22601
22602 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22603
22604         * check/Makefile.am:
22605         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
22606           add a test that does a bunch of state changes on elements
22607           needs some fixing for valgrind
22608         * check/states/sinks.c: (gst_object_suite):
22609           whitespace
22610         * gst/gstcaps.h:
22611           add prototype for gst_caps_is_equal_fixed
22612         * gst/gstplugin.c:
22613         * gst/gstregistrypool.c:
22614           doc fixes
22615
22616 2005-08-24  Andy Wingo  <wingo@pobox.com>
22617
22618         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
22619         convert a negative value. Doesn't make much sense. Mostly this is
22620         here to force callers to ensure -1 maps to -1.
22621
22622 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
22623
22624         * docs/pwg/advanced-types.xml:
22625           Well done to Michael for catching my deliberate introduction
22626           of this spelling mistake. 
22627         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
22628         * gst/gstelement.h:
22629           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
22630           unlink pads before removing the element from the bin.
22631
22632 2005-08-24  Andy Wingo  <wingo@pobox.com>
22633
22634         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
22635         the same thing as GST_DEBUG=*:4.
22636         (parse_debug_level, parse_debug_category): New helper parsers.
22637
22638 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22639
22640         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22641         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
22642         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
22643         (gst_base_transform_buffer_alloc),
22644         (gst_base_transform_handle_buffer):
22645           use gboolean return values and pointers to size so we can use the
22646           full GST_BUFFER_SIZE range (guint) for buffer sizes
22647           use GstPadDirection for transform_caps
22648         * gst/base/gstbasetransform.h:
22649           rename get_size to get_unit_size since that's what it is
22650         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
22651           use GstPadDirection for transform_caps
22652         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22653         * gst/gstutils.h:
22654           cleanup and debugging
22655
22656 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
22657
22658         * gst/gstelement.c: (gst_element_class_init),
22659         (gst_element_set_state), (activate_pads),
22660         (gst_element_save_thyself):
22661         * tools/gst-compprep.c: (main):
22662         * tools/gst-inspect.c: (print_element_properties_info):
22663         * tools/gst-xmlinspect.c: (print_element_properties):
22664           Fixed long standing mem-leak
22665
22666 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
22667
22668         * check/gst/gstbin.c: (GST_START_TEST):
22669         * gst/gstbin.c: (bin_bus_handler):
22670         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
22671         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
22672         (gst_message_new_warning), (gst_message_new_tag),
22673         (gst_message_new_state_changed), (gst_message_new_segment_start),
22674         (gst_message_new_segment_done), (gst_message_new_custom):
22675         * gst/gstmessage.h:
22676         * tools/gst-launch.c: (event_loop):
22677         * tools/gst-md5sum.c: (event_loop):
22678           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
22679           that applications can sensibly post custom messages with references
22680           to their own objects.
22681
22682 2005-08-24  Andy Wingo  <wingo@pobox.com>
22683
22684         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
22685         already.
22686
22687 2005-08-24  Wim Taymans  <wim@fluendo.com>
22688
22689         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22690         (gst_base_transform_transform_caps),
22691         (gst_base_transform_transform_size),
22692         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22693         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
22694         (gst_base_transform_handle_buffer):
22695         * gst/base/gstbasetransform.h:
22696         Many fixes and new features added by Thomas. Can now also do
22697         transforms with variable sizes and a custom fixate_caps function.
22698
22699 2005-08-24  Wim Taymans  <wim@fluendo.com>
22700
22701         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22702         Some debugging.
22703
22704         * gst/gstclock.h:
22705         Cast to ClockTime before formatting to time.
22706
22707         * gst/gstutils.h:
22708         Cleanups.
22709
22710 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
22711
22712         * check/gst-libs/controller.c: (GST_START_TEST),
22713         (gst_controller_suite):
22714         * docs/gst/tmpl/gstcaps.sgml:
22715         * docs/gst/tmpl/gstghostpad.sgml:
22716         * docs/gst/tmpl/gstquery.sgml:
22717         * docs/gst/tmpl/gstutils.sgml:
22718         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
22719         (gst_object_sink_values), (gst_object_get_value_arrays),
22720         (gst_object_get_value_array):
22721           gracefully handle helper method calls to objects that are not beeing
22722           controlled, added test case for that          
22723
22724 2005-08-23  Wim Taymans  <wim@fluendo.com>
22725
22726         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
22727         (gst_event_new_newsegment), (gst_event_parse_newsegment),
22728         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
22729         (gst_event_parse_qos), (gst_event_new_seek),
22730         (gst_event_parse_seek):
22731         * gst/gstevent.h:
22732         Some more debugging output and doc cleanups.
22733
22734         * gst/gstqueue.c: (gst_queue_handle_sink_event):
22735         Fix possible deadlock.
22736
22737 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22738
22739         * docs/gst/gstreamer-docs.sgml:
22740         * docs/gst/gstreamer-sections.txt:
22741         * docs/gst/gstreamer.types:
22742         * docs/gst/tmpl/.cvsignore:
22743         * gst/gstbin.h:
22744         * gst/gstbus.c:
22745         * gst/gstelement.c:
22746         * gst/gstevent.h:
22747           added 100 symbols from gstreamer-unused.txt to the right sections
22748           fixed more broken comments
22749           added GstBus to docs
22750
22751 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22752
22753         * docs/gst/gstreamer-sections.txt:
22754         * docs/gst/tmpl/.cvsignore:
22755         * docs/gst/tmpl/gstbin.sgml:
22756         * docs/gst/tmpl/gstbuffer.sgml:
22757         * gst/base/gstbasesrc.c:
22758         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
22759         * gst/gstbuffer.c:
22760         * gst/gstbuffer.h:
22761         * tools/gst-launch.1.in:
22762           inlined more doc comments, added missing comments and fixed comments
22763           fixed typos
22764
22765 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22766
22767         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22768           some debugging
22769         * gst/gstcaps.h:
22770           whitespace fixes
22771         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
22772           more debugging
22773         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
22774         * gst/gststructure.h:
22775           add a fixate function for booleans; add a FIXME that these func
22776           names should probably be gst_structure_fixate_*
22777
22778 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22779
22780         * docs/gst/gstreamer-docs.sgml:
22781         * docs/gst/gstreamer-sections.txt:
22782         * gst/Makefile.am:
22783         * gst/gstbin.c: (gst_bin_get_type),
22784         (gst_bin_child_proxy_get_child_by_index),
22785         (gst_bin_child_proxy_get_children_count),
22786         (gst_bin_child_proxy_init):
22787         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
22788         (gst_child_proxy_get_child_by_index),
22789         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
22790         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
22791         (gst_child_proxy_get), (gst_child_proxy_set_property),
22792         (gst_child_proxy_set_valist), (gst_child_proxy_set),
22793         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
22794         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
22795         * gst/gstchildproxy.h:
22796         * gst/parse/grammar.y:
22797         * tools/gst-inspect.c: (print_interfaces),
22798         (print_element_properties_info), (print_element_info):
22799           ported gstchildproxy over from 0.8
22800           ported gst-inspect fixes and enhancements over from 0.8
22801
22802 2005-08-22  Wim Taymans  <wim@fluendo.com>
22803
22804         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22805         (gst_base_transform_handle_buffer):
22806         Also call the transform function if we have ANY caps.
22807
22808         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
22809         Fix debug info.
22810
22811 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
22812
22813         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
22814           Don't pretend to handle seek events if the source is not seekable
22815
22816 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
22817
22818         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22819           Remove extra parameter to debug output
22820
22821         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22822         (gst_base_src_do_seek), (gst_base_src_activate_push):
22823           Fix seek event handling.
22824
22825         * gst/gstpipeline.c: (gst_pipeline_change_state):
22826         * gst/gstqueue.c: (gst_queue_handle_sink_event),
22827         (gst_queue_src_activate_push):
22828           Don't start the src pad task on FLUSH_STOP if the pad
22829           isn't linked.
22830           Debug changes.
22831
22832 2005-08-22  Wim Taymans  <wim@fluendo.com>
22833
22834         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
22835         Added check for gst_static_caps_get() refcounting.
22836
22837 2005-08-22  Wim Taymans  <wim@fluendo.com>
22838
22839         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
22840         Make _static_caps_get() refcounting sane.
22841         
22842         * gst/gstelement.c: (gst_element_set_state):
22843         Add g_return_val_if_fail() to protect against segfaults.
22844
22845 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
22846
22847         * docs/gst/tmpl/gstevent.sgml:
22848         * gst/gstevent.c:
22849         * gst/gstevent.h:
22850           inlined remaining docs, added missing doc comments
22851
22852 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22853
22854         * check/gst/gstbin.c: (GST_START_TEST):
22855           since we don't know when preroll is done, use refcount range
22856           check for the sink
22857         * gst/check/gstcheck.h:
22858           add macro for checking refcount range
22859
22860 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
22861
22862         * check/Makefile.am:
22863           clean up environment for when registry gets built versus
22864           when actual tests are run; valgrind seems to not report
22865           leaks if GST_PLUGIN_PATH is set to some specific values
22866         * check/gst/gstbin.c: (GST_START_TEST):
22867           add more refcounting checks; maybe this exposes a
22868           preroll lock bug ?
22869         * common/check.mak:
22870         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22871         * gst/check/gstcheck.h:
22872         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
22873         (gst_bin_change_state):
22874         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
22875           add/fix debugging/whitespace
22876
22877 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
22878
22879         * check/gst/gstevent.c: (event_probe), (test_event),
22880         (GST_START_TEST):
22881          Er, don't call gst_bin_watch_for_state_change you idiot.
22882
22883 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
22884
22885         * check/Makefile.am:
22886           Use CHECK_CFLAGS and CHECK_LIBS
22887         * check/gst/gstevent.c: (event_probe), (test_event),
22888         (GST_START_TEST):
22889           Don't leak events.
22890         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22891         (gst_base_src_start), (gst_base_src_stop),
22892         (gst_base_src_activate_push), (gst_base_src_activate_pull),
22893         (gst_base_src_change_state):
22894           Sprinkle gst_base_src_stop liberally around error paths to fix
22895           problems reusing a source after failed state changes.
22896         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22897         (helper_find_suggest), (gst_type_find_helper):
22898           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
22899         * gst/gstevent.h:
22900         * docs/gst/tmpl/gstevent.sgml:
22901           Migrate part of the docs from the SGML file. Wait for ensonic to
22902           tell me how I did it wrong ;)
22903         * tools/gst-typefind.c: (main):
22904           Extra robustness to state changes between files.
22905
22906 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
22907
22908         * check/Makefile.am:
22909           don't valgrind the controller test - it's leaking - Stefan, HELP
22910         * gst/check/gstcheck.c: (gst_check_message_error),
22911         (gst_check_chain_func), (gst_check_setup_element),
22912         (gst_check_teardown_element), (gst_check_setup_src_pad),
22913         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
22914         (gst_check_teardown_sink_pad):
22915         * gst/check/gstcheck.h:
22916           add a bunch of methods to set up elements, and src and sink pads
22917         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
22918         * check/elements/identity.c: (setup_identity), (cleanup_identity),
22919         (GST_START_TEST):
22920           use them
22921         * gst/gstmessage.c:
22922         * gst/gsttag.h:
22923           whitespace/doc fixes
22924
22925 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22926
22927         * gst/gstelement.h:
22928           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
22929           be handled by the application and not always printed as well
22930
22931 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22932
22933         * check/Makefile.am:
22934           set GST_TOOLS_DIR
22935         * gst/check/gstcheck.c: (gst_check_message_error):
22936         * gst/check/gstcheck.h:
22937           add a fail_unless_equals_int
22938           add fail_unless for error messages
22939
22940 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22941
22942         * check/Makefile.am:
22943         * check/gst.supp:
22944         * common/Makefile.am:
22945         * common/check.mak:
22946         * common/gst.supp:
22947           factor out some of the common stuff so we can use it
22948
22949 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22950
22951         * check/Makefile.am:
22952         * check/gst/gstiterator.c: (GST_START_TEST):
22953         * check/gst/gstsystemclock.c: (GST_START_TEST),
22954         (gst_systemclock_suite):
22955         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
22956         * gst/gstclock.c:
22957           valgrind more tests
22958
22959 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22960
22961         * check/elements/.cvsignore:
22962         * check/elements/gstfakesrc.c:
22963           rename to name of element
22964         * check/elements/identity.c: (chain_func), (event_func),
22965         (setup_identity), (cleanup_identity), (GST_START_TEST),
22966         (identity_suite), (main):
22967           add a test for identity
22968         * check/Makefile.am:
22969         * pkgconfig/Makefile.am:
22970         * pkgconfig/gstreamer-check.pc.in:
22971         * pkgconfig/gstreamer-check-uninstalled.pc.in:
22972         * gst/check:
22973         * gst/Makefile.am:
22974         * configure.ac:
22975           move the check stuff to a library that gets installed
22976         * check/gst-libs/controller.c: (GST_START_TEST):
22977         * check/gst-libs/gdp.c:
22978         * check/gst/gst.c: (GST_START_TEST):
22979         * check/gst/gstbin.c:
22980         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22981         * check/gst/gstbus.c:
22982         * check/gst/gstcaps.c: (GST_START_TEST):
22983         * check/gst/gstelement.c:
22984         * check/gst/gstghostpad.c:
22985         * check/gst/gstiterator.c:
22986         * check/gst/gstmessage.c:
22987         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
22988         * check/gst/gstobject.c:
22989         * check/gst/gstpad.c: (GST_START_TEST):
22990         * check/gst/gststructure.c: (GST_START_TEST):
22991         * check/gst/gstsystemclock.c: (GST_START_TEST),
22992         (gst_systemclock_suite):
22993         * check/gst/gsttag.c: (gst_tag_suite):
22994         * check/gst/gstvalue.c:
22995         * check/pipelines/cleanup.c:
22996         * check/pipelines/simple_launch_lines.c:
22997         * check/states/sinks.c:
22998           change include statement
22999
23000         * docs/gst/gstreamer-sections.txt:
23001         * docs/gst/tmpl/gstpad.sgml:
23002           document more pad stuff
23003         * gst/gstminiobject.c: (gst_mini_object_ref),
23004         (gst_mini_object_unref):
23005           debug refcounting
23006
23007 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
23008
23009         * docs/gst/tmpl/gst.sgml:
23010         * gst/gst.c:
23011           eliminate another tmpl file, fix spelling in the long-description
23012
23013 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
23014
23015         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23016         (test_event), (timediff), (gstevents_suite):
23017           Should fix build on 64-bit arch's
23018
23019 2005-08-18  Andy Wingo  <wingo@pobox.com>
23020
23021         Make sure that when a pipeline goes to PLAYING, that data has
23022         actually hit the sink.
23023
23024         * check/states/sinks.c (test_sink): A sink that doesn't get any
23025         data shouldn't return SUCCESS for going to either PLAYING or
23026         PAUSED. Test also the return values on the way back down.
23027
23028         * gst/gstelement.c (gst_element_set_state): When changing the
23029         state of an element currently changing state asynchronously, go to
23030         lost-state after commiting the pending state. Makes future calls
23031         to get_state continue to return ASYNC.
23032
23033         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
23034         ASYNC when going to PLAYING if we still don't have preroll, as can
23035         happen with live sources.
23036
23037 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
23038
23039         * docs/pwg/advanced-types.xml:
23040           Hack long paragraph into 2 chunks as a workaround for buggy
23041           jadetex version in sid and breezy that loops infinitely and
23042           eats all RAM.
23043
23044 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
23045
23046         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23047         (test_event), (timediff), (gstevents_suite):
23048           Provide more error margin in clock measurements to allow for 
23049           g_get_current_time inaccuracies.
23050
23051 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
23052
23053         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23054         (test_event), (timediff), (gstevents_suite):
23055            Fix error message output so I might be able to tell why the
23056            test works here but fails on the build farm.
23057
23058 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
23059
23060         * check/Makefile.am:
23061         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23062         (test_event), (timediff), (gstevents_suite), (main):
23063           I wrote a test!
23064
23065         * docs/design/part-seeking.txt:
23066           Spelling correction
23067
23068         * docs/gst/tmpl/gstevent.sgml:
23069         * docs/gst/tmpl/gstfakesrc.sgml:
23070           Docs updates.
23071
23072         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23073           Treat a buffer-without-newsegment the same as a receiving 
23074           a newsegment not in time format, and disable syncing to the clock
23075           with a warning.
23076
23077         * gst/gstbus.c: (gst_bus_set_sync_handler):
23078           Assert if anyone tries to replace the existing sync_handler for bus, 
23079           as only the owner should be setting it.
23080
23081         * gst/gstevent.h:
23082           Have a fixed set of custom event enums with events identified by
23083           their structure name (as in 0.8), rather than a free-for-all
23084           allowing collisions between enum values from different plugins.
23085
23086         * gst/gstpad.c: (gst_pad_class_init):
23087           Docs change.
23088           
23089         * gst/gstqueue.c: (gst_queue_handle_sink_event):
23090           Handle out-of-band downstream events from the sending thread.
23091
23092 2005-08-17  Andy Wingo  <wingo@pobox.com>
23093
23094         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
23095         play-timeout==0 to mean no timeout at all. In that case, don't
23096         bother with a get_state or a warning, just return directly, even
23097         if it's ASYNC.
23098
23099         * gst/base/gstbasetransform.c: Debug changes.
23100
23101         * gst/gstutils.h:
23102         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
23103         ensure bins post state change messages. A bit of a hack but I can't
23104         think of a way to avoid it.
23105
23106         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
23107
23108 2005-08-16  Andy Wingo  <wingo@pobox.com>
23109
23110         * gst/base/gstadapter.h:
23111         * gst/base/gstadapter.c (gst_adapter_take): New function, like
23112         peek() but you own the data. Not terribly efficient atm.
23113
23114 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23115
23116         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
23117         (gst_element_found_tags):
23118         * gst/gstutils.h:
23119           Add two utility functions for tag handling.
23120
23121 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23122
23123         * docs/manual/advanced-dataaccess.xml:
23124         * docs/manual/basics-helloworld.xml:
23125           Fix docs to use _bin_add() before _link(), which fixes the examples
23126           with recent core versions (reported by Madhan Raj M
23127           <raj_madan@rediffmail.com>, #313199).
23128
23129 2005-08-16  Wim Taymans  <wim@fluendo.com>
23130
23131         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
23132         Added subtract checks.
23133
23134         * docs/design/part-events.txt:
23135         Some more docs about newsegment
23136
23137         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
23138         Fix FIXME
23139
23140         * gst/gstcaps.c: (gst_caps_to_string):
23141         Add comments, cleanups.
23142         
23143         * gst/gstelement.c: (gst_element_save_thyself):
23144         cleanups
23145         
23146         * gst/gstvalue.c: (gst_value_collect_int_range),
23147         (gst_string_unwrap), (gst_value_union_int_int_range),
23148         (gst_value_union_int_range_int_range),
23149         (gst_value_intersect_int_int_range),
23150         (gst_value_intersect_int_range_int_range),
23151         (gst_value_intersect_double_double_range),
23152         (gst_value_intersect_double_range_double_range),
23153         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
23154         (gst_value_subtract_int_range_int),
23155         (gst_value_subtract_double_range_double),
23156         (gst_value_subtract_double_range_double_range),
23157         (gst_value_subtract_from_list), (gst_value_subtract_list),
23158         (gst_value_can_compare), (gst_value_compare_fraction):
23159         Cleanups, add comments, remove unneeded asserts.
23160
23161 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23162
23163         * tools/gst-launch.c: (event_loop):
23164           don't convert NULL structures to strings
23165
23166 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
23167
23168         * docs/gst/gstreamer-sections.txt:
23169           made some defines private
23170         * docs/gst/tmpl/gstconfig.sgml:
23171         * docs/gst/tmpl/gstqueue.sgml:
23172         * docs/gst/tmpl/gsttaglist.sgml:
23173         * docs/gst/tmpl/gsttypes.sgml:
23174         * docs/gst/tmpl/gstutils.sgml:
23175         * docs/pwg/appendix-porting.xml:
23176         * gst/base/gstbasesink.h:
23177         * gst/base/gstbasesrc.c:
23178         * gst/base/gstbasesrc.h:
23179         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
23180         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
23181         * gst/gstelement.c: (gst_element_class_init):
23182         * gst/gstpad.c: (gst_pad_class_init):
23183         * gst/gstqueue.c: (gst_queue_class_init):
23184         * gst/gstxml.c: (gst_xml_class_init):
23185           documented all undocumented signal inline
23186         * libs/gst/controller/gst-controller.h:
23187           added padding
23188
23189 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23190
23191         * docs/pwg/appendix-porting.xml:
23192           Document _set_link_function -> _set_setcaps_function.
23193
23194 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23195
23196         * check/Makefile.am:
23197           add a .check target for running the check
23198         * check/gst-libs/controller.c: (GST_START_TEST):
23199           cosmetic fixups
23200         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
23201           complete checks for gstbuffer; would be nice if I could get the
23202           gcov stuff to work so I can see if I actually completed gstbuffer.c
23203         * check/gstcheck.h:
23204           add ASSERT_BUFFER_REFCOUNT
23205
23206 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
23207
23208         * docs/gst/gstreamer-sections.txt:
23209         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
23210         * gst/gsttag.h:
23211           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
23212           spew out a warning if a tag that is already registered
23213           is re-registered, unless it is re-registered with a 
23214           different type (#308438).
23215
23216 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
23217
23218         * docs/pwg/appendix-porting.xml:
23219         * docs/pwg/building-state.xml:
23220           Add some paragraphs about state changes in 0.9 to the PWG
23221           and the porting guide, in particular about the new meaning
23222           of GST_STATE_PAUSED and how to write state change functions
23223           with concurrent access by multiple threads in mind.
23224
23225 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
23226
23227         * docs/gst/gstreamer-docs.sgml:
23228         * docs/libs/gstreamer-libs-docs.sgml:
23229           added deprecation and since indexes
23230         * libs/gst/controller/gst-controller.c:
23231         * libs/gst/controller/gst-helper.c:
23232           added since tags
23233
23234
23235 2005-08-11  Wim Taymans  <wim@fluendo.com>
23236
23237         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
23238         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
23239         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
23240         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
23241         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
23242         (gst_ghost_pad_set_target):
23243         Actually implement (re)setting the target on a ghostpad
23244         as described in the docs.
23245
23246 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
23247
23248         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
23249           Check whether GST_DEBUG_NO_COLOR environment variable is
23250           set and disable coloured debug output if that is the case.
23251
23252 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
23253
23254         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23255         (gst_type_find_helper):
23256           The memory returned by gst_type_find_peek() needs to
23257           stay valid until the end of a typefind function, and
23258           typefind functions may keep results from different 
23259           offsets around, so we can't just unref the buffer from
23260           the previous _peek(), but have to save all buffers 
23261           returned by _peek() until typefinding is done and only
23262           free them then.
23263
23264 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
23265
23266         * docs/gst/gstreamer-sections.txt:
23267         * gst/gstutils.h:
23268           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
23269
23270 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23271
23272         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
23273           Fix a pretty good memleak.
23274
23275 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
23276
23277         * gst/gstiterator.h:
23278           Fix wrong include and 'make distcheck'.
23279
23280 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23281
23282         * gst/gstbin.c: (bin_bus_handler):
23283           Use gst_element_post_message() instead.
23284
23285 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
23286
23287         * gst/base/gstadapter.h:
23288         * gst/base/gstbasesink.h:
23289         * gst/base/gstbasesrc.h:
23290         * gst/base/gstbasetransform.h:
23291         * gst/base/gstcollectpads.h:
23292         * gst/base/gstpushsrc.h:
23293         * gst/gstiterator.h:
23294           Add padding to our base elements' class and instance structs and
23295           to GstIterator (you will need to rebuild all plugins and apps!)
23296
23297 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23298
23299         * gst/gstbin.c: (bin_bus_handler):
23300           Make default message forwarding from child->bus to bin->bus
23301           threadsafe and make it not emit warnings if the parent has no bus.
23302
23303 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23304
23305         * gst/gstelement.c: (activate_pads):
23306           On paused->ready, set pad->caps to NULL, as is the documented
23307           behaviour in this state change. Fixes playback of series of
23308           media files when visualization is enabled in Totem.
23309
23310 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23311
23312         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
23313           Allow NULL as filter-caps (which means "any").
23314
23315 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
23316
23317         * docs/libs/gstreamer-libs-sections.txt:
23318         * libs/gst/controller/gst-controller.c:
23319         * libs/gst/controller/gst-controller.h:
23320         * libs/gst/controller/gst-helper.c:
23321           adding more entries to the docs and fix small doc-bugs
23322
23323 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
23324
23325         * docs/gst/gstreamer-docs.sgml:
23326         * docs/gst/gstreamer-sections.txt:
23327         * docs/gst/gstreamer.types:
23328         * docs/gst/tmpl/gstbasesink.sgml:
23329         * docs/gst/tmpl/gstbasesrc.sgml:
23330         * docs/gst/tmpl/gstbasetransform.sgml:
23331         * docs/gst/tmpl/gstfakesrc.sgml:
23332         * gst/base/gstcollectpads.c:
23333         * gst/base/gstcollectpads.h:
23334         * libs/gst/controller/gst-controller.c:
23335         * libs/gst/controller/gst-controller.h:
23336         * libs/gst/controller/gst-helper.c:
23337         * libs/gst/controller/gst-interpolation.c:
23338         * libs/gst/controller/lib.c:
23339           added long/short desc for controller docs
23340           added collectpads base class docs
23341           added correct includes to base-class docs
23342
23343 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
23344
23345         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
23346         (gst_test_mono_source_set_property),
23347         (gst_test_mono_source_class_init), (GST_START_TEST),
23348         (gst_controller_suite):
23349         * docs/gst/gstreamer-docs.sgml:
23350         * docs/gst/gstreamer-sections.txt:
23351         * docs/gst/gstreamer.types:
23352         * docs/libs/gstreamer-libs-docs.sgml:
23353         * docs/libs/gstreamer-libs-sections.txt:
23354         * gst/base/gstadapter.c:
23355         * libs/gst/controller/gst-controller.c:
23356         (gst_controlled_property_new), (gst_controlled_property_free),
23357         (gst_controller_new_valist),
23358         (gst_controller_remove_properties_valist),
23359         (gst_controller_sink_values), (_gst_controller_finalize):
23360         * libs/gst/controller/gst-controller.h:
23361         * libs/gst/controller/gst-helper.c:
23362         (gst_object_control_properties), (gst_object_uncontrol_properties),
23363         (gst_object_get_controller), (gst_object_set_controller),
23364         (gst_object_sink_values), (gst_object_get_value_arrays),
23365         (gst_object_get_value_array):
23366           more tests (and fixes) for the controller
23367           more docs for the controller
23368           integrated companies docs for the adapter 
23369
23370 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23371
23372         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
23373         (GST_START_TEST), (fakesrc_suite):
23374           add tests for sizetype
23375
23376 2005-08-04  Andy Wingo  <wingo@pobox.com>
23377
23378         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
23379         fixes buffer_alloc proxying among other things.
23380
23381         * gst/base/gstbasetransform.c:
23382         * gst/base/gstbasetransform.h:
23383         Revert patch to gstbasetransform from 7-28 removing
23384         delay_configure.
23385
23386         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
23387         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
23388         Semantics changed, should return not the size of the output buffer
23389         but the byte size of a buffer with a given caps.
23390
23391         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
23392         debug object.
23393         (gst_base_transform_configure_caps): Don't set out_size here: (in,
23394         out) are not the pad caps until setcaps finishes.
23395         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
23396         not-in-place case as well. Deal with changing from in-place to
23397         not-in-place within calling pad_alloc_buffer. Still a bit
23398         concerned about the overhead here...
23399
23400 2005-08-03  Andy Wingo  <wingo@pobox.com>
23401
23402         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
23403         fixating is an error.
23404
23405 2005-08-04  Edward Hervey  <edward@fluendo.com>
23406
23407         * gst/base/gstadapter.h: 
23408         Added gst_adapter_get_type() to the header
23409
23410 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
23411
23412         * check/Makefile.am:
23413         * check/gst-libs/controller.c:
23414         * libs/gst/controller/gst-controller.c:
23415         (gst_controller_new_valist):
23416           added check test suite for the controller
23417         * gst/base/gstpushsrc.c:
23418           fixed a doc typo
23419
23420 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
23421
23422         * docs/gst/Makefile.am:
23423         * docs/gst/gstreamer-docs.sgml:
23424         * docs/gst/gstreamer-sections.txt:
23425         * docs/gst/gstreamer.types:
23426         * docs/gst/tmpl/gstfakesrc.sgml:
23427         * gst/base/README:
23428         * gst/base/gstbasesink.c:
23429         * gst/base/gstbasesink.h:
23430         * gst/base/gstbasesrc.c:
23431         * gst/base/gstbasesrc.h:
23432         * gst/base/gstbasetransform.c:
23433         * gst/base/gstpushsrc.c:
23434         * gst/base/gstpushsrc.h:
23435           add short/long description docs to base classes
23436           add pushsrc to the docs
23437           remove consolidated doc fragments
23438
23439 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
23440
23441         * configure.ac:
23442         * docs/libs/Makefile.am:
23443         * docs/libs/gstreamer-libs-docs.sgml:
23444         * docs/libs/gstreamer-libs-sections.txt:
23445         * docs/libs/gstreamer-libs.types:
23446         * examples/Makefile.am:
23447         * examples/controller/.cvsignore:
23448         * examples/controller/Makefile.am:
23449         * examples/controller/audio-example.c: (main):
23450         * libs/gst/Makefile.am:
23451         * libs/gst/controller/.cvsignore:
23452         * libs/gst/controller/Makefile.am:
23453         * libs/gst/controller/gst-controller.c:
23454         (on_object_controlled_property_changed), (gst_timed_value_compare),
23455         (gst_timed_value_find),
23456         (gst_controlled_property_set_interpolation_mode),
23457         (gst_controlled_property_new), (gst_controlled_property_free),
23458         (gst_controller_find_controlled_property),
23459         (gst_controller_new_valist), (gst_controller_new),
23460         (gst_controller_remove_properties_valist),
23461         (gst_controller_remove_properties), (gst_controller_set),
23462         (gst_controller_set_from_list), (gst_controller_unset),
23463         (gst_controller_get), (gst_controller_get_all),
23464         (gst_controller_sink_values), (gst_controller_get_value_arrays),
23465         (gst_controller_get_value_array),
23466         (gst_controller_set_interpolation_mode),
23467         (_gst_controller_finalize), (_gst_controller_init),
23468         (_gst_controller_class_init), (gst_controller_get_type):
23469         * libs/gst/controller/gst-controller.h:
23470         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
23471         (g_object_uncontrol_properties), (g_object_get_controller),
23472         (g_object_set_controller), (g_object_sink_values),
23473         (g_object_get_value_arrays), (g_object_get_value_array):
23474         * libs/gst/controller/gst-interpolation.c:
23475         (gst_controlled_property_find_timed_value_node),
23476         (interpolate_none_get), (interpolate_trigger_get),
23477         (interpolate_trigger_get_value_array):
23478         * libs/gst/controller/lib.c: (gst_controller_init):
23479         * pkgconfig/Makefile.am:
23480         * pkgconfig/gstreamer-control-uninstalled.pc.in:
23481         * pkgconfig/gstreamer-control.pc.in:
23482         * testsuite/Makefile.am:
23483         * testsuite/controller/.cvsignore:
23484         * testsuite/controller/Makefile.am:
23485         * testsuite/controller/interpolator.c: (main):
23486           added controller code
23487           removed dparam pc files
23488
23489 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
23490         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
23491         (gst_collectpads_stop):
23492           Broadcast the condition when shutting down, to make sure we wake all
23493           threads up. Shut down pads on finalize, for safety.
23494
23495 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
23496         * gst/base/gstbasetransform.c: (gst_base_transform_init),
23497         (gst_base_transform_handle_buffer),
23498         (gst_base_transform_change_state):
23499           Handle PAUSED->READY->PAUSED transition after negotiation
23500           occurred already.
23501         * gst/gstmessage.c: (gst_message_init):
23502           Extra piece of debug for new messages.
23503
23504 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
23505
23506         * configure.ac:
23507         * docs/gst/tmpl/gstbasesrc.sgml:
23508         * docs/gst/tmpl/gstelement.sgml:
23509         * docs/gst/tmpl/gstevent.sgml:
23510         * docs/gst/tmpl/gstfakesrc.sgml:
23511         * docs/gst/tmpl/gstformat.sgml:
23512         * docs/gst/tmpl/gstghostpad.sgml:
23513         * docs/gst/tmpl/gstpad.sgml:
23514         * docs/gst/tmpl/gstquery.sgml:
23515         * docs/gst/tmpl/gststructure.sgml:
23516         * docs/gst/tmpl/gsttaglist.sgml:
23517         * docs/gst/tmpl/gstvalue.sgml:
23518         * docs/libs/gstreamer-libs-docs.sgml:
23519         * docs/libs/gstreamer-libs-sections.txt:
23520         * docs/libs/gstreamer-libs.types:
23521         * libs/gst/Makefile.am:
23522         * libs/gst/control/.cvsignore:
23523         * libs/gst/control/Makefile.am:
23524         * libs/gst/control/control.c:
23525         * libs/gst/control/control.h:
23526         * libs/gst/control/dparam.c:
23527         * libs/gst/control/dparam.h:
23528         * libs/gst/control/dparam_smooth.c:
23529         * libs/gst/control/dparam_smooth.h:
23530         * libs/gst/control/dparamcommon.h:
23531         * libs/gst/control/dparammanager.c:
23532         * libs/gst/control/dparammanager.h:
23533         * libs/gst/control/dplinearinterp.c:
23534         * libs/gst/control/dplinearinterp.h:
23535         * libs/gst/control/unitconvert.c:
23536         * libs/gst/control/unitconvert.h:
23537         * testsuite/Makefile.am:
23538         * testsuite/dynparams/.cvsignore:
23539         * testsuite/dynparams/Makefile.am:
23540         * testsuite/dynparams/dparamstest.c:
23541         * tools/Makefile.am:
23542         * tools/gst-inspect.c: (print_element_info), (main):
23543         * tools/gst-xmlinspect.c: (print_element_info), (main):
23544           deactivate and remove dparams (libgstcontrol)
23545
23546 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
23547
23548         * gst/elements/gsttypefindelement.c:
23549         (gst_type_find_element_have_type), (gst_type_find_element_init),
23550         (stop_typefinding), (gst_type_find_element_handle_event),
23551         (gst_type_find_element_chain), (gst_type_find_element_getrange):
23552         * gst/elements/gsttypefindelement.h:
23553           Set caps on all outgoing buffers, not just the first one.
23554
23555 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
23556
23557         * gst/elements/gsttypefindelement.c:
23558         (gst_type_find_element_have_type),
23559         (gst_type_find_element_check_set_buffer_caps),
23560         (gst_type_find_element_init), (stop_typefinding),
23561         (gst_type_find_element_handle_event),
23562         (gst_type_find_element_chain), (gst_type_find_element_getrange):
23563         * gst/elements/gsttypefindelement.h:
23564           Set caps on first outgoing buffer when we've found the type.
23565
23566 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
23567
23568         * docs/gst/gstreamer-docs.sgml:
23569         * docs/gst/gstreamer-sections.txt:
23570         * docs/gst/tmpl/gstscheduler.sgml:
23571         * docs/gst/tmpl/gstschedulerfactory.sgml:
23572           Remove some old cruft from docs.
23573
23574 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
23575
23576         * gst/gstpad.h:
23577           Fix inline docs for GstPadLinkReturn.
23578           
23579         * gst/gststructure.c: (gst_structure_has_name):
23580         * gst/gststructure.h:
23581         * docs/gst/gstreamer-sections.txt:
23582           New API: gst_structure_has_name().
23583
23584 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
23585
23586         * configure.ac:
23587           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
23588           and _LARGEFILE_SOURCE in config.h as required. Do not 
23589           export those flags in our .pc files any longer (#142209).
23590
23591           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
23592
23593         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
23594         (gst_file_sink_do_seek), (gst_file_sink_event),
23595         (gst_file_sink_get_current_offset), (gst_file_sink_render):
23596           Redo seek/tell calls with large file support in mind; add some
23597           debugging messages; add log message that tells us when large
23598           file support is unavailable or not enabled for some reason.
23599
23600         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
23601           Add log message that tells us when large file support 
23602           is unavailable or not enabled for some reason.
23603
23604 2005-07-29  Wim Taymans  <wim@fluendo.com>
23605
23606         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
23607         Added test for removing an element with ghostpad from a bin.
23608         Fixed test as current implementation does the right thing.
23609
23610         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
23611         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
23612         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
23613         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
23614         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
23615         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
23616         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
23617         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
23618         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
23619         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
23620         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
23621         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
23622         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
23623         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
23624         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
23625         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
23626         * gst/gstghostpad.h:
23627         Clean up ghostpads, remove properties for internal stuff.
23628         Make threadsafe.
23629         Fix refcounting.
23630         Prepare for switching targets, not all use cases work yet.
23631
23632 2005-07-29  Wim Taymans  <wim@fluendo.com>
23633
23634         * docs/design/part-gstghostpad.txt:
23635         Small update.
23636
23637         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
23638         (gst_bin_remove_func):
23639         Unlinking pads while holding the bin LOCK is not a good
23640         idea.
23641
23642         * gst/gstpad.c: (gst_pad_class_init),
23643         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
23644         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
23645         No prob setting template after creating the pad.
23646
23647 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
23648
23649         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
23650         (gst_bus_peek), (gst_bus_source_dispatch),
23651         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
23652         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
23653           gst_bus_poll may be called from other threads. Handle
23654           this nicely by not making poll_data disappear off the
23655           stack once gst_bus_poll returns.
23656           gst_bus_peek now increments the refcount on the returned
23657           message.
23658
23659 2005-07-29  Wim Taymans  <wim@fluendo.com>
23660
23661         * docs/design/part-gstghostpad.txt:
23662         Overview of current GhostPad datastructures and use
23663         cases for changing the target.
23664
23665 2005-07-28  Wim Taymans  <wim@fluendo.com>
23666
23667         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
23668         Added checks for hierarchy consistency whan adding linked
23669         elements to bins.
23670
23671         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23672         Added check to test element scheduling without bin/pipeline.
23673
23674         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23675         First add elements to bin, then link.
23676         
23677         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
23678         (gst_bin_remove_func):
23679         Unlink pads from elements added/removed from bin to maintain
23680         hierarchy consistency.
23681
23682 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23683
23684         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
23685         (gst_base_transform_handle_buffer):
23686         * gst/base/gstbasetransform.h:
23687           Remove broken delay_configure (fixes renegotiation of software
23688           scaling pipelines); remove some leftover printf()s.
23689
23690 2005-07-28  Wim Taymans  <wim@fluendo.com>
23691
23692         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
23693         Added some more tests for wrong hierarchy
23694
23695         * docs/design/part-overview.txt:
23696         Some updates.
23697
23698         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
23699         Cleanups.
23700
23701         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
23702         (gst_element_dispose):
23703         Some more cleanups.
23704
23705         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
23706         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
23707         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23708         (gst_pad_set_caps), (gst_pad_send_event):
23709         Check for correct hierarchy when linking pads. Moving to
23710         strict requirement for ghostpads when linking elements in
23711         different bins.
23712
23713         * gst/gstpad.h:
23714         Clean ups. Added WRONG_HIERARCHY return value.
23715
23716 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23717
23718         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
23719           Better debug if no transform is possible.
23720
23721 2005-07-27  Wim Taymans  <wim@fluendo.com>
23722
23723         * docs/random/wtay/network-transp:
23724         Some old doc I had.
23725
23726 2005-07-27  Wim Taymans  <wim@fluendo.com>
23727
23728         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23729         (gst_dp_event_from_packet):
23730         Fix serialization of seek events.
23731
23732 2005-07-27  Wim Taymans  <wim@fluendo.com>
23733
23734         * check/gst-libs/gdp.c: (GST_START_TEST):
23735         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23736         Fix compilation and fix event serialization.
23737
23738 2005-07-27  Wim Taymans  <wim@fluendo.com>
23739
23740         * CHANGES-0.9:
23741         * docs/design/part-TODO.txt:
23742         * docs/design/part-events.txt:
23743         Some docs updates
23744
23745         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23746         (gst_base_sink_event), (gst_base_sink_do_sync),
23747         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
23748         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23749         (gst_base_src_do_seek), (gst_base_src_event_handler),
23750         (gst_base_src_loop):
23751         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23752         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23753         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
23754         (gst_base_transform_event), (gst_base_transform_handle_buffer),
23755         (gst_base_transform_set_passthrough),
23756         (gst_base_transform_is_passthrough):
23757         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23758         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23759         Event updates.
23760
23761         * gst/gstbuffer.h:
23762         Use faster casts.
23763
23764         * gst/gstelement.c: (gst_element_seek):
23765         * gst/gstelement.h:
23766         Update gst_element_seek.
23767
23768         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
23769         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
23770         (gst_event_new_flush_start), (gst_event_new_flush_stop),
23771         (gst_event_new_eos), (gst_event_new_newsegment),
23772         (gst_event_parse_newsegment), (gst_event_new_tag),
23773         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
23774         (gst_event_parse_qos), (gst_event_new_seek),
23775         (gst_event_parse_seek), (gst_event_new_navigation):
23776         * gst/gstevent.h:
23777         Make GstEvent use GstStructure. Add parsing code, make sure the
23778         API is sufficiently generic.
23779         Mark possible directions of events and serialization.
23780
23781         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
23782         (_gst_message_copy), (gst_message_new_segment_start),
23783         (gst_message_new_segment_done), (gst_message_new_custom),
23784         (gst_message_parse_segment_start),
23785         (gst_message_parse_segment_done):
23786         Small cleanups.
23787
23788         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23789         (gst_pad_set_caps), (gst_pad_send_event):
23790         Update for new events. 
23791         Catch events sent in wrong directions.
23792
23793         * gst/gstqueue.c: (gst_queue_link_src),
23794         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
23795         (gst_queue_handle_src_query):
23796         Event updates.
23797
23798         * gst/gsttag.c:
23799         * gst/gsttag.h:
23800         Remove event code from this file.
23801
23802         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23803         (gst_dp_event_from_packet):
23804         Event updates.
23805
23806 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23807
23808         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
23809         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23810         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
23811           Make debugging actually useful.
23812
23813 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23814
23815         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
23816         (gst_pad_fixate_caps):
23817           Implement default fixation once again, so that gst_pad_fixate()
23818           actually does anything at all. This probably needs to be some
23819           sort of a last resort, and use profile-based fixation first, but
23820           since that doesn't exist yet, this is the best we have. Fixes
23821           visualization in Totem.
23822
23823 2005-07-22  Wim Taymans  <wim@fluendo.com>
23824
23825         * docs/design/part-events.txt:
23826         Small update.
23827
23828         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23829         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
23830         (gst_base_sink_activate_pull):
23831         Some more comments.
23832
23833         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
23834         (gst_fake_src_create):
23835         Fix handoff marshall.
23836
23837         * gst/elements/gstidentity.c: (gst_identity_class_init),
23838         (gst_identity_transform_ip):
23839         We're a real inplace element.
23840
23841         * gst/gstbus.c: (gst_bus_post):
23842         Added some comments.
23843
23844         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
23845         * tests/muxing/case1.c: (main):
23846         * tests/sched/dynamic-pipeline.c: (main):
23847         * tests/sched/interrupt1.c: (main):
23848         * tests/sched/interrupt2.c: (main):
23849         * tests/sched/interrupt3.c: (main):
23850         * tests/sched/runxml.c: (main):
23851         * tests/sched/sched-stress.c: (main):
23852         * tests/seeking/seeking1.c: (event_received), (main):
23853         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
23854         (main):
23855         * tests/threadstate/threadstate3.c: (main):
23856         * tests/threadstate/threadstate4.c: (main):
23857         * tests/threadstate/threadstate5.c: (main):
23858         Fix the tests.
23859
23860 2005-07-21  Wim Taymans  <wim@fluendo.com>
23861
23862         * docs/design/part-seeking.txt:
23863         Some small additions.
23864
23865         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23866         (gst_base_sink_get_times), (gst_base_sink_do_sync),
23867         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
23868         * gst/base/gstbasesink.h:
23869         discont values are gint64, handle the math correctly.
23870
23871         * gst/base/gstbasesrc.c: (gst_base_src_loop):
23872         Make the basesrc report error if the source pad is not linked.
23873
23874         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
23875         (gst_queue_loop), (gst_queue_handle_src_query),
23876         (gst_queue_src_activate_push):
23877         Make queue collect data even if the srcpad is not linked.
23878         Start pushing out data as soon as it is linked.
23879
23880         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
23881         * gst/gstutils.h:
23882         Added gst_flow_get_name() to ease error reporting.
23883
23884 2005-07-20  Wim Taymans  <wim@fluendo.com>
23885
23886         * gst/gstmessage.c: (gst_message_new_segment_start),
23887         (gst_message_new_segment_done), (gst_message_parse_segment_start),
23888         (gst_message_parse_segment_done):
23889         * gst/gstmessage.h:
23890         Added a bunch of messages for advanced seeking.
23891
23892         * gst/parse/grammar.y:
23893         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
23894         (gst_dpman_state_changed):
23895         Fix some new-pad -> pad-added signals
23896
23897 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23898
23899         * docs/manual/appendix-porting.xml:
23900         * docs/pwg/appendix-porting.xml:
23901           Document new-pad/state-change signal renames and the FixedList
23902           type rename.
23903
23904 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23905
23906         * docs/manual/advanced-autoplugging.xml:
23907         * docs/manual/basics-helloworld.xml:
23908         * docs/manual/basics-pads.xml:
23909         * docs/random/ds/0.9-suggested-changes:
23910         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
23911         * gst/gstelement.h:
23912         * gst/gstevent.h:
23913         * gst/gstformat.h:
23914         * gst/gstquery.h:
23915         * gst/gststructure.c: (gst_structure_value_get_generic_type),
23916         (gst_structure_parse_array), (gst_structure_parse_value):
23917         * gst/gstvalue.c: (gst_type_is_fixed),
23918         (gst_value_list_prepend_value), (gst_value_list_append_value),
23919         (gst_value_list_get_size), (gst_value_list_get_value),
23920         (gst_value_transform_array_string), (gst_value_serialize_array),
23921         (gst_value_deserialize_array), (gst_value_intersect_array),
23922         (gst_value_is_fixed), (_gst_value_initialize):
23923         * gst/gstvalue.h:
23924           GstElement::new-pad -> pad-added, GstElement::state-change ->
23925           state-changed, GstValueFixedList -> GstValueArray, add format and
23926           flags as their own arguments in gst_element_seek() (should improve
23927           "bindeability"), remove function generators since they don't work
23928           under a whole bunch of compilers (they were deprecated already
23929           anyway).
23930
23931 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23932
23933         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
23934         (_gst_debug_register_funcptr):
23935         * gst/gstinfo.h:
23936           Fix illegal cast on some platforms (#309253).
23937
23938 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23939
23940         * gst/gstmessage.c: (gst_message_new_custom):
23941         * gst/gstmessage.h:
23942           Add _new_custom, make _new_application a macro to _new_custom.
23943
23944 2005-07-20  Wim Taymans  <wim@fluendo.com>
23945
23946         * gst/base/gstbasesrc.c: (gst_base_src_init),
23947         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
23948         * gst/base/gstbasesrc.h:
23949         Add a gboolean to decide when to push out a discont.
23950
23951         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23952         (gst_queue_loop), (gst_queue_handle_src_query),
23953         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
23954         (gst_queue_set_property), (gst_queue_get_property):
23955         Some cleanups.
23956
23957         * tests/threadstate/threadstate1.c: (main):
23958         Make a thread test compile and run... very silly..
23959
23960
23961 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23962
23963         * docs/manual/appendix-porting.xml:
23964           Mention removal of libgstgconf-0.9.la and existence of gconf
23965           elements.
23966
23967 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23968
23969         * docs/pwg/advanced-clock.xml:
23970         * docs/pwg/appendix-porting.xml:
23971         * docs/pwg/intro-preface.xml:
23972         * docs/pwg/other-base.xml:
23973         * docs/pwg/other-manager.xml:
23974         * docs/pwg/other-nton.xml:
23975         * docs/pwg/other-ntoone.xml:
23976         * docs/pwg/other-oneton.xml:
23977         * docs/pwg/pwg.xml:
23978           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
23979           demuxer), remove n-to-n (was never written), fix some code examples
23980           and links and update the porting section to include all this.
23981
23982 2005-07-19  Wim Taymans  <wim@fluendo.com>
23983
23984         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
23985         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
23986         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
23987         (gst_queue_src_activate_push), (gst_queue_change_state),
23988         (gst_queue_get_property):
23989         * gst/gstqueue.h:
23990         Propagate GstFlowReturn more intelligently upstream and output
23991         an ERROR/EOS when streaming stopped due to fatal error.
23992
23993 2005-07-19  Wim Taymans  <wim@fluendo.com>
23994
23995         * tools/gst-launch.c: (check_intr), (event_loop), (main):
23996         Don't block forever for the state change to complete, the
23997         pipeline already did with a sensible timeout.
23998
23999 2005-07-19  Wim Taymans  <wim@fluendo.com>
24000
24001         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
24002         Make sure we never call the create function is we
24003         got deactivated.
24004
24005 2005-07-19  Andy Wingo  <wingo@pobox.com>
24006
24007         * gst/parse/parse.l: Attempt to solve bug #172815.
24008
24009 2005-07-19  Wim Taymans  <wim@fluendo.com>
24010
24011         * docs/design/part-clocks.txt:
24012         * docs/design/part-events.txt:
24013         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
24014         Small docs updates.
24015         Only update the seeking values when we are not
24016         busy streaming.
24017
24018 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
24019
24020         * gst/base/gstbasesrc.c: (gst_base_src_loop):
24021           Oops, ignore the result of gst_pad_push_event here.
24022
24023 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
24024
24025         * gst/base/gstbasesrc.c: (gst_base_src_loop),
24026         (gst_base_src_activate_push):
24027           Send discont event from the loop function, as pads
24028           aren't activated yet in the activate_push handler.
24029
24030         * gst/gstbin.c: (bin_bus_handler):
24031           Don't leak element name.
24032
24033 2005-07-18  Andy Wingo  <wingo@pobox.com>
24034
24035         * configure.ac: Use AS_LIBTOOL_TAGS.
24036
24037 2005-07-18  Wim Taymans  <wim@fluendo.com>
24038
24039         * docs/gst/gstreamer.types:
24040         Remove deleted types.
24041
24042 2005-07-18  Wim Taymans  <wim@fluendo.com>
24043
24044         * check/elements/gstfakesrc.c: (GST_START_TEST):
24045         * configure.ac:
24046         * gst/Makefile.am:
24047         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
24048         (init_popt_callback):
24049         * gst/gst.h:
24050         * gst/gst_private.h:
24051         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
24052         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
24053         * gst/gstbin.h:
24054         * gst/gstbus.h:
24055         * gst/gstconfig.h.in:
24056         * gst/gstelement.c: (gst_element_class_init),
24057         (gst_element_set_base_time), (gst_element_get_base_time),
24058         (iterator_fold_with_resync), (gst_element_change_state),
24059         (gst_element_dispose), (gst_element_get_bus):
24060         * gst/gstelement.h:
24061         * gst/gstelementfactory.h:
24062         * gst/gsterror.c: (_gst_core_errors_init):
24063         * gst/gsterror.h:
24064         * gst/gstevent.h:
24065         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
24066         * gst/gstindex.c:
24067         * gst/gstinfo.c: (_gst_debug_init):
24068         * gst/gstmessage.c: (_gst_message_copy):
24069         * gst/gstmessage.h:
24070         * gst/gstminiobject.h:
24071         * gst/gstobject.c:
24072         * gst/gstobject.h:
24073         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
24074         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
24075         * gst/gstpad.h:
24076         * gst/gstparse.h:
24077         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
24078         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
24079         (gst_pipeline_get_last_stream_time):
24080         * gst/gstpipeline.h:
24081         * gst/gstpluginfeature.h:
24082         * gst/gstquery.h:
24083         * gst/gstscheduler.c:
24084         * gst/gstscheduler.h:
24085         * gst/gststructure.h:
24086         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
24087         (gst_task_finalize), (gst_task_func), (gst_task_create),
24088         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
24089         (gst_task_stop), (gst_task_pause):
24090         * gst/gsttask.h:
24091         * gst/gsttypefind.h:
24092         * gst/gsttypes.h:
24093         * gst/registries/gstlibxmlregistry.c: (load_feature),
24094         (gst_xml_registry_load), (gst_xml_registry_save_feature):
24095         * gst/registries/gstxmlregistry.c:
24096         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
24097         * gst/schedulers/threadscheduler.c:
24098         * libs/gst/control/dparammanager.h:
24099         * tools/gst-inspect.c: (print_element_list),
24100         (print_plugin_features), (print_element_features):
24101         * tools/gst-xmlinspect.c: (print_element_list),
24102         (print_plugin_info), (main):
24103         Removed plugable schedulers.
24104         Removed Scheduler/Manager from elements.
24105         Removed gsttypes.h, rearranged includes.
24106         Removed dependency pad<->element, element<>pipeline, and
24107         various others,  fix includes.
24108         implement gst_pad_get_parent() with gst_object_get_parent()
24109         Make GstTask sefcontained.
24110         Fix _get_state() on GstBin, it did not return ASYNC with a 0
24111         timeout.
24112         Fix endless loop in iterator_fold_with_resync.
24113
24114
24115 2005-07-18  Wim Taymans  <wim@fluendo.com>
24116
24117         * gst/Makefile.am:
24118         * gst/gstarch.h:
24119         Remove old file.
24120
24121 2005-07-18  Wim Taymans  <wim@fluendo.com>
24122
24123         * gst/Makefile.am:
24124         No more cothreads.h
24125
24126 2005-07-18  Wim Taymans  <wim@fluendo.com>
24127
24128         * gst/cothreads.c:
24129         * gst/cothreads.h:
24130         Let's remove these.
24131
24132 2005-07-18  Wim Taymans  <wim@fluendo.com>
24133
24134         * docs/design/part-dynamic.txt:
24135         * docs/design/part-events.txt:
24136         * docs/design/part-seeking.txt:
24137         Some more docs in the works.
24138
24139         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24140         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
24141         (gst_base_transform_setcaps), (gst_base_transform_get_size),
24142         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
24143         (gst_base_transform_handle_buffer),
24144         (gst_base_transform_sink_activate_push),
24145         (gst_base_transform_src_activate_pull),
24146         (gst_base_transform_set_passthrough),
24147         (gst_base_transform_is_passthrough):
24148         Refcounting fixes.
24149
24150         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
24151         Cleanups.
24152
24153         * gst/gstevent.c: (gst_event_finalize):
24154         Set SRC to NULL.
24155
24156         * gst/gstutils.c: (gst_element_unlink),
24157         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
24158         (gst_pad_proxy_setcaps):
24159         * gst/gstutils.h:
24160         Add _get_parent_element() to get a pads parent as an element.
24161
24162 2005-07-18  Wim Taymans  <wim@fluendo.com>
24163
24164         * check/gst/gstbin.c: (GST_START_TEST):
24165         Remove bogus test.
24166
24167 2005-07-18  Wim Taymans  <wim@fluendo.com>
24168
24169         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
24170         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
24171         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
24172         (gst_base_sink_event), (gst_base_sink_do_sync),
24173         (gst_base_sink_chain), (gst_base_sink_loop),
24174         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
24175         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
24176         Refcounting fixes.
24177         Fix logic for returning ASYNC when not prerolled.
24178
24179 2005-07-18  Wim Taymans  <wim@fluendo.com>
24180
24181         * gst/gstqueue.c: (gst_queue_handle_sink_event):
24182         Fix nasty refcount bug.
24183
24184 2005-07-16 Philippe Khalaf <burger@speedy.org>
24185
24186         * gst/elements/gstfdsrc.c:
24187         * gst/elements/gstfdsrc.h:
24188         * gst/elements/gstelements.c:
24189         * gst/elements/Makefile.am:
24190         Ported fdsrc to 0.9.
24191
24192 2005-07-16  Wim Taymans  <wim@fluendo.com>
24193
24194         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24195         (gst_base_sink_do_sync):
24196         Fix compile error.
24197
24198 2005-07-16  Wim Taymans  <wim@fluendo.com>
24199
24200         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24201         (gst_base_sink_event), (gst_base_sink_get_times),
24202         (gst_base_sink_do_sync), (gst_base_sink_change_state):
24203         * gst/base/gstbasesink.h:
24204         Store and use discont values when syncing buffers as described
24205         in design docs.
24206         
24207         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24208         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
24209         (gst_base_src_activate_push):
24210         Push discont event when starting.
24211
24212         * gst/elements/gstidentity.c: (gst_identity_transform):
24213         Small cleanups.
24214
24215         * gst/gstbin.c: (gst_bin_change_state):
24216         Small cleanups in base_time  distribution.
24217
24218         * gst/gstelement.c: (gst_element_set_base_time),
24219         (gst_element_get_base_time), (gst_element_change_state):
24220         * gst/gstelement.h:
24221         Added methods for the base_time of the element.
24222         Some MT fixes.
24223
24224         * gst/gstpipeline.c: (gst_pipeline_send_event),
24225         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
24226         (gst_pipeline_get_last_stream_time):
24227         * gst/gstpipeline.h:
24228         MT fixes.
24229         Handle seeking as described in design doc, remove stream_time
24230         hack.
24231         Cleanups clock and stream_time selection code. Added accessors
24232         for the stream_time.
24233         
24234
24235 2005-07-16  Andy Wingo  <wingo@pobox.com>
24236
24237         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
24238         (#305291).
24239
24240 2005-07-16  Wim Taymans  <wim@fluendo.com>
24241
24242         * check/gst/gstbin.c: (GST_START_TEST):
24243         Make elements silent as the deep_notify refs the
24244         parent, which might make the test fail.
24245
24246         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
24247         Don't hold the lock for too long.
24248
24249 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
24250
24251         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
24252           Don't unref the caps we passed to gst_caps_make_writable() after
24253           passing them. gst_caps_make_writable() will do that for us.
24254
24255 2005-07-15  Andy Wingo  <wingo@pobox.com>
24256
24257         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
24258         (#157311).
24259
24260         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
24261         own marshalling function for the handoff signal. Properly type the
24262         buffer as a buffer. Fixes some warnings. Should do a more general
24263         solution.
24264         (gst_identity_class_init): Plug into the right marshaller.
24265
24266 2005-07-15  Wim Taymans  <wim@fluendo.com>
24267
24268         * docs/design/part-TODO.txt:
24269         * docs/design/part-clocks.txt:
24270         * docs/design/part-element-sink.txt:
24271         * docs/design/part-events.txt:
24272         * docs/design/part-gstpipeline.txt:
24273         Updated docs, mostly DISCONT related.
24274
24275 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
24276
24277         * docs/pwg/building-pads.xml:
24278           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
24279
24280 2005-07-15  Andy Wingo  <wingo@pobox.com>
24281
24282         * tools/gst-typefind.c: Update, add copyright block.
24283
24284         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
24285         Normalize and truncate caps before fixation.
24286
24287         * gst/gstcaps.h:
24288         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
24289         discards all but the first structure from its argument.
24290
24291 2005-07-15  Wim Taymans  <wim@fluendo.com>
24292
24293         * gst/base/gstbasetransform.c: (gst_base_transform_init),
24294         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
24295         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24296         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
24297         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
24298         (gst_base_transform_chain), (gst_base_transform_change_state),
24299         (gst_base_transform_set_passthrough),
24300         (gst_base_transform_is_passthrough):
24301         * gst/base/gstbasetransform.h:
24302         Make passthrough work using the bufferpools.
24303         Changed API a bit, subclasses have to write into a buffer
24304         provided by the base class.
24305         More debug info in nego functions.
24306         
24307         * gst/elements/gstidentity.c: (gst_identity_init),
24308         (gst_identity_transform):
24309         Port to new base class.
24310
24311 2005-07-15  Wim Taymans  <wim@fluendo.com>
24312
24313         * gst/gstmessage.c: (gst_message_new_state_changed):
24314         * tools/gst-launch.c: (event_loop), (main):
24315         Totally dump messages in -launch with the -m option.
24316         Fix message name for State messages,
24317
24318 2005-07-14  Wim Taymans  <wim@fluendo.com>
24319
24320         * gst/base/gstbasesrc.c: (gst_base_src_loop):
24321         Post error messages on errors.
24322
24323 2005-07-14  Wim Taymans  <wim@fluendo.com>
24324
24325         * gst/gstcaps.c: (gst_caps_do_simplify):
24326         Remove debug info.
24327
24328         * gst/gsterror.h:
24329         Define error for stream stopped.
24330
24331         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
24332         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
24333         Do proper return values.
24334
24335         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
24336         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
24337         (gst_pad_get_range):
24338         Better return values.
24339
24340         * gst/gstpad.h:
24341         Reorganise return values, add macro to check for fatal errors.
24342
24343         * gst/gstqueue.c: (gst_queue_chain):
24344         Return proper GstFlowReturn values,
24345
24346 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
24347
24348         * docs/gst/gstreamer-sections.txt:
24349         * docs/gst/gstreamer.types:
24350         * docs/gst/tmpl/gst.sgml:
24351         * docs/gst/tmpl/gstbasesink.sgml:
24352         * docs/gst/tmpl/gstbasesrc.sgml:
24353         * docs/gst/tmpl/gstbasetransform.sgml:
24354         * docs/gst/tmpl/gstbin.sgml:
24355         * docs/gst/tmpl/gstbuffer.sgml:
24356         * docs/gst/tmpl/gstcaps.sgml:
24357         * docs/gst/tmpl/gstclock.sgml:
24358         * docs/gst/tmpl/gstcompat.sgml:
24359         * docs/gst/tmpl/gstconfig.sgml:
24360         * docs/gst/tmpl/gstelement.sgml:
24361         * docs/gst/tmpl/gstelementdetails.sgml:
24362         * docs/gst/tmpl/gstelementfactory.sgml:
24363         * docs/gst/tmpl/gstenumtypes.sgml:
24364         * docs/gst/tmpl/gsterror.sgml:
24365         * docs/gst/tmpl/gstevent.sgml:
24366         * docs/gst/tmpl/gstfakesink.sgml:
24367         * docs/gst/tmpl/gstfakesrc.sgml:
24368         * docs/gst/tmpl/gstfilesink.sgml:
24369         * docs/gst/tmpl/gstfilesrc.sgml:
24370         * docs/gst/tmpl/gstfilter.sgml:
24371         * docs/gst/tmpl/gstformat.sgml:
24372         * docs/gst/tmpl/gstghostpad.sgml:
24373         * docs/gst/tmpl/gstimplementsinterface.sgml:
24374         * docs/gst/tmpl/gstindex.sgml:
24375         * docs/gst/tmpl/gstindexfactory.sgml:
24376         * docs/gst/tmpl/gstinfo.sgml:
24377         * docs/gst/tmpl/gstiterator.sgml:
24378         * docs/gst/tmpl/gstmacros.sgml:
24379         * docs/gst/tmpl/gstmemchunk.sgml:
24380         * docs/gst/tmpl/gstminiobject.sgml:
24381         * docs/gst/tmpl/gstobject.sgml:
24382         * docs/gst/tmpl/gstpad.sgml:
24383         * docs/gst/tmpl/gstpadtemplate.sgml:
24384         * docs/gst/tmpl/gstparse.sgml:
24385         * docs/gst/tmpl/gstpipeline.sgml:
24386         * docs/gst/tmpl/gstplugin.sgml:
24387         * docs/gst/tmpl/gstpluginfeature.sgml:
24388         * docs/gst/tmpl/gstquery.sgml:
24389         * docs/gst/tmpl/gstqueue.sgml:
24390         * docs/gst/tmpl/gstregistry.sgml:
24391         * docs/gst/tmpl/gstregistrypool.sgml:
24392         * docs/gst/tmpl/gstscheduler.sgml:
24393         * docs/gst/tmpl/gstschedulerfactory.sgml:
24394         * docs/gst/tmpl/gststructure.sgml:
24395         * docs/gst/tmpl/gstsystemclock.sgml:
24396         * docs/gst/tmpl/gsttaglist.sgml:
24397         * docs/gst/tmpl/gsttagsetter.sgml:
24398         * docs/gst/tmpl/gsttrace.sgml:
24399         * docs/gst/tmpl/gsttrashstack.sgml:
24400         * docs/gst/tmpl/gsttypefind.sgml:
24401         * docs/gst/tmpl/gsttypefindfactory.sgml:
24402         * docs/gst/tmpl/gsttypes.sgml:
24403         * docs/gst/tmpl/gsturihandler.sgml:
24404         * docs/gst/tmpl/gsturitype.sgml:
24405         * docs/gst/tmpl/gstutils.sgml:
24406         * docs/gst/tmpl/gstvalue.sgml:
24407         * docs/gst/tmpl/gstversion.sgml:
24408         * docs/gst/tmpl/gstxml.sgml:
24409         * docs/libs/tmpl/gstcontrol.sgml:
24410         * docs/libs/tmpl/gstdataprotocol.sgml:
24411         * docs/libs/tmpl/gstdparam.sgml:
24412         * docs/libs/tmpl/gstdplinint.sgml:
24413         * docs/libs/tmpl/gstdpman.sgml:
24414         * docs/libs/tmpl/gstdpsmooth.sgml:
24415         * docs/libs/tmpl/gstgetbits.sgml:
24416         * docs/libs/tmpl/gstunitconvert.sgml:
24417         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
24418         (gst_push_src_base_init), (gst_push_src_class_init),
24419         (gst_push_src_init), (gst_push_src_create):
24420         * gst/base/gstpushsrc.h:
24421         * gst/elements/gstelements.c:
24422         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
24423         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
24424         (gst_fake_sink_init), (gst_fake_sink_set_property),
24425         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
24426         (gst_fake_sink_event), (gst_fake_sink_preroll),
24427         (gst_fake_sink_render), (gst_fake_sink_change_state):
24428         * gst/elements/gstfakesink.h:
24429         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
24430         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
24431         (gst_fake_src_base_init), (gst_fake_src_class_init),
24432         (gst_fake_src_init), (gst_fake_src_event_handler),
24433         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
24434         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
24435         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
24436         (gst_fake_src_create_buffer), (gst_fake_src_create),
24437         (gst_fake_src_start), (gst_fake_src_stop):
24438         * gst/elements/gstfakesrc.h:
24439         * gst/elements/gstfilesink.c: (_do_init),
24440         (gst_file_sink_base_init), (gst_file_sink_class_init),
24441         (gst_file_sink_init), (gst_file_sink_dispose),
24442         (gst_file_sink_set_location), (gst_file_sink_set_property),
24443         (gst_file_sink_get_property), (gst_file_sink_open_file),
24444         (gst_file_sink_close_file), (gst_file_sink_query),
24445         (gst_file_sink_event), (gst_file_sink_render),
24446         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
24447         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
24448         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
24449         * gst/elements/gstfilesink.h:
24450         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
24451         (gst_file_src_class_init), (gst_file_src_init),
24452         (gst_file_src_finalize), (gst_file_src_set_location),
24453         (gst_file_src_set_property), (gst_file_src_get_property),
24454         (gst_file_src_map_region), (gst_file_src_map_small_region),
24455         (gst_file_src_create_mmap), (gst_file_src_create_read),
24456         (gst_file_src_create), (gst_file_src_is_seekable),
24457         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
24458         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
24459         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
24460         (gst_file_src_uri_handler_init):
24461         * gst/elements/gstfilesrc.h:
24462           more autistic cleanliness in functions/names/defines
24463
24464 2005-07-13  Andy Wingo  <wingo@pobox.com>
24465
24466         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
24467         source couldn't negotiate.
24468
24469         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
24470         connections again.
24471
24472         * gst/gstutils.h:
24473         * gst/gstutils.c (gst_element_link_pads_filtered): New old
24474         function. I am channeling Hades. Put your boots on suckers!!!
24475
24476 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
24477
24478         * testsuite/caps/Makefile.am:
24479         * testsuite/caps/value_compare.c:
24480         * testsuite/caps/value_intersect.c:
24481         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
24482           move two testsuite apps over to the check dir
24483
24484 2005-07-12  Wim Taymans  <wim@fluendo.com>
24485
24486         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
24487         Added more debug info in the negotiate process.
24488
24489         * gst/gstmessage.h:
24490         Prepare for segment playback.
24491
24492         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
24493         Better debugging.
24494
24495         * gst/gstutils.c:
24496         Some more docs.
24497
24498         * tools/gst-launch.c: (main):
24499         NULL pipeline on errors.
24500
24501 2005-07-12  Andy Wingo  <wingo@pobox.com>
24502
24503         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
24504         not it comes from a malloc region. Make sure our copy gets freed.
24505
24506 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24507
24508         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24509         * check/gst/gstmessage.c: (GST_START_TEST):
24510         * check/gst/gststructure.c: (GST_START_TEST),
24511         (gst_structure_suite), (main):
24512           more testing
24513         * gst/gstelement.c: (gst_element_message_full):
24514           clean up GError and debug string now that they get copied
24515         * gst/gstmessage.c: (gst_message_new_error),
24516         (gst_message_new_warning), (gst_message_parse_error),
24517         (gst_message_parse_warning):
24518           use GST_TYPE_G_ERROR for structure_new, and take copies of
24519           arguments, so that we don't mess up refcounting
24520
24521 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24522
24523         * check/Makefile.am:
24524           add per-test valgrind targets
24525         * check/gst-libs/gdp.c: (GST_START_TEST),
24526         (gst_data_protocol_suite), (main):
24527           clean up
24528
24529 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24530
24531         * check/Makefile.am:
24532           instate more valgrindable tests
24533         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24534         (GST_START_TEST), (fakesrc_suite):
24535         * check/gst/gstpad.c: (GST_START_TEST):
24536         * check/gst/gststructure.c: (GST_START_TEST):
24537           fix test leaks
24538         * docs/gst/tmpl/gstminiobject.sgml:
24539         * gst/gstpad.c: (gst_pad_finalize):
24540           fix the static mutex leak
24541
24542 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24543
24544         * check/Makefile.am:
24545           add two more tests for valgrinding
24546         * check/gst/gstvalue.c: (GST_START_TEST):
24547           test refcount of deserialized buffer, found a leak
24548         * docs/gst/gstreamer-docs.sgml:
24549         * docs/gst/gstreamer-sections.txt:
24550         * docs/gst/gstreamer.types:
24551         * docs/gst/tmpl/gstminiobject.sgml:
24552           add miniobject to docs
24553         * gst/gstminiobject.c:
24554           add some docs
24555         * gst/gstvalue.c: (gst_value_deserialize_buffer),
24556         (gst_string_unwrap):
24557           fix a hard-to-find invalid write for one of the tests
24558           fix a leak for deserialized buffers
24559
24560 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24561
24562         * docs/pwg/advanced-events.xml:
24563         * docs/pwg/advanced-request.xml:
24564         * docs/pwg/advanced-scheduling.xml:
24565         * docs/pwg/appendix-porting.xml:
24566         * docs/pwg/building-boiler.xml:
24567         * docs/pwg/intro-preface.xml:
24568         * docs/pwg/other-ntoone.xml:
24569           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
24570           of example code and explanation for pad activation, loop() and
24571           getrange() functions and a bit more. Remove old comments pointing
24572           to loop-functions.
24573         * examples/pwg/Makefile.am:
24574           Add loop/getrange examples.
24575
24576 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24577
24578         * configure.ac:
24579           check for valgrind binary + some fixes
24580         * check/gst.supp:
24581           valgrind suppressions for the tests
24582         * check/Makefile.am:
24583           add a valgrind: target that valgrinds the unit tests
24584         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
24585         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24586         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24587         * check/gst/gstghostpad.c:
24588           added some cleanup
24589         * check/gst/gstdata.c:
24590           removed
24591         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
24592         (thread_unref), (gst_mini_object_suite), (main):
24593           added
24594         * gst/gst.c: (gst_deinit):
24595         * gst/gst.h:
24596           add a method to clean up.
24597         * gst/gstsystemclock.c: (gst_system_clock_dispose),
24598         (gst_system_clock_obtain):
24599           allow for disposing the system clock.
24600         * tools/gst-launch.c: (main):
24601           deinit
24602
24603 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24604
24605         * docs/gst/tmpl/gstbasesrc.sgml:
24606         * docs/gst/tmpl/gstfakesrc.sgml:
24607         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24608         (gst_base_src_init), (gst_base_src_set_property),
24609         (gst_base_src_get_property), (gst_base_src_get_range),
24610         (gst_base_src_start):
24611         * gst/base/gstbasesrc.h:
24612           add num-buffers property
24613         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24614         (gst_fakesrc_init), (gst_fakesrc_set_property),
24615         (gst_fakesrc_get_property), (gst_fakesrc_create),
24616         (gst_fakesrc_start):
24617           remove num-buffers property
24618
24619 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24620
24621         * docs/gst/gstreamer-sections.txt:
24622         * docs/gst/tmpl/gstbasesink.sgml:
24623         * docs/gst/tmpl/gstbasesrc.sgml:
24624         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
24625         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
24626         (gst_base_sink_finalize), (gst_base_sink_set_clock),
24627         (gst_base_sink_set_property), (gst_base_sink_get_property),
24628         (gst_base_sink_handle_object), (gst_base_sink_event),
24629         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
24630         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
24631         (gst_base_sink_loop), (gst_base_sink_deactivate),
24632         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
24633         (gst_base_sink_change_state):
24634         * gst/base/gstbasesink.h:
24635         * gst/base/gstbasesrc.h:
24636         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
24637         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
24638         (gst_filesink_init):
24639           more macro splitting
24640
24641 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24642
24643         * gst/gstelement.c: (gst_element_get_bus):
24644           add debug
24645         * tools/gst-launch.c: (check_intr), (event_loop):
24646           fix bus leaks
24647
24648 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24649
24650         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
24651           fix a caps leak
24652
24653 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24654
24655         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24656         (gst_base_src_finalize):
24657           add finalize method and clean up properly
24658         * gst/gstpipeline.c: (gst_pipeline_dispose):
24659           add debug
24660
24661 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24662
24663         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
24664         (gst_bin_suite):
24665           add more things to check
24666         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
24667         * gst/gstelement.c:
24668           more debug
24669
24670 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24671
24672         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24673         (GST_START_TEST), (fakesrc_suite):
24674         * check/gst-libs/gdp.c: (GST_START_TEST):
24675         * check/gst/gst.c: (GST_START_TEST):
24676         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24677         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24678         * check/gst/gstbus.c: (GST_START_TEST):
24679         * check/gst/gstcaps.c: (GST_START_TEST):
24680         * check/gst/gstdata.c: (GST_START_TEST):
24681         * check/gst/gstelement.c: (GST_START_TEST):
24682         * check/gst/gstghostpad.c: (GST_START_TEST):
24683         * check/gst/gstiterator.c: (GST_START_TEST):
24684         * check/gst/gstmessage.c: (GST_START_TEST):
24685         * check/gst/gstobject.c: (GST_START_TEST):
24686         * check/gst/gstpad.c: (GST_START_TEST):
24687         * check/gst/gststructure.c: (GST_START_TEST):
24688         * check/gst/gstsystemclock.c: (GST_START_TEST),
24689         (gst_systemclock_suite):
24690         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
24691         * check/gst/gstvalue.c: (GST_START_TEST):
24692         * check/pipelines/cleanup.c: (GST_START_TEST):
24693         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
24694         * check/states/sinks.c: (GST_START_TEST):
24695         * check/gstcheck.c: (gst_check_init):
24696         * check/gstcheck.h:
24697           add debugging category
24698           use GST_START_TEST now, so we add a debug line
24699
24700 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24701
24702         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
24703           add test for state change message on a bin
24704         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
24705           add another test
24706         * gst/gstbin.c: (gst_bin_init):
24707         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
24708         * gst/gstelement.c: (gst_element_post_message),
24709         (gst_element_set_state):
24710         * gst/gstelementfactory.c: (gst_element_factory_create):
24711         * gst/gstmessage.c: (gst_message_new):
24712         * gst/gstscheduler.c:
24713           various debugging additions and cleanups
24714
24715 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24716
24717         * check/Makefile.am:
24718         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
24719         (main):
24720           adding tests for elements
24721         * gst/gstelement.c: (gst_element_dispose):
24722
24723 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24724
24725         * gst/registries/gstlibxmlregistry.c: (load_feature):
24726           plug more leaks.  A simple gst_init() now is leakfree, yay.
24727
24728 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24729
24730         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
24731         (gst_xml_registry_load):
24732           plug another memleak
24733
24734 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24735
24736         * configure.ac:
24737           use GST_SET_ERROR_CFLAGS
24738         * docs/faq/cvs.xml:
24739           change to ERROR_CFLAGS
24740
24741 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24742
24743         * configure.ac:
24744           make GST_ERROR_CFLAGS overridable and re-enable Werror
24745         * docs/faq/cvs.xml:
24746           add a note about error CFLAGS
24747         * docs/gst/tmpl/gstfakesrc.sgml:
24748         * gst/elements/gstfakesrc.c:
24749           comment out some unused code
24750         * gst/gst.c: (split_and_iterate):
24751         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
24752         (load_feature):
24753           plug some memleaks
24754
24755 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24756
24757         * common/Makefile.am:
24758         * common/gtk-doc.mak:
24759         * docs/gst/Makefile.am:
24760           factor out gtk-doc.mak
24761
24762 2005-07-07  Wim Taymans  <wim@fluendo.com>
24763
24764         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
24765         (gst_thread_scheduler_dispose):
24766         Unlock the STREAM_LOCK completely.
24767
24768 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24769
24770         * check/Makefile.am:
24771         * check/elements/.cvsignore:
24772         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24773         (START_TEST), (fakesrc_suite), (main):
24774         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24775         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
24776         (gst_fakesrc_create), (gst_fakesrc_start):
24777         * gst/elements/gstfakesrc.h:
24778           adding a first element test
24779
24780 2005-07-07  Andy Wingo  <wingo@pobox.com>
24781
24782         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
24783         debug message.
24784
24785 2005-07-07  Wim Taymans  <wim@fluendo.com>
24786
24787         * gst/gstquery.c:
24788         * gst/gstquery.h:
24789         Remove old types
24790
24791 2005-07-07  Wim Taymans  <wim@fluendo.com>
24792
24793         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24794         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
24795         Allow subclasses to implement their own negotiation.
24796
24797 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24798
24799         * docs/design/part-gstbin.txt:
24800         * docs/design/part-gstpipeline.txt:
24801           Update design notes to reflect the movement of
24802           responsibility for bus handling from GstPipeline to
24803           GstBin
24804
24805 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24806
24807         * configure.ac:
24808           Remove unnecessary queue2/3/4 examples.
24809
24810 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24811
24812         * examples/Makefile.am:
24813         * examples/helloworld/helloworld.c: (event_loop), (main):
24814         * examples/queue/queue.c: (event_loop), (main):
24815         * examples/queue2/queue2.c: (main):
24816           Update a couple of the examples to work again.
24817
24818         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24819         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
24820          Spelling corrections and extra debug.
24821         
24822         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
24823         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
24824         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
24825         * gst/gstbin.h:
24826         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
24827         (gst_pipeline_change_state):
24828         * gst/gstpipeline.h:
24829           Move the bus handler for children to the GstBin, and create a
24830           separate bus for receiving messages from children to the one the
24831           bus sends 'upwards' on.
24832
24833 2005-07-06  Wim Taymans  <wim@fluendo.com>
24834
24835         * gst/base/README:
24836         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24837         (gst_base_sink_handle_object), (gst_base_sink_loop),
24838         (gst_base_sink_change_state):
24839         * gst/base/gstbasesink.h:
24840         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24841         (gst_base_src_init), (gst_base_src_setcaps),
24842         (gst_base_src_getcaps), (gst_base_src_loop),
24843         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
24844         (gst_base_src_start), (gst_base_src_change_state):
24845         * gst/base/gstbasesrc.h:
24846         Make basesrc negotiate.
24847         Handle the case where preroll fails in basesink.
24848         Update README.
24849
24850 2005-07-06  Wim Taymans  <wim@fluendo.com>
24851
24852         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
24853         Implement the fixate function.
24854         Clean up acceptcaps.
24855
24856 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24857
24858         * docs/pwg/building-filterfactory.xml:
24859         * docs/pwg/pwg.xml:
24860           Remove never-written filter-factory chapter; I'll add the various
24861           base classes to part 4 ("other element types") later on.
24862
24863 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24864
24865         * docs/pwg/advanced-negotiation.xml:
24866         * docs/pwg/building-boiler.xml:
24867         * docs/pwg/building-pads.xml:
24868         * docs/pwg/pwg.xml:
24869         * examples/pwg/Makefile.am:
24870           Add a chapter on caps negotiation, simplify the original code
24871           samples a bit w.r.t. caps negotiation, add link to the advanced
24872           section. Add a bunch of examples showing different use cases of
24873           different types of caps negotiation. Upstream renegotiation isn't
24874           fully documented yet since nobody knows how that works.
24875
24876 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24877
24878         * check/gst/gstpad.c:
24879         * check/gstcheck.c:
24880         * gst/gstpad.c: (gst_pad_get_internal_links_default):
24881           if pad has no parent, return NULL as list of internal links
24882
24883 2005-07-05  Andy Wingo  <wingo@pobox.com>
24884
24885         * gst/elements/gstfilesrc.c:
24886         * gst/elements/gstfakesrc.c: 
24887         * gst/base/gstpushsrc.c:
24888         * gst/base/gstbasesrc.h: 
24889         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
24890         
24891 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
24892
24893         * Makefile.am:
24894           better report generation target (lcov needs a patch)
24895
24896 2005-07-05  Andy Wingo  <wingo@pobox.com>
24897
24898         * gst/elements, testsuite: Null if we got it...
24899
24900 2005-07-05  Wim Taymans  <wim@fluendo.com>
24901
24902         * configure.ac:
24903         * libs/gst/dataprotocol/Makefile.am:
24904         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
24905         * libs/gst/dataprotocol/dataprotocol.h:
24906         * pkgconfig/Makefile.am:
24907         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
24908         * pkgconfig/gstreamer-dataprotocol.pc.in:
24909         Ported dataprotol to 0.9. 
24910         Added pkgconfig files.
24911
24912 2005-07-05  Andy Wingo  <wingo@pobox.com>
24913
24914         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
24915         Default to returning TRUE for the case when tranform_caps returns
24916         a fixed caps, like for identity or volume.
24917
24918         * check/gst/gstbus.c (pound_bus_with_messages): 
24919         * check/gst/gstmessage.c (START_TEST): 
24920         * check/pipelines/simple_launch_lines.c (got_handoff): Application
24921         message API change.
24922
24923         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
24924         logic weaks here: always run transform_caps, trying passthrough
24925         operation only if the original caps intersects with the transform.
24926
24927         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
24928         source and sink caps.
24929
24930         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
24931         Intersect the peer caps with the pad template before going into
24932         transform_caps.
24933         (gst_base_transform_transform_caps): More debugging.
24934
24935         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
24936         src argument.
24937
24938 2005-07-04  Edward Hervey  <edward@fluendo.com>
24939
24940         * gst/gstutils.c:
24941         * gst/gstutils.h:
24942         (gst_pad_add_*_probe): now returns the signal id for better wrapping
24943         in bindings.
24944
24945 2005-07-04  Andy Wingo  <wingo@pobox.com>
24946
24947         * check/gst/gstpad.c: Only set explicit caps on pads.
24948
24949 2005-07-01  Andy Wingo  <wingo@pobox.com>
24950
24951         * tests/network-clock.scm: Commentary update.
24952
24953         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
24954         Didn't really make sense, not implementable with basetransform,
24955         etc.
24956         (gst_identity_transform): Unref inbuf via make_writable. Feeble
24957         attempt at implementing the sync property, needs an unlock method.
24958
24959         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
24960         New func, by default returns the same caps (the identity
24961         transformation).
24962         (gst_base_transform_getcaps): Uses transform_caps to return
24963         something sensible.
24964         (gst_base_transform_setcaps): Complicated logic to get caps on
24965         both pads, even if they are different, and to call set_caps once
24966         for every time both pads get their caps set.
24967         (gst_base_transform_handle_buffer): Give the ref to the transform
24968         function. Allows in-place modification of the buffer.
24969
24970         * gst/base/gstbasetransform.h (transform_caps): New class method.
24971         Given caps on one side, what can I do on the other.
24972         (set_caps): Take two caps, one for each side of the element.
24973
24974         * gst/gstpad.h:
24975         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
24976         caps in place. This is safe because we can check the mutability of
24977         the caps, and a good idea because fixate functions are just called
24978         as a matter of last resort. (Not actually implemented.)
24979         (gst_pad_set_caps): If the caps we're setting is actually the same
24980         as the existing pad caps, just update the pointer without calling
24981         setcaps. Assert that caps is either NULL or fixed, as per the
24982         docs.
24983
24984         * gst/gstghostpad.c: Update for fixate changes.
24985
24986 2005-07-02  Andy Wingo  <wingo@pobox.com>
24987
24988         * gst/gstcaps.c:
24989         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
24990         two refcounts makes it immutable, which is enough. Doc more.
24991
24992 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
24993
24994         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
24995           Put the mini_object into GValue as a mini_object,
24996           not a gpointer, since that's how we declared
24997           the signal.
24998
24999 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25000
25001         * examples/pwg/Makefile.am:
25002           Fix buildbot again.
25003
25004 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25005
25006         * docs/pwg/building-testapp.xml:
25007           Add extra check.
25008         * examples/pwg/Makefile.am:
25009           Fix buildbot.
25010
25011 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25012
25013         * configure.ac:
25014         * examples/Makefile.am:
25015         * examples/pwg/Makefile.am:
25016         * examples/pwg/extract.pl:
25017           Enable building the PWG examples.
25018         * docs/pwg/advanced-interfaces.xml:
25019           Add URI interface stub.
25020         * docs/pwg/advanced-types.xml:
25021         * docs/pwg/other-autoplugger.xml:
25022         * docs/pwg/appendix-porting.xml:
25023         * docs/pwg/pwg.xml:
25024           Add porting guide (mostly stubs), remove autoplugging (see ADM).
25025         * docs/pwg/building-boiler.xml:
25026         * docs/pwg/building-chainfn.xml:
25027         * docs/pwg/building-pads.xml:
25028         * docs/pwg/building-props.xml:
25029         * docs/pwg/building-state.xml:
25030         * docs/pwg/building-testapp.xml:
25031           Update the building-*.xml parts for 0.9 changes. All examples
25032           code blocks compile in examples/pwg/*.
25033
25034 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25035
25036         * docs/manual/advanced-autoplugging.xml:
25037         * docs/manual/appendix-checklist.xml:
25038         * docs/manual/appendix-integration.xml:
25039         * docs/manual/highlevel-components.xml:
25040           Fix playbin/decodebin examples, update docs a bit, mention bus
25041           instead of signals in various places, mention kmplayer and
25042           kaffeine since they have a working GStreamer backend in the KDE
25043           section.
25044
25045 2005-06-30  Wim Taymans  <wim@fluendo.com>
25046
25047         * CHANGES-0.9:
25048         * docs/design/draft-ghostpads.txt:
25049         * docs/design/draft-push-pull.txt:
25050         * docs/design/draft-query.txt:
25051         * docs/design/part-TODO.txt:
25052         * docs/design/part-query.txt:
25053         Added CHANGES-0.9 doc, updated status of other docs.
25054         
25055         * gst/gstquery.h:
25056         Remove "hmm" macro
25057
25058 2005-06-30  Wim Taymans  <wim@fluendo.com>
25059
25060         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
25061         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
25062         (gst_base_sink_change_state):
25063         * gst/base/gstbasesink.h:
25064         Some tweaks, only EOS and a buffer complete a preroll.
25065
25066 2005-06-30  Andy Wingo  <wingo@pobox.com>
25067
25068         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
25069         activate_push down to the internal pad as well.
25070
25071 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
25072
25073         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25074
25075         * gst/gsttaginterface.c:
25076           Some documentation fixes (#307394 and #307397).
25077
25078 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
25079
25080         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25081
25082         * gst/gstvalue.c: (gst_value_intersect_list):
25083           Fix memleak (#309125).
25084
25085 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25086
25087         * docs/manual/advanced-dataaccess.xml:
25088           Fix fakesrc example to compile; doesn't work, bug somewhere...?
25089         * docs/manual/basics-pads.xml:
25090           Add reference for filtered caps to above chapter.
25091
25092 2005-06-30  Wim Taymans  <wim@fluendo.com>
25093
25094         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
25095         (gst_bin_change_state):
25096         Probes are gone.
25097         Lame attempt at making the state change function a bit
25098         more readable.
25099
25100 2005-06-30  Wim Taymans  <wim@fluendo.com>
25101
25102         * docs/design/part-clocks.txt:
25103         * docs/design/part-element-sink.txt:
25104         * docs/design/part-events.txt:
25105         * docs/design/part-preroll.txt:
25106         * docs/design/part-states.txt:
25107         Some more tweeks and additions to the docs.
25108
25109 2005-06-30  Wim Taymans  <wim@fluendo.com>
25110
25111         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
25112         (default_have_data), (gst_pad_class_init), (gst_pad_init),
25113         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
25114         (gst_pad_check_pull_range), (gst_pad_get_range),
25115         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
25116         * gst/gstpad.h:
25117         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
25118         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
25119         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
25120         (gst_pad_remove_buffer_probe):
25121         Removed atomic operations, use existing LOCK.
25122         Move exception handling out of main code path.
25123
25124 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25125
25126         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
25127         (silly_return_true_function), (gst_pad_class_init),
25128         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
25129         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
25130         (gst_pad_send_event):
25131           Fix accumulator, add default value by using _emitv() instead
25132           of _emit() for signal emission.
25133
25134 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25135
25136         * docs/manual/advanced-dataaccess.xml:
25137         * examples/manual/Makefile.am:
25138           Add probe example.
25139         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
25140           Make work (??).
25141
25142 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
25143
25144         * gst/elements/gstfilesink.c: (gst_filesink_render):
25145           Simplify code so that we don't have to handle short
25146           writes and return GST_FLOW_ERROR if an error occured.
25147
25148 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25149
25150         * docs/gst/gstreamer-docs.sgml:
25151           Remove probes more.
25152
25153 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25154
25155         * docs/gst/gstreamer-sections.txt:
25156         * docs/gst/tmpl/gstpad.sgml:
25157         * docs/gst/tmpl/gstprobe.sgml:
25158         * gst/Makefile.am:
25159         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
25160         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
25161         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
25162         (gst_pad_push_event), (gst_pad_send_event):
25163         * gst/gstpad.h:
25164         * gst/gstutils.c: (gst_pad_add_data_probe),
25165         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
25166         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
25167         (gst_pad_remove_buffer_probe):
25168         * gst/gstutils.h:
25169           Remove old probes, add new g-signal-based probes and some utility
25170           functions.
25171
25172 2005-06-29  Edward Hervey  <edward@fluendo.com>
25173
25174         * gst/gstelementfactory.c:
25175         * gst/gstutils.h:
25176         * gst/gstutils.c:
25177         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
25178         the definition to the header file.
25179
25180 2005-06-29  Andy Wingo  <wingo@pobox.com>
25181
25182         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
25183         plugins from the source directory.
25184
25185 2005-06-29  Wim Taymans  <wim@fluendo.com>
25186
25187         * docs/gst/tmpl/gstbuffer.sgml:
25188         * docs/gst/tmpl/gstclock.sgml:
25189         Some fixings for blantently wrong text.
25190
25191 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
25192
25193         * check/Makefile.am:
25194         * gst/gst.c: (add_path_func), (init_pre):
25195         * gst/gstregistry.c: (gst_registry_add_path):
25196           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
25197           only scan the GST_PLUGIN_PATH locations, and not add
25198           system locations
25199
25200 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
25201
25202         * docs/gst/gstreamer-sections.txt:
25203         * docs/gst/tmpl/gstbasesrc.sgml:
25204         * gst/gstelement.c:
25205         * gst/gstelement.h:
25206         * gst/gstevent.c:
25207         * gst/gstutils.c:
25208           doc fixes
25209
25210 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25211
25212         * docs/manual/advanced-autoplugging.xml:
25213           Fix autoplugging example.
25214
25215 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25216
25217         * docs/manual/advanced-autoplugging.xml:
25218         * docs/manual/mime-world.fig:
25219           Try to get autoplugging working, fix type detection. Fix text
25220           in hello-world image.
25221
25222 2005-06-29  Wim Taymans  <wim@fluendo.com>
25223
25224         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25225         (gst_base_sink_change_state):
25226         Small debug line.
25227
25228         * gst/gstclock.h:
25229         map SIGNAL and BROADCAST to the right function.
25230
25231         * gst/gstobject.h:
25232         Remove redundant braces.
25233
25234         * gst/gstpad.c: (gst_pad_set_caps):
25235         Don't call setcaps function when reseting caps to NULL.
25236
25237         * gst/gstsystemclock.c: (gst_system_clock_dispose),
25238         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
25239         (gst_system_clock_id_unschedule):
25240         Use BROADCAST as this is what we do.
25241
25242 2005-06-29  Wim Taymans  <wim@fluendo.com>
25243
25244         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25245         We are actually prerolling before commiting the state
25246         change. 
25247
25248 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25249
25250         * docs/manual/advanced-clocks.xml:
25251         * docs/manual/advanced-interfaces.xml:
25252         * docs/manual/advanced-metadata.xml:
25253         * docs/manual/advanced-position.xml:
25254         * docs/manual/advanced-schedulers.xml:
25255         * docs/manual/advanced-threads.xml:
25256         * docs/manual/appendix-porting.xml:
25257         * docs/manual/basics-bins.xml:
25258         * docs/manual/basics-bus.xml:
25259         * docs/manual/basics-elements.xml:
25260         * docs/manual/basics-helloworld.xml:
25261         * docs/manual/basics-pads.xml:
25262         * docs/manual/highlevel-components.xml:
25263         * docs/manual/manual.xml:
25264         * docs/manual/thread.fig:
25265           Update (until threads/scheduling) Application Development Manual;
25266           remove GstThread, add GstBus, add simple porting checklist, add
25267           documentation for tag writing, clocks, make all examples until this
25268           part compile and run.
25269         * examples/manual/Makefile.am:
25270           Update from changes to Application Development Manual; add bus
25271           example, remove thread example.
25272
25273 2005-06-28  Wim Taymans  <wim@fluendo.com>
25274
25275         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
25276         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
25277         (gst_bus_source_dispatch):
25278         Add debugging messages.
25279         Make internal methods static.
25280         Handle the case where the bus is flushed in the handler.
25281         
25282         * gst/gstelement.c: (gst_element_get_bus):
25283         Fix refcount in _get_bus();
25284
25285         * gst/gstpipeline.c: (gst_pipeline_change_state),
25286         (gst_pipeline_get_clock_func):
25287         Clock refcounting fixes.
25288         Handle the case where preroll timed out more gracefully.
25289         
25290         * gst/gstsystemclock.c: (gst_system_clock_dispose):
25291         Clean up the internal thread in dispose. This is needed
25292         for subclasses that actually get disposed.
25293         
25294         * gst/schedulers/threadscheduler.c:
25295         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
25296         (gst_thread_scheduler_dispose):
25297         Free thread pool in dispose.
25298
25299 2005-06-28  Andy Wingo  <wingo@pobox.com>
25300
25301         * tests/network-clock-utils.scm (debug, print-event): New utils.
25302
25303         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
25304         (*packet-loss*): Unified loss probability.
25305         (network-time): Report out-of-band events.
25306
25307         * tests/plot-data: Add support for out-of-band events. Hack it
25308         into this script instead of passing it down the pipe; should fix
25309         this later.
25310
25311 2005-06-28  Wim Taymans  <wim@fluendo.com>
25312
25313         * docs/gst/gstreamer.types:
25314         * docs/gst/tmpl/gstbasesrc.sgml:
25315         * docs/gst/tmpl/gstpad.sgml:
25316         Docs fixes.
25317
25318 2005-06-28  Wim Taymans  <wim@fluendo.com>
25319
25320         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25321         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
25322         (gst_proxy_pad_do_fixatecaps):
25323         Correctly proxy the check_pull_range function.
25324
25325 2005-06-28  Andy Wingo  <wingo@pobox.com>
25326
25327         * tests/network-clock.scm: Removed need for slib.
25328         
25329 2005-06-28  Wim Taymans  <wim@fluendo.com>
25330
25331         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
25332         (gst_basesink_preroll_queue_flush):
25333         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
25334         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
25335         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25336         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
25337         (gst_proxy_pad_set_property):
25338         * gst/gstpad.c:
25339         * gst/gstpad.h:
25340         * gst/gstqueue.c: (gst_queue_init):
25341         The deprecated pad loop function is removed now.
25342
25343 2005-06-28  Andy Wingo  <wingo@pobox.com>
25344
25345         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
25346         New parameters, simulate network packet loss.
25347
25348         * tests/network-clock-utils.scm: Initialize the RNG.
25349
25350 2005-06-28  Wim Taymans  <wim@fluendo.com>
25351
25352         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
25353         (gst_basesink_event), (gst_basesink_deactivate):
25354         Flushing the preroll queue always needs to unlock the waiters.
25355
25356 2005-06-28  Edward Hervey  <edward@fluendo.com>
25357
25358         * gst/gstpipeline.c: (gst_pipeline_send_event): 
25359         Wheen a seek was successful on a pipeline, set the stream_time to the
25360         seek offset in order to have a synchronized stream_time.
25361
25362 2005-06-28  Wim Taymans  <wim@fluendo.com>
25363
25364         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25365         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
25366         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
25367         (gst_proxy_pad_do_fixatecaps):
25368         Call wrapper function instead of just calling the function
25369         pointers. This takes care of any locking and whatmore.
25370
25371 2005-06-28  Wim Taymans  <wim@fluendo.com>
25372
25373         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
25374         (gst_pad_pull_range):
25375         * gst/gstpad.h:
25376         CONNECTED -> LINKED.
25377
25378 2005-06-28  Andy Wingo  <wingo@pobox.com>
25379
25380         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
25381         source-munging commit!!!
25382
25383         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
25384         (gst_object_sink): Take gpointer arguments, not GstObject --
25385         avoids casts. Like GLib.
25386
25387         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
25388         activate.
25389
25390 2005-06-27  Andy Wingo  <wingo@pobox.com>
25391
25392         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
25393         remaining buffer.
25394
25395         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
25396         returns a sorted copy of the trace list.
25397         (gst_alloc_trace_print_live): New API, only prints traces with
25398         live objects. Sort the list.
25399         (gst_alloc_trace_print_all): Sort the list.
25400         (gst_alloc_trace_print): Align columns.
25401
25402         * gst/elements/gstttypefindelement.c:
25403         * gst/elements/gsttee.c:
25404         * gst/base/gstbasesrc.c:
25405         * gst/base/gstbasesink.c:
25406         * gst/base/gstbasetransform.c:
25407         * gst/gstqueue.c: Adapt for pad activation changes.
25408
25409         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
25410         sched.
25411         (gst_pipeline_dispose): Drop ref on sched.
25412
25413         * gst/gstpad.c (gst_pad_init): Set the default activate func.
25414         (gst_pad_activate_default): Push mode by default.
25415         (pre_activate_switch, post_activate_switch): New stubs, things to
25416         do before and after switching activation modes on pads.
25417         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
25418         the pad's activate function to choose which mode to activate.
25419         Shortcut on deactivation and call the right function directly.
25420         (gst_pad_activate_pull): New API, (de)activates a pad in pull
25421         mode.
25422         (gst_pad_activate_push): New API, same for push mode.
25423         (gst_pad_set_activate_function) 
25424         (gst_pad_set_activatepull_function) 
25425         (gst_pad_set_activatepush_function): Setters for new API.
25426
25427         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
25428         Trace all miniobjects.
25429         (gst_mini_object_make_writable): Unref the arg if we copy, like
25430         gst_caps_make_writable.
25431
25432         * gst/gstmessage.c (_gst_message_initialize): No trace init.
25433
25434         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
25435         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
25436         Adapt for new pad API.
25437
25438         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
25439
25440         * gst/gstelement.h:
25441         * gst/gstelement.c (gst_element_iterate_src_pads) 
25442         (gst_element_iterate_sink_pads): New API functions.
25443         
25444         * gst/gstelement.c (iterator_fold_with_resync): New utility,
25445         should fold into gstiterator.c in some form.
25446         (gst_element_pads_activate): Simplified via use of fold and
25447         delegation of decisions to gstpad->activate.
25448
25449         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
25450         help in debugging.
25451
25452         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
25453         class once in init, like gstmessage. Didn't run into this issue
25454         but it seems correct. Don't initialize a trace, gstminiobject does
25455         that.
25456
25457         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
25458         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
25459         to the bus.
25460         (assert_live_count): New util function, uses alloc traces to check
25461         cleanup.
25462
25463         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
25464         To be modified when unlink drops the internal pad.
25465
25466 2005-06-27  Wim Taymans  <wim@fluendo.com>
25467
25468         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
25469         (gst_bin_change_state):
25470         Cleanup the get_state() function a little, make sure it
25471         iterates the same set of elements.
25472         Added stub iterate_state_order().
25473
25474 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
25475
25476         * docs/gst/gstreamer-docs.sgml:
25477         * docs/gst/gstreamer-sections.txt:
25478         * docs/gst/gstreamer.types:
25479         * docs/gst/tmpl/gstbasesink.sgml:
25480         * docs/gst/tmpl/gstbasesrc.sgml:
25481         * docs/gst/tmpl/gstbasetransform.sgml:
25482         * docs/gst/tmpl/gstelement.sgml:
25483         * docs/gst/tmpl/gstiterator.sgml:
25484         * gst/base/gstbasesrc.c:
25485         * gst/base/gstbasesrc.h:
25486         * gst/base/gstbasetransform.h:
25487         * gst/gstelement.c:
25488         * gst/gstiterator.h:
25489           adding basetransform and iterator docs
25490
25491 2005-06-27  Andy Wingo  <wingo@pobox.com>
25492
25493         * docs/design/part-activation.txt: Notes on how activation should
25494         work -- not quite implemented yet.
25495
25496 2005-06-25  Wim Taymans  <wim@fluendo.com>
25497
25498         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
25499         At least get the chain function correct, needs more
25500         fixing.
25501
25502 2005-06-25  Wim Taymans  <wim@fluendo.com>
25503
25504         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
25505         (gst_basesink_handle_object), (gst_basesink_event),
25506         (gst_basesink_do_sync), (gst_basesink_handle_event),
25507         (gst_basesink_change_state):
25508         * gst/gsttask.h:
25509         Right, two problems here: ghostpads don't take locks and
25510         glib _rec_mutex_lock_full() with depth==0 still locks.
25511         Catch illegal locking and g_warn them.
25512
25513 2005-06-25  Wim Taymans  <wim@fluendo.com>
25514
25515         * check/states/sinks.c: (START_TEST), (gst_object_suite):
25516         Have to check for completion now...
25517
25518 2005-06-25  Wim Taymans  <wim@fluendo.com>
25519
25520         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
25521         (gst_basesink_handle_object), (gst_basesink_event),
25522         (gst_basesink_do_sync), (gst_basesink_handle_event),
25523         (gst_basesink_change_state):
25524         * gst/gstpad.h:
25525         Unlock STREAM_LOCK whatever the recursion was.
25526
25527 2005-06-25  Wim Taymans  <wim@fluendo.com>
25528
25529         * gst/base/gstbasesink.c: (gst_basesink_set_property),
25530         (gst_basesink_preroll_queue_empty),
25531         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
25532         (gst_basesink_event), (gst_basesink_do_sync),
25533         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
25534         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
25535         (gst_basesink_change_state):
25536         Reworked the base sink, handle event and buffer serialisation
25537         correctly and removed possible deadlock.
25538         Handle EOS correctly.
25539
25540 2005-06-25  Wim Taymans  <wim@fluendo.com>
25541
25542         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
25543         (gst_pipeline_change_state):
25544         * tools/gst-launch.c: (check_intr), (event_loop), (main):
25545         Allow elements to post EOS in the state change function.
25546         Fix up -launch, make it exit the poll loop when the
25547         pipeline actually changed state.
25548         Fix up warning parsing in -launch.
25549
25550 2005-06-25  Wim Taymans  <wim@fluendo.com>
25551
25552         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
25553         (gst_tee_sink_activate):
25554         Core takes STREAM_LOCK for us now.
25555
25556 2005-06-25  Wim Taymans  <wim@fluendo.com>
25557
25558         * gst/gstelement.c: (gst_element_get_state_func),
25559         (gst_element_set_state):
25560         * gst/gstelement.h:
25561         * gst/gstmessage.c: (gst_message_parse_error),
25562         (gst_message_parse_warning):
25563         Keep track of current target state while performing a state
25564         change so that subclasses can do something interesting.
25565         Fix parsing of warning/error messages when GError is NULL.
25566
25567 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
25568
25569         * docs/gst/Makefile.am:
25570         * docs/gst/gstreamer-docs.sgml:
25571         * docs/gst/gstreamer-sections.txt:
25572         * docs/gst/gstreamer.types:
25573         * docs/gst/tmpl/gstbasesink.sgml:
25574         * docs/gst/tmpl/gstbasesrc.sgml:
25575         * docs/gst/tmpl/gstbin.sgml:
25576         * docs/gst/tmpl/gstcompat.sgml:
25577         * docs/gst/tmpl/gstfakesink.sgml:
25578         * docs/gst/tmpl/gstfakesrc.sgml:
25579         * docs/gst/tmpl/gstfilesink.sgml:
25580         * docs/gst/tmpl/gstfilesrc.sgml:
25581         * docs/gst/tmpl/gstindex.sgml:
25582         * docs/manual/appendix-quotes.xml:
25583         * gst/base/gstbasesrc.h:
25584         * gst/elements/gstfakesrc.h:
25585         * gst/gstmessage.h:
25586           start pulling in base classes and elements in our docs
25587
25588 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
25589
25590         * docs/gst/Makefile.am:
25591         * docs/libs/Makefile.am:
25592           fixed make distcheck with gtk-doc 1.3
25593
25594 2005-06-23  Wim Taymans  <wim@fluendo.com>
25595
25596         * gst/gstelement.c: (gst_element_get_state_func),
25597         (gst_element_set_state), (gst_element_change_state):
25598         When the state did not change, also report NO_PREROLL
25599         when it matters.
25600
25601 2005-06-23  Wim Taymans  <wim@fluendo.com>
25602
25603         * gst/gstpad.c: (gst_pad_event_default):
25604         * gst/gstqueue.c: (gst_queue_loop):
25605         No unsafe task pausing please.
25606
25607 2005-06-23  Wim Taymans  <wim@fluendo.com>
25608
25609         * gst/schedulers/threadscheduler.c:
25610         (gst_thread_scheduler_task_start),
25611         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
25612         Ref the task before pushing it on the threadpool. This
25613         makes sure that we have a ref when the threadfunction is
25614         actually called.
25615
25616 2005-06-23  Andy Wingo  <wingo@pobox.com>
25617
25618         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
25619         offset is greater than the file's size.
25620
25621         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
25622         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
25623         * gst/gstobject.c (gst_object_class_init): Make the class lock
25624         recursive. Wim won't let me drop deep_notify. Decodebin works
25625         again, whoopdy doo.
25626
25627         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
25628         internal pad, and hacks accordingly. Doesn't do it on the target
25629         pad because we change its caps. Probably catches all cases of
25630         interest tho.
25631         (gst_ghost_pad_set_property): Connect to notify::caps as
25632         appropritate.
25633
25634         * tests/network-clock.scm (plot-simulation): Pipe data to the
25635         elite python skript.
25636
25637         * tests/network-clock-utils.scm (define-parameter): New macro,
25638         defines a parameter that can be set via the command line.
25639         (set-parameter!, parse-parameter-arguments): Command line args
25640         parser.
25641
25642         * tests/plot-data: Simple matplotlib-based plotter, takes input on
25643         stdin.
25644
25645 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
25646
25647         * gst/elements/gsttypefindelement.c:
25648         (gst_type_find_element_handle_event):
25649           Don't restart typefinding on a discont.
25650         * gst/gstelement.c: (gst_element_set_state):
25651           Debug spelling fix.
25652         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
25653           Allow changing mode of an active pad.
25654           Debug output fixes.
25655         * gst/registries/gstlibxmlregistry.c: (load_feature):
25656           Don't cast a static pad template to a normal pad template.
25657
25658 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
25659
25660         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25661         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
25662           remove gst_strtoll completely, since it didn't actually do
25663           anything more than what g_ascii_strtoull already does.
25664           check for range errors when deserializing
25665           do a cast for the unsigned cases; but further fixing needs
25666           a decision on what the interpretation of "(int)" and
25667           deserialization should be for values that fall outside the
25668           type's boundaries (ie, refuse, or interpret as casting)
25669
25670 2005-06-23  Wim Taymans  <wim@fluendo.com>
25671
25672         * check/Makefile.am:
25673         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
25674         * docs/design/part-live-source.txt:
25675         * docs/design/part-states.txt:
25676         * gst/base/gstbasesrc.c: (gst_basesrc_init),
25677         (gst_basesrc_set_live), (gst_basesrc_is_live),
25678         (gst_basesrc_get_range), (gst_basesrc_activate),
25679         (gst_basesrc_change_state):
25680         * gst/base/gstbasesrc.h:
25681         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25682         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
25683         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
25684         * gst/gstelement.c: (gst_element_get_state_func),
25685         (gst_element_set_state):
25686         * gst/gstelement.h:
25687         * gst/gsttypes.h:
25688         * tools/gst-launch.c: (event_loop), (main):
25689         Added support for live sources and other elements that
25690         cannot do preroll.
25691         Updated design docs, added live-source design doc.
25692         Implemented live source functionality in basesrc
25693         Fix error condition in _bin_get_state()
25694         Implement live source handling in -launch.
25695         Added check for live sources.
25696         Fixed case in GstBin where elements were changed state
25697         multiple times.
25698
25699
25700 2005-06-23  Andy Wingo  <wingo@pobox.com>
25701
25702         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
25703         borken refcounting.
25704
25705         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
25706         gst_caps_replace takes care of this for us.
25707
25708         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
25709         gst_pad_set_caps on the target, not just its setcaps() function.
25710
25711         * tests/network-clock.scm: 
25712         * tests/network-clock-utils.scm: A network clock simulator.
25713         Something of an algorithmic testbed before doing something in C.
25714
25715 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25716
25717         * check/Makefile.am:
25718         * check/gst/capslist.h:
25719           copy over from 0.8, and add two with bitmasks specified with
25720           (int) 0xFF...
25721         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
25722           add test to parse everything from capslist.h
25723         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
25724         (main):
25725           add test for structure deserialization
25726         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25727           add tests for deserialization of strings to int types
25728         * gst/gststructure.c: (gst_structure_nth_field_name):
25729         * gst/gststructure.h:
25730           add a way to get the name of a field referenced by index
25731         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
25732           instead of checking if the resulting long long lies between
25733           min and max, we check if the long long would fit into
25734           a number of bytes for the final type.
25735           This fixes cases where a string represents 2^32 - 1, which
25736           when cast to int would be the (valid) -1, but is bigger than
25737           G_MAXINT
25738
25739 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25740
25741         * gst/parse/grammar.y:
25742           add a log line for type deserialization
25743
25744 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25745
25746         * check/gst/gstvalue.c: (START_TEST):
25747         * gst/gstvalue.c: (gst_value_deserialize):
25748           return long long, not int, so gint64 deserialization actually
25749           works.  Is there any flag that makes the compiler check this ?
25750           Fixes #308559
25751
25752 2005-06-22  Wim Taymans  <wim@fluendo.com>
25753
25754         * gst/gstbuffer.h:
25755         Added convenience macros for setting buffers in GValue.
25756
25757 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25758
25759         * check/gst/.cvsignore:
25760         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25761           add a test deserializing int64, and comment part out because
25762           it fails, yay !
25763
25764 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25765
25766         * check/Makefile.am:
25767         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
25768         * testsuite/Makefile.am:
25769         * testsuite/caps/Makefile.am:
25770         * testsuite/caps/value_serialize.c:
25771         * testsuite/test_gst_init.c:
25772           move a value_serialize test over
25773
25774 2005-06-20  Wim Taymans  <wim@fluendo.com>
25775
25776         * gst/gstpad.c:
25777         Small doc updates.
25778         
25779         * gst/gstvalue.c: (gst_value_compare_buffer),
25780         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
25781         (gst_value_compare_flags), (gst_value_serialize_flags),
25782         (gst_value_deserialize_flags), (_gst_value_initialize):
25783         Fix serialisation of buffers, they are not boxed types anymore
25784
25785 2005-06-20  Wim Taymans  <wim@fluendo.com>
25786
25787         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
25788         Testcase to show error in buffer-on-caps serialisation.
25789
25790 2005-06-20  Andy Wingo  <wingo@pobox.com>
25791
25792         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
25793         will be adding to later.
25794
25795         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
25796         if its socks fill with rocks.
25797         (gst_system_clock_obtain): Set the name on object construction.
25798         Avoid double-checked locking.
25799
25800 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
25801
25802         * gst/gsturi.c: (gst_element_make_from_uri):
25803           Fix potential endless loop.
25804
25805 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25806
25807         * check/Makefile.am:
25808           add gsttag
25809         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
25810         (main):
25811           move over from testsuite dir and clean up
25812         * configure.ac:
25813         * gst/gsttag.c:
25814         * testsuite/Makefile.am:
25815         * testsuite/tags/.cvsignore:
25816         * testsuite/tags/Makefile.am:
25817         * testsuite/tags/merge.c:
25818           remove testsuite/tags
25819
25820 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25821
25822         * docs/gst/gstreamer-sections.txt:
25823         * docs/gst/tmpl/gstenumtypes.sgml:
25824         * win32/gstenumtypes.c:
25825           clean up documentation build a little
25826
25827 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25828
25829         * check/gstcheck.h:
25830           add macros for checking refcounts on objects and caps
25831         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
25832           add some more unit tests
25833         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
25834         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
25835           fix leaked refcounts (I hope :)) so unittest works
25836         * gst/gstpad.h:
25837           whitespace removal
25838
25839 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25840
25841         * configure.ac: back to HEAD
25842
25843 === release 0.9.1 ===
25844
25845 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
25846
25847         * NEWS:
25848         * RELEASE:
25849           updated
25850
25851 2005-06-17  Andy Wingo  <wingo@pobox.com>
25852
25853         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
25854         assert; it's always possible that the pad gets deactivated in
25855         between the checks in gstpad.c and the implementation. Rely on
25856         finish_preroll() to return a FLUSHING or similar instead of on the
25857         assert.
25858         
25859         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
25860         clock and post an EOS message if we come out of finish_preroll in
25861         the playing state.
25862
25863 2005-06-16  David Schleef  <ds@schleef.org>
25864
25865         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25866         (gst_capsfilter_set_property): Allow NULL as possible value
25867         for filter_caps property, indicating GST_CAPS_ANY.
25868
25869 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25870
25871         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
25872           fix debug output
25873         * gst/schedulers/Makefile.am:
25874           use libgst prefix
25875         * gstreamer.spec.in:
25876           fix spec for it
25877
25878 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25879
25880         * gstreamer.spec.in:
25881           clean up
25882
25883 2005-06-08  Andy Wingo  <wingo@pobox.com>
25884
25885         * gst/gstutils.c: RPAD fixes all around.
25886         (gst_element_link_pads): Refcounting fixes.
25887
25888         * tools/gst-inspect.c:
25889         * tools/gst-xmlinspect.c:
25890         * parse/grammar.y:
25891         * gst/base/gsttypefindhelper.c:
25892         * gst/base/gstbasesink.c:
25893         * gst/gstqueue.c: RPAD fixes.
25894
25895         * gst/gstghostpad.h:
25896         * gst/gstghostpad.c: New ghost pad implementation as full proxy
25897         pads. The tricky thing is they provide both source and sink
25898         interfaces, since they proxy the internal pad for the external
25899         pad, and vice versa. Implement with lower-level ProxyPad objects,
25900         with the interior proxy pad as a child of the exterior ghost pad.
25901         Should write a doc on this.
25902         
25903         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
25904         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
25905         gst_object API.
25906         
25907         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
25908         pads are real pads. No ghost pads in this file. Not documenting
25909         the myriad s/RPAD/PAD/ and REALIZE fixes.
25910         (gst_pad_class_init): Add properties for "direction" and
25911         "template". Both are construct-only, so they can't change during
25912         the life of the pad. Fixes properly deriving from GstPad.
25913         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
25914         derived objects, just set properties when creating the objects via
25915         g_object_new.
25916         (gst_pad_get_parent): Implement as a function, return NULL if the
25917         parent is not an element.
25918         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
25919         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
25920         
25921         * gst/gstobject.c (gst_object_class_init): Make name a construct
25922         property. Don't set it in the object init.
25923
25924         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
25925         with UNKNOWN direction.
25926         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
25927         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
25928         (gst_element_remove_pad): Remove ghost-pad special cases.
25929         (gst_element_pads_activate): Remove rpad cruft.
25930
25931         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
25932         catch the pad's-parent-not-an-element case.
25933
25934         * gst/gst.h: Include gstghostpad.h.
25935
25936         * gst/gst.c (init_post): No more real, ghost pads.
25937
25938         * gst/Makefile.am: Add gstghostpad.[ch].
25939
25940         * check/Makefile.am:
25941         * check/gst/gstbin.c:
25942         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
25943         into a bin creates ghost pads, and that the refcounts are right.
25944         Partly moved from gstbin.c.
25945
25946 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25947
25948         * check/gst-libs/.cvsignore:
25949         * check/gst/.cvsignore:
25950         * check/pipelines/.cvsignore:
25951           ignore more
25952         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
25953         (START_TEST), (cleanup_suite), (main):
25954           add some tests related to cleanup after running pipelines
25955
25956 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25957
25958         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
25959           add a testsuite for GstBuffer
25960
25961 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25962
25963         * gst/gstminiobject.h:
25964           add defines for accessing the refcount
25965
25966 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
25967
25968         * Makefile.am: added support for html unit test coverage reports
25969
25970 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
25971
25972         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
25973           Free existing caps if the capsfilter changes. Add a FIXME about
25974           setting those caps on the pads.
25975
25976         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
25977           Before adding a ghost pad to a parent bin, check that there isn't
25978           already one for the element on the bin. Prevents infinite recursion
25979           when using decodebin in parse pipelines. Andy says he'll rewrite the
25980           way this works anyway, so ignore the hack.
25981
25982 2005-06-02  Andy Wingo  <wingo@pobox.com>
25983
25984         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
25985         file size, pass it on to the type find helper.
25986
25987         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
25988         segment_start and segment_end properly according to the seek
25989         method. Segment_end is still a bit flaky because offset can be
25990         negative for CUR and END cases, but it takes -1 as an "unset"
25991         value.
25992
25993 2005-06-02  Wim Taymans  <wim@fluendo.com>
25994
25995         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
25996         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
25997         (gst_basesink_activate):
25998         * gst/base/gstbasesink.h:
25999         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26000         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
26001         (gst_pad_query), (gst_pad_start_task):
26002         * gst/gstpad.h:
26003         * gst/gstqueue.c: (gst_queue_bufferalloc),
26004         (gst_queue_handle_sink_event), (gst_queue_chain):
26005         Bufferalloc: return GstFlowReturn to more accuratly report
26006         why allocation failed.
26007
26008 2005-06-02  Wim Taymans  <wim@fluendo.com>
26009
26010         * gst/gstpipeline.c: (gst_pipeline_send_event):
26011         Take snapshot of state without blocking.
26012
26013 2005-06-02  Wim Taymans  <wim@fluendo.com>
26014
26015         * docs/design/part-TODO.txt:
26016         * docs/design/part-caps.txt:
26017         * docs/design/part-clocks.txt:
26018         * docs/design/part-negotiation.txt:
26019         * docs/design/part-preroll.txt:
26020         Small doc updates 
26021
26022 2005-05-30  Wim Taymans  <wim@fluendo.com>
26023
26024         * gst/elements/gstidentity.c: (gst_identity_event),
26025         (gst_identity_transform), (gst_identity_get_property):
26026         Protect last_message property as it is accessed from
26027         multiple threads.
26028
26029 2005-05-30  Wim Taymans  <wim@fluendo.com>
26030
26031         * gst/gstelement.c: (gst_element_init),
26032         (gst_element_pads_activate), (gst_element_change_state):
26033         Slicker pad activation code.
26034
26035 2005-05-30  Wim Taymans  <wim@fluendo.com>
26036
26037         * gst/Makefile.am:
26038         * gst/gstelement.h:
26039         * gst/gstelementfactory.h:
26040         * gst/gsttypes.h:
26041         Move elementfactory methods to separate .h file.
26042
26043 2005-05-30  Wim Taymans  <wim@fluendo.com>
26044
26045         * docs/design/part-overview.txt:
26046         * gst/gstsystemclock.h:
26047         Small typo fixes, doc updates.
26048
26049 2005-05-30  Wim Taymans  <wim@fluendo.com>
26050
26051         * gst/gst.c: (gst_init_get_popt_table), (init_post),
26052         (init_popt_callback):
26053         Remove cpu-opt flag.
26054
26055 2005-05-30  Wim Taymans  <wim@fluendo.com>
26056
26057         * gst/gstbuffer.c: (gst_subbuffer_finalize),
26058         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
26059         * gst/gstbuffer.h:
26060         Avoid typechecking in places where not needed.
26061         Added accessor for malloc_data.
26062
26063 2005-05-30  Wim Taymans  <wim@fluendo.com>
26064
26065         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
26066         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
26067         (gst_pad_configure_sink), (gst_pad_configure_src),
26068         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
26069         (gst_pad_start_task):
26070         Propagate errors from _set_caps() in configure_src/sink
26071         functions instead of returning TRUE.
26072         FLUSH events can travel up and downstream
26073
26074
26075 2005-05-30  Wim Taymans  <wim@fluendo.com>
26076
26077         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
26078         (gst_basesink_activate):
26079         Handle EOS in preroll.
26080
26081 2005-05-30  Wim Taymans  <wim@fluendo.com>
26082
26083         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
26084         (gst_queue_loop), (gst_queue_handle_src_event):
26085         Remove old pieces of code
26086         Flushing the queue in an upstream event is a very bad idea.
26087
26088 2005-05-26  Andy Wingo  <wingo@pobox.com>
26089
26090         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
26091         gst_value_set_mini_object so as to add a ref on the object (which
26092         will be removed when the value is unset).
26093
26094         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
26095         arg type in ::handoff.
26096
26097         * gst/gstelement.c (gst_element_change_state): Also deactivate
26098         pads in READY->NULL, just in case the element didn't make it to
26099         PAUSED. Wingo tested, Wim approved.
26100
26101 2005-05-26  Wim Taymans  <wim@fluendo.com>
26102
26103         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26104         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
26105         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
26106         A flushing pad cannot be used to alloc_buffer from.
26107
26108 2005-05-26  Wim Taymans  <wim@fluendo.com>
26109
26110         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
26111         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
26112         (gst_bus_source_dispatch), (gst_bus_source_finalize),
26113         (gst_bus_create_watch), (gst_bus_add_watch_full):
26114         * gst/gstbus.h:
26115         Implement a real GSource and use g_main_context_wakeup() to
26116         signal new messages instead of the socketpair.
26117
26118 2005-05-25  Wim Taymans  <wim@fluendo.com>
26119
26120         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
26121         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
26122         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26123         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
26124         (gst_pad_send_event), (gst_pad_start_task):
26125         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
26126         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
26127         (gst_queue_sink_activate), (gst_queue_src_activate),
26128         (gst_queue_change_state):
26129         * gst/gstqueue.h:
26130         Fix state changes for non sinks. We now change sinks, then elements
26131         with unconnected srcpads, then the rest.
26132         More efficient queue unlocking in flush and state changes.
26133         Set the pad activate mode even if it does not have an activate
26134         function.
26135
26136 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26137
26138         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
26139           Don't go in pull mode for non-seekable sources.
26140         * gst/elements/gsttypefindelement.h:
26141         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
26142         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
26143         (free_entry), (stop_typefinding),
26144         (gst_type_find_element_handle_event), (find_peek),
26145         (gst_type_find_element_chain), (do_pull_typefind),
26146         (gst_type_find_element_change_state):
26147           Allow typefinding (w/o seeking) in push-mode, simplified version
26148           of what was in 0.8.
26149         * gst/gstutils.c: (gst_buffer_join):
26150         * gst/gstutils.h:
26151           gst_buffer_join() from 0.8.
26152
26153 2005-05-25  Wim Taymans  <wim@fluendo.com>
26154
26155         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26156         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
26157         (gst_pad_send_event), (gst_pad_start_task):
26158         Disable attempt at mode switching until it is figured out.
26159
26160 2005-05-25  Wim Taymans  <wim@fluendo.com>
26161
26162         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
26163         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
26164         (gst_basesink_finish_preroll), (gst_basesink_chain),
26165         (gst_basesink_loop), (gst_basesink_activate),
26166         (gst_basesink_change_state):
26167         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
26168         (gst_basesrc_get_range), (gst_basesrc_loop),
26169         (gst_basesrc_activate):
26170         * gst/elements/gsttee.c: (gst_tee_sink_activate):
26171         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
26172         (gst_real_pad_init), (gst_real_pad_set_property),
26173         (gst_real_pad_get_property), (gst_pad_set_active),
26174         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
26175         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
26176         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
26177         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
26178         (gst_pad_event_default_dispatch), (gst_pad_event_default),
26179         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
26180         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
26181         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
26182         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
26183         (gst_pad_stop_task):
26184         * gst/gstpad.h:
26185         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
26186         (gst_queue_loop), (gst_queue_src_activate):
26187         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
26188         (gst_task_get_state):
26189         * gst/gsttask.h:
26190         * gst/schedulers/threadscheduler.c:
26191         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
26192         Implement gst_pad_pause/start/stop_task(), take STREAM lock
26193         in task function.
26194         Remove ACTIVE pad flag, use FLUSHING everywhere
26195         Added _pad_chain(), _pad_get_range() to call chain/getrange 
26196         functions.
26197         Add locks around IS_FLUSHING when reading.
26198         Take STREAM lock in chain(), get_range() functions so plugins
26199         don't need to take it anymore.
26200         
26201
26202
26203 2005-05-25  Wim Taymans  <wim@fluendo.com>
26204
26205         * tools/gst-launch.c: (event_loop):
26206         Unref message after using its contents instead of
26207         before.
26208
26209 2005-05-24  Wim Taymans  <wim@fluendo.com>
26210
26211         * docs/design/draft-ghostpads.txt:
26212         * docs/design/draft-push-pull.txt:
26213         * docs/design/draft-query.txt:
26214         * docs/design/part-overview.txt:
26215         Docs updates, added general overview doc.
26216
26217 2005-05-21  David Schleef  <ds@schleef.org>
26218
26219         * docs/gst/tmpl/old/GstBin.sgml:
26220         * docs/gst/tmpl/old/GstBuffer.sgml:
26221         * docs/gst/tmpl/old/GstCaps.sgml:
26222         * docs/gst/tmpl/old/GstClock.sgml:
26223         * docs/gst/tmpl/old/GstCompat.sgml:
26224         * docs/gst/tmpl/old/GstData.sgml:
26225         * docs/gst/tmpl/old/GstElement.sgml:
26226         * docs/gst/tmpl/old/GstEvent.sgml:
26227         * docs/gst/tmpl/old/GstIndex.sgml:
26228         * docs/gst/tmpl/old/GstStructure.sgml:
26229         * docs/gst/tmpl/old/GstTag.sgml:
26230         * docs/gst/tmpl/old/cothreads.sgml:
26231         * docs/gst/tmpl/old/cothreads_compat.sgml:
26232         * docs/gst/tmpl/old/gettext.sgml:
26233         * docs/gst/tmpl/old/gobject2gtk.sgml:
26234         * docs/gst/tmpl/old/grammar.tab.sgml:
26235         * docs/gst/tmpl/old/gst-i18n-app.sgml:
26236         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
26237         * docs/gst/tmpl/old/gst_private.sgml:
26238         * docs/gst/tmpl/old/gstaggregator.sgml:
26239         * docs/gst/tmpl/old/gstarch.sgml:
26240         * docs/gst/tmpl/old/gstatomic_impl.sgml:
26241         * docs/gst/tmpl/old/gstbufferstore.sgml:
26242         * docs/gst/tmpl/old/gstdata_private.sgml:
26243         * docs/gst/tmpl/old/gstdisksink.sgml:
26244         * docs/gst/tmpl/old/gstdisksrc.sgml:
26245         * docs/gst/tmpl/old/gstelementfactory.sgml:
26246         * docs/gst/tmpl/old/gstextratypes.sgml:
26247         * docs/gst/tmpl/old/gstfakesink.sgml:
26248         * docs/gst/tmpl/old/gstfakesrc.sgml:
26249         * docs/gst/tmpl/old/gstfdsink.sgml:
26250         * docs/gst/tmpl/old/gstfdsrc.sgml:
26251         * docs/gst/tmpl/old/gstfilesink.sgml:
26252         * docs/gst/tmpl/old/gstfilesrc.sgml:
26253         * docs/gst/tmpl/old/gsthttpsrc.sgml:
26254         * docs/gst/tmpl/old/gstidentity.sgml:
26255         * docs/gst/tmpl/old/gstindexfactory.sgml:
26256         * docs/gst/tmpl/old/gstmarshal.sgml:
26257         * docs/gst/tmpl/old/gstmd5sink.sgml:
26258         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
26259         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
26260         * docs/gst/tmpl/old/gstpadtemplate.sgml:
26261         * docs/gst/tmpl/old/gstpipefilter.sgml:
26262         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
26263         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
26264         * docs/gst/tmpl/old/gstshaper.sgml:
26265         * docs/gst/tmpl/old/gstspider.sgml:
26266         * docs/gst/tmpl/old/gstspideridentity.sgml:
26267         * docs/gst/tmpl/old/gststatistics.sgml:
26268         * docs/gst/tmpl/old/gsttee.sgml:
26269         * docs/gst/tmpl/old/gsttimecache.sgml:
26270         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
26271         * docs/gst/tmpl/old/gstxmlregistry.sgml:
26272         * docs/gst/tmpl/old/gthread-cothreads.sgml:
26273         * docs/gst/tmpl/old/types.sgml:
26274           I didn't intend to add these or check them in.
26275
26276 2005-05-19  David Schleef  <ds@schleef.org>
26277
26278         * configure.ac: Use -no-common everywhere.  In a sane world, it
26279           would be the default in libtool, because without it, you can't
26280           build DLLs on Windows.
26281         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
26282         * docs/gst/gstreamer-sections.txt:
26283         * docs/gst/tmpl/gstcpu.sgml:
26284         * docs/gst/tmpl/gstdata.sgml:
26285         * docs/gst/tmpl/gstthread.sgml:
26286
26287 2005-05-19  David Schleef  <ds@schleef.org>
26288
26289         * gst/gstminiobject.c: (gst_value_set_mini_object),
26290         (gst_value_take_mini_object), (gst_value_get_mini_object):
26291         * gst/gstminiobject.h: Add GValue set/get functions.
26292
26293 2005-05-19  Wim Taymans  <wim@fluendo.com>
26294
26295         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
26296         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
26297         (gst_subbuffer_init), (gst_buffer_is_span_fast):
26298         * gst/gstbuffer.h:
26299         * gst/gstbus.c: (gst_bus_post):
26300         * gst/gstelement.c: (gst_element_get_random_pad):
26301         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
26302         Make subbufer unref the parent in finalize.
26303         some more debugging info.
26304
26305
26306 2005-05-19  Wim Taymans  <wim@fluendo.com>
26307
26308         * gst/base/gstbasesink.c: (gst_basesink_class_init),
26309         (gst_basesink_init), (gst_basesink_finalize),
26310         (gst_basesink_activate), (gst_basesink_change_state):
26311         Don't free preroll queue too early.
26312
26313 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26314
26315         * gst/Makefile.am:
26316         * gst/ROADMAP:
26317           Hi, I'm outdated. Please shoot me.
26318
26319 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26320
26321         * gst/gstpipeline.c: (gst_pipeline_send_event):
26322           Do not access variables after they have been deleted.
26323
26324 2005-05-19  Wim Taymans  <wim@fluendo.com>
26325
26326         * tools/gst-inspect.c: (print_plugin_features):
26327         A plugin feature does unfortunatly not use the
26328         object name yet...
26329
26330 2005-05-18  Wim Taymans  <wim@fluendo.com>
26331
26332         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
26333         Port _span() functions to new subbuffers.
26334
26335 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26336
26337         * gst/gstbin.c: (gst_bin_add_func):
26338           Fix clock settery in bins when adding kids after the clock has
26339           been selected.
26340
26341 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26342
26343         * gst/elements/gstidentity.c: (gst_identity_class_init):
26344           Workaround until signals support GstMiniObject.
26345
26346 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
26347
26348         * gst/gstbuffer.c:
26349         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
26350
26351 2005-05-18  Wim Taymans  <wim@fluendo.com>
26352
26353         * gst/base/Makefile.am:
26354         * gst/base/gstadapter.c: (gst_adapter_base_init),
26355         (gst_adapter_class_init), (gst_adapter_init),
26356         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
26357         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
26358         (gst_adapter_flush), (gst_adapter_available),
26359         (gst_adapter_available_fast):
26360         * gst/base/gstadapter.h:
26361         Ported and added adapter to the base classes.
26362
26363 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
26364
26365         * gst/gst.c:
26366         * gst/gstmessage.c:
26367           Make sure the class is reffed/unreffed once before threads can be
26368           used.  Fixes #304551.
26369
26370 2005-05-17  Wim Taymans  <wim@fluendo.com>
26371
26372         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
26373         (gst_basesink_chain_unlocked), (gst_basesink_activate):
26374         * gst/gstminiobject.c: (gst_mini_object_get_type),
26375         (gst_mini_object_free):
26376         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
26377         (gst_pad_push), (gst_pad_push_event):
26378         * gst/gstqueue.c: (gst_queue_change_state):
26379         Don't queue buffers in basesink when we are flushing.
26380         Unref buffer when flushing in basesink.
26381         Flush queue when going to READY
26382         Unref buffer when _push() returns an error.
26383         Don't free MiniObject instance when refcount is incremented
26384         in _finalize() so that we can recover objects.
26385
26386 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
26387
26388         * docs/manual/advanced-schedulers.xml:
26389         * docs/manual/appendix-checklist.xml:
26390         * docs/pwg/advanced-clock.xml:
26391         * docs/pwg/advanced-interfaces.xml:
26392         * docs/pwg/advanced-request.xml:
26393         * docs/pwg/advanced-types.xml:
26394         * docs/pwg/intro-preface.xml:
26395         * examples/plugins/example.c: (gst_example_get_type),
26396         (gst_example_class_init), (gst_example_chain),
26397         (gst_example_set_property), (gst_example_get_property),
26398         (gst_example_change_state), (plugin_init):
26399         * examples/plugins/example.h:
26400           small doc fixes
26401
26402 2005-05-17  Wim Taymans  <wim@fluendo.com>
26403
26404         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
26405         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
26406         * gst/gstqueue.c: (gst_queue_change_state):
26407         Clear queue when going to READY.
26408         Remove IN_SETCAPS flag too.
26409
26410 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
26411
26412         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
26413           Remove implicit cast from gboolean to GstElementStateReturn;
26414           make sure we still return failure in paused => ready case if
26415           the parent class fails to change state and our own stop 
26416           vfunc succeeds.
26417
26418 2005-05-17  Wim Taymans  <wim@fluendo.com>
26419
26420         * tools/gst-launch.c: (event_loop):
26421         Message was unreffed too soon.
26422
26423 2005-05-16  Andy Wingo  <wingo@pobox.com>
26424
26425         * gst/gstbin.c (sink_iterator_filter): Err... um...
26426
26427         * check/gst/gstbin.c (test_ghost_pads): New test for the
26428         ghosting-if-elements-not-in-same-bin behavior.
26429
26430 2005-05-16  David Schleef  <ds@schleef.org>
26431
26432         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
26433         accessing refcount directly.
26434
26435 2005-05-15  David Schleef  <ds@schleef.org>
26436
26437         * check/Makefile.am: remove GstData checks
26438         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
26439         * gst/Makefile.am: add miniobject, remove data
26440         * gst/gst.h: add miniobject, remove data
26441         * gst/gstdata.c: remove
26442         * gst/gstdata.h: remove
26443         * gst/gstdata_private.h: remove
26444         * gst/gsttypes.h: remove GstEvent and GstMessage
26445         * gst/gstelement.c: (gst_element_post_message): fix for API changes
26446         * gst/gstmarshal.list: change BOXED -> OBJECT
26447
26448         Implement GstMiniObject.
26449         * gst/gstminiobject.c:
26450         * gst/gstminiobject.h:
26451
26452         Modify to be subclasses of GstMiniObject.
26453         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
26454         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
26455         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
26456         (gst_subbuffer_get_type), (gst_subbuffer_init),
26457         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
26458         (gst_buffer_span):
26459         * gst/gstbuffer.h:
26460         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
26461         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
26462         (_gst_event_copy), (gst_event_new):
26463         * gst/gstevent.h:
26464         * gst/gstmessage.c: (_gst_message_initialize),
26465         (gst_message_get_type), (gst_message_class_init),
26466         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
26467         (gst_message_new), (gst_message_new_error),
26468         (gst_message_new_warning), (gst_message_new_tag),
26469         (gst_message_new_state_changed), (gst_message_new_application):
26470         * gst/gstmessage.h:
26471         * gst/gstprobe.c: (gst_probe_perform),
26472         (gst_probe_dispatcher_dispatch):
26473         * gst/gstprobe.h:
26474         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
26475         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
26476         (_gst_query_copy), (gst_query_new):
26477
26478         Update elements for GstData -> GstMiniObject changes
26479         * gst/gstquery.h:
26480         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
26481         (gst_queue_chain), (gst_queue_loop):
26482         * gst/elements/gstbufferstore.c:
26483         (gst_buffer_store_add_buffer_func),
26484         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
26485         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
26486         (gst_fakesink_render):
26487         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
26488         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
26489         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
26490         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
26491         (gst_filesrc_create_read):
26492         * gst/elements/gstidentity.c: (gst_identity_class_init):
26493         * gst/elements/gsttypefindelement.c:
26494         (gst_type_find_element_src_event), (free_entry_buffers),
26495         (gst_type_find_element_handle_event):
26496         * libs/gst/dataprotocol/dataprotocol.c:
26497         (gst_dp_header_from_buffer):
26498         * libs/gst/dataprotocol/dataprotocol.h:
26499         * libs/gst/dataprotocol/dp-private.h:
26500
26501 2005-05-15  David Schleef  <ds@schleef.org>
26502
26503         * gst/elements/gstelements.c: Don't include headers that were
26504         just removed.
26505
26506 2005-05-15  David Schleef  <ds@schleef.org>
26507
26508         * gst/elements/Makefile.am: Remove some elements that don't
26509         need to be in the core (or even exist at all).
26510         * gst/elements/gstaggregator.c:
26511         * gst/elements/gstaggregator.h:
26512         * gst/elements/gstmd5sink.c:
26513         * gst/elements/gstmd5sink.h:
26514         * gst/elements/gstmultifilesrc.c:
26515         * gst/elements/gstmultifilesrc.h:
26516         * gst/elements/gstpipefilter.c:
26517         * gst/elements/gstpipefilter.h:
26518         * gst/elements/gstshaper.c:
26519         * gst/elements/gstshaper.h:
26520         * gst/elements/gststatistics.c:
26521         * gst/elements/gststatistics.h:
26522         * po/POTFILES.in: Remove above files.
26523
26524 2005-05-14  Andy Wingo  <wingo@pobox.com>
26525
26526         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
26527         so as to get the refs right.
26528         (sink_iterator_filter): New function, wraps bin_element_is_sink,
26529         unreffing objects that don't pass the filter.
26530
26531         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
26532         gst_element_set_bus.
26533         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
26534         normal cases, this will destroy the bus.
26535
26536         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
26537         object.
26538
26539         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
26540         has no sinks.
26541
26542 2005-05-13  Andy Wingo  <wingo@pobox.com>
26543
26544         * gst/gstutils.c (gst_element_link_pads): Instead of calling
26545         gst_pad_link, call pad_link_maybe_ghosting,
26546         (pad_link_maybe_ghosting): Links pads, making sure that the
26547         elements being linked are in the same bin.
26548         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
26549         Helpers for pad_link_maybe_ghosting.
26550
26551 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
26552
26553         * configure.ac:
26554           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
26555
26556 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
26557
26558         * docs/design/part-element-source.txt:
26559           Mention GstPushSrc
26560
26561 2005-05-12  Wim Taymans  <wim@fluendo.com>
26562
26563         * gst/base/gstbasesink.c: (gst_basesink_init),
26564         (gst_basesink_activate):
26565         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
26566         (gst_basesrc_is_seekable):
26567         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
26568         (bin_element_is_sink), (gst_bin_change_state):
26569         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
26570         * gst/gstelement.h:
26571         Identify sinks by their flag to avoid overly complicated
26572         checks (fow now).
26573         Do state changes even for elements not reachable from the
26574         sinks.
26575         BaseSink is a sink now :)
26576         Some more debugging info in the basesrc.
26577
26578
26579 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26580
26581         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
26582           Implement _query on a bin, similar to _send_event.
26583
26584 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
26585
26586         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
26587           Discont event offset format should be GST_FORMAT_BYTES,
26588           not GST_FORMAT_TIME.
26589
26590 2005-05-12  Wim Taymans  <wim@fluendo.com>
26591
26592         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
26593         Same fix as Ronald's but without the signal. 
26594
26595 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26596
26597         * gst/gstutils.c: (gst_element_query_position):
26598           No, an element is not a pad.
26599
26600 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26601
26602         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
26603         (gst_bin_get_state):
26604           If a child is removed from a bin while we remove the child from
26605           the bin and while we're retrieving its state, signal this to the
26606           get_state function so we abort the wait (instead of waiting for
26607           a timeout) and can immediately re-iterate over all other elements.
26608
26609 2005-05-12  Wim Taymans  <wim@fluendo.com>
26610
26611         * gst/base/Makefile.am:
26612         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
26613         (gst_basesrc_start):
26614         * gst/base/gstbasesrc.h:
26615         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
26616         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
26617         (gst_pushsrc_init), (gst_pushsrc_create):
26618         * gst/base/gstpushsrc.h:
26619         Added is_seekable to BaseSrc
26620         Added simple PushSrc.
26621
26622 2005-05-11  Wim Taymans  <wim@fluendo.com>
26623
26624         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
26625         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26626         (gst_element_link_pads), (gst_element_query_position),
26627         (gst_element_query_convert), (intersect_caps_func),
26628         (gst_pad_query_position), (gst_pad_query_convert):
26629         Fix refcounting in utils function.
26630         No point in trying to activate a pad when it's added, it could
26631         be added from the state change function and then we deadlock, the
26632         element has to decide what to do.
26633
26634 2005-05-10  Andy Wingo  <wingo@pobox.com>
26635
26636         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
26637         *all* the arguments.
26638
26639         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
26640         stream lock if it's a FLUSH_DONE; normal flushes don't get the
26641         lock (according to the docs -- if this is wrong change the docs).
26642
26643         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
26644         flush messages in the NULL state.
26645
26646         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
26647         message immediately and return.
26648         (gst_bus_set_flushing): New function. If a bus is flushing, it
26649         flushes out any queued messages and immediately unrefs new
26650         messages. This is so when an element goes to NULL, all of the
26651         unhandled messages coming from it can be freed, and their
26652         references to the element dropped. In other words: message source
26653         ref considered harmful :P
26654
26655         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
26656         we're finished with it.
26657
26658         * gst/gstmessage.c (gst_message_new_state_changed): 
26659
26660 2005-05-10  Wim Taymans  <wim@fluendo.com>
26661
26662         * gst/gstvalue.c: (gst_value_compare_flags),
26663         (gst_value_serialize_flags), (gst_value_deserialize_flags),
26664         (_gst_value_initialize):
26665         Added flags serialize/deserialize/compare code.
26666
26667 2005-05-09  Andy Wingo  <wingo@pobox.com>
26668
26669         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
26670         Intersect the peer's caps with our caps.
26671
26672 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26673
26674         * gst/base/gsttypefindhelper.c: (helper_find_peek):
26675         * gst/elements/gsttypefindelement.c: (find_peek):
26676           Handle negative offsets better. Fixes decodebin.
26677
26678 2005-05-09  Wim Taymans  <wim@fluendo.com>
26679
26680         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
26681         (gst_base_transform_event):
26682         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
26683         Implement accept_caps.
26684         Fix silly lock/unlock mismatch in base class.
26685
26686 2005-05-09  Wim Taymans  <wim@fluendo.com>
26687
26688         * docs/design/draft-push-pull.txt:
26689         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
26690         * gst/elements/gstfilesink.c: (gst_filesink_init),
26691         (gst_filesink_query):
26692         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
26693         (gst_type_find_handle_src_query), (find_element_get_length):
26694         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
26695         * gst/gstelement.h:
26696         * gst/gstmessage.c:
26697         * gst/gstmessage.h:
26698         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
26699         (gst_real_pad_get_caps_unlocked),
26700         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
26701         (gst_pad_event_default_dispatch), (gst_pad_event_default),
26702         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
26703         (gst_real_pad_dispose), (gst_real_pad_finalize),
26704         (gst_pad_load_and_link), (gst_pad_save_thyself),
26705         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
26706         (gst_pad_check_pull_range), (gst_pad_pull_range),
26707         (gst_pad_template_get_type), (gst_pad_template_class_init),
26708         (gst_pad_template_init), (gst_pad_template_dispose),
26709         (name_is_valid), (gst_static_pad_template_get),
26710         (gst_pad_template_new), (gst_static_pad_template_get_caps),
26711         (gst_pad_template_get_caps), (gst_pad_set_element_private),
26712         (gst_pad_get_element_private), (gst_pad_start_task),
26713         (gst_pad_pause_task), (gst_pad_stop_task),
26714         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
26715         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
26716         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
26717         (gst_ghost_pad_new):
26718         * gst/gstpad.h:
26719         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
26720         (gst_query_new_position), (gst_query_set_position),
26721         (gst_query_parse_position), (gst_query_new_convert),
26722         (gst_query_set_convert), (gst_query_parse_convert):
26723         * gst/gstquery.h:
26724         * gst/gstqueryutils.c:
26725         * gst/gstqueryutils.h:
26726         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
26727         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
26728         (gst_queue_handle_src_query):
26729         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26730         (gst_element_query_position), (gst_element_query_convert),
26731         (intersect_caps_func), (gst_pad_query_position),
26732         (gst_pad_query_convert):
26733         * gst/gstutils.h:
26734         * tools/gst-inspect.c: (print_pad_info):
26735         * tools/gst-xmlinspect.c: (print_element_info):
26736         Remove old query functions. Ported old code.
26737         Added position/convert helper functions to gstutils.
26738         Reordered gstpad.c code, grouping relevant things.
26739         Remove gst_message_new(), always need to speficy a specific
26740         message.
26741
26742
26743 2005-05-09  Andy Wingo  <wingo@pobox.com>
26744
26745         * gst/gstiterator.h: Add some includes.
26746
26747         * gst/gstqueryutils.h: Include more headers.
26748
26749         * gst/gstpad.h:
26750         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
26751         some uses of gst_pad_query.
26752
26753         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
26754         NULL out parameters.
26755         (gst_query_new_position): New proc, allocates a new position
26756         query.
26757
26758         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
26759         gstqueryutils.c to the build.
26760
26761         * gst/gststructure.c (gst_structure_set_valist): Implement with
26762         the generic G_VALUE_COLLECT.
26763         
26764 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
26765
26766         * gst/Makefile.am: (gst_headers):
26767         Added gstqueryutils.h to the list of headers to install, that was
26768         a 'nachty' move wingo :)
26769
26770 2005-05-06  Andy Wingo  <wingo@pobox.com>
26771
26772         * gst/gstquery.h
26773         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
26774         GstData, init a memchunk.
26775         (standard_definitions): Add a few query types, deprecate a few.
26776         (gst_query_get_type): New proc.
26777         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
26778         implementation.
26779         (gst_query_new_application, gst_query_get_structure): New public
26780         procs.
26781
26782         * docs/design/draft-query.txt: Removed LINKS from the query types,
26783         because all the rest can be dispatched to other pads -- seemed
26784         ugly to have a query that couldn't be dispatched. internal_links
26785         is fine as a pad method.
26786
26787         * gst/gstpad.h: Add query2 as a pad method, add the new functions
26788         in gstpad.c, but maintain binary compatibility for the moment.
26789         Will fix before 0.9 is out.
26790
26791         * gst/gstqueryutils.c: 
26792         * gst/gstqueryutils.h: New files, implement 3 methods for each
26793         query type: parse_query, parse_response, and set. Probably need an
26794         allocator as well.
26795
26796         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
26797
26798         * gst/elements/gstfilesink.c (gst_filesink_query2):
26799         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
26800         query_types, and formats methods.
26801
26802         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
26803         (gst_pad_set_query2_function): New functions.
26804         (gst_real_pad_init): Set query2_default as the default query2
26805         function. Basically just dispatches to internally linked pads.
26806
26807         Needs review!
26808         
26809         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
26810         without using the atomic operations. Only one thread can possibly
26811         be accessing the data at this point. Changed so as to avoid
26812         gst_atomic operations.
26813
26814 2005-05-06  Wim Taymans  <wim@fluendo.com>
26815
26816         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
26817         Also set caps if we use the fallback buffer alloc.
26818
26819 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
26820
26821         * docs/gst/Makefile.am:
26822         * docs/gst/gstreamer-docs.sgml:
26823         * docs/gst/gstreamer-sections.txt:
26824         * docs/gst/tmpl/gstatomic.sgml:
26825         * docs/gst/tmpl/gstmemchunk.sgml:
26826         * testsuite/elements/struct_i386.h:
26827         * win32/GStreamer.vcproj:
26828         * win32/Makefile:
26829           Purge GstAtomic stuff from docs and win32 makefiles as well
26830
26831 2005-05-06  Wim Taymans  <wim@fluendo.com>
26832
26833         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
26834         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
26835         * gst/gstpad.c: (gst_pad_peer_get_caps):
26836         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
26837         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
26838         (gst_queue_src_activate), (gst_queue_change_state):
26839         * gst/gstqueue.h:
26840         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26841         (intersect_caps_func):
26842         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
26843         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
26844         Some fixes for the peer_get_caps() change.
26845
26846 2005-05-06  Wim Taymans  <wim@fluendo.com>
26847
26848         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
26849         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
26850         (gst_basesink_activate):
26851         Actually do something with error codes returned from the push
26852         functions.
26853
26854 2005-05-06  Wim Taymans  <wim@fluendo.com>
26855
26856         * docs/design/part-element-sink.txt:
26857         * docs/design/part-element-source.txt:
26858         * gst/base/gstbasesink.c: (gst_basesink_class_init),
26859         (gst_basesink_event), (gst_basesink_activate):
26860         * gst/base/gstbasesink.h:
26861         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
26862         (gst_basesrc_activate):
26863         * gst/base/gstbasesrc.h:
26864         * gst/gstelement.c: (gst_element_pads_activate):
26865         Some more documentation.
26866         Fixed scheduling decision in _pads_activate().
26867
26868 2005-05-05  Andy Wingo  <wingo@pobox.com>
26869
26870         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
26871         the test suite.
26872
26873 2005-05-05  Wim Taymans  <wim@fluendo.com>
26874
26875         * gst/base/Makefile.am:
26876         * gst/base/gstbasesink.h:
26877         * gst/base/gstbasesrc.c: (gst_basesrc_init),
26878         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
26879         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
26880         (gst_collectpads_class_init), (gst_collectpads_init),
26881         (gst_collectpads_finalize), (gst_collectpads_new),
26882         (gst_collectpads_set_function), (gst_collectpads_add_pad),
26883         (find_pad), (gst_collectpads_remove_pad),
26884         (gst_collectpads_is_active), (gst_collectpads_collect),
26885         (gst_collectpads_collect_range), (gst_collectpads_start),
26886         (gst_collectpads_stop), (gst_collectpads_peek),
26887         (gst_collectpads_pop), (gst_collectpads_available),
26888         (gst_collectpads_read), (gst_collectpads_flush),
26889         (gst_collectpads_chain):
26890         * gst/base/gstcollectpads.h:
26891         * gst/elements/Makefile.am:
26892         * gst/elements/gstelements.c:
26893         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
26894         (gst_fakesink_get_times), (gst_fakesink_event),
26895         (gst_fakesink_preroll), (gst_fakesink_render):
26896         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
26897         (gst_filesink_init), (gst_filesink_set_location),
26898         (gst_filesink_open_file), (gst_filesink_close_file),
26899         (gst_filesink_pad_query), (gst_filesink_event),
26900         (gst_filesink_render), (gst_filesink_change_state):
26901         * gst/elements/gstfilesink.h:
26902         Added object to help in making collect pad based elements.
26903         Ported filesink.
26904         Make event function in sink baseclass return gboolean.
26905
26906 2005-05-05  Wim Taymans  <wim@fluendo.com>
26907
26908         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
26909         (gst_bin_get_by_name):
26910         * gst/gstbuffer.h:
26911         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
26912         (gst_clock_finalize):
26913         * gst/gstdata.c: (gst_data_replace):
26914         * gst/gstdata.h:
26915         * gst/gstelement.c: (gst_element_request_pad),
26916         (gst_element_pads_activate):
26917         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
26918         (gst_object_unref):
26919         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26920         (gst_pad_set_checkgetrange_function),
26921         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
26922         (gst_pad_check_pull_range), (gst_pad_pull_range),
26923         (gst_static_pad_template_get_caps), (gst_pad_start_task),
26924         (gst_pad_pause_task), (gst_pad_stop_task):
26925         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26926         (gst_element_request_pad), (gst_pad_proxy_getcaps):
26927         Fix name lookup in GstBin.
26928         Added _data_replace() function and _buffer_replace()
26929         Use finalize method to clean up clock.
26930         Fix refcounting on request pads.
26931         Fix pad schedule mode error.
26932         Some more object refcounting debug info,
26933
26934
26935 2005-05-04  Andy Wingo <wingo@pobox.com>
26936
26937         * check/Makefile.am:
26938         * docs/gst/tmpl/gstatomic.sgml:
26939         * docs/gst/tmpl/gstplugin.sgml:
26940         * gst/base/gstbasesink.c: (gst_basesink_activate):
26941         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
26942         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
26943         (gst_basesrc_query), (gst_basesrc_set_property),
26944         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
26945         (gst_basesrc_activate):
26946         * gst/base/gstbasesrc.h:
26947         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
26948         (gst_base_transform_src_activate):
26949         * gst/elements/gstelements.c:
26950         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26951         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
26952         * gst/elements/gsttee.c: (gst_tee_sink_activate):
26953         * gst/elements/gsttypefindelement.c: (find_element_get_length),
26954         (gst_type_find_element_checkgetrange),
26955         (gst_type_find_element_activate):
26956         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
26957         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
26958         (gst_caps_load_thyself):
26959         * gst/gstelement.c: (gst_element_pads_activate),
26960         (gst_element_save_thyself), (gst_element_restore_thyself):
26961         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
26962         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
26963         * gst/gstpad.h:
26964         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
26965         (gst_xml_parse_file), (gst_xml_parse_memory),
26966         (gst_xml_get_element), (gst_xml_make_element):
26967         * gst/indexers/gstfileindex.c: (gst_file_index_load),
26968         (_file_index_id_save_xml), (gst_file_index_commit):
26969         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
26970         (read_enum), (load_pad_template), (load_feature), (load_plugin),
26971         (load_paths):
26972         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
26973         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
26974         * tools/gst-complete.c: (main):
26975         * tools/gst-compprep.c: (main):
26976         * tools/gst-inspect.c: (print_element_properties_info):
26977         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
26978         * tools/gst-xmlinspect.c: (print_element_properties):
26979         GCC 4 fixen.
26980         
26981 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
26982
26983         * gst/gstplugin.c: (gst_plugin_check_module),
26984         (gst_plugin_check_file), (gst_plugin_load_file):
26985             apply patch from #172526 to make register work on MacOSX
26986
26987 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26988
26989         * docs/gst/tmpl/gstconfig.sgml:
26990         * gst/gstconfig.h.in:
26991           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
26992         * testsuite/debug/printf_extension.c: (main):
26993           Do not use GST_PTR_FORMAT on pointers to types with
26994           sizeof < sizeof(gpointer).  Fixes test on 64-bit
26995         * testsuite/elements/property.h:
26996           use correct printf format
26997
26998 2005-05-02  Wim Taymans  <wim@fluendo.com>
26999
27000         * docs/design/draft-push-pull.txt:
27001         * docs/design/draft-query.txt:
27002         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
27003         (gst_basesrc_start):
27004         Added draft for new query API.
27005         Added draft for better selecting scheduling methods.
27006         Make basesrc ignore length if the subclass does not support
27007         it.
27008
27009 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
27010
27011         * gst/Makefile.am:
27012           possible fixes for automake-1.5 - _LIBADD is reserved
27013
27014 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
27015
27016         * docs/faq/Makefile.am:
27017         * docs/manual/Makefile.am:
27018         * docs/manuals.mak:
27019         * docs/pwg/Makefile.am:
27020         * gst/Makefile.am:
27021           possible fixes for automake-1.5
27022
27023 2005-04-28  Wim Taymans  <wim@fluendo.com>
27024
27025         * gst/base/gstbasesink.c: (gst_basesink_base_init),
27026         (gst_basesink_pad_getcaps), (gst_basesink_init),
27027         (gst_basesink_do_sync):
27028         * gst/gstclock.c: (gst_clock_entry_new):
27029         * gst/gstevent.c: (gst_event_discont_get_value):
27030         * gst/gstpipeline.c: (pipeline_bus_handler),
27031         (gst_pipeline_change_state):
27032         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
27033         Better debugging of clocking info.
27034         Allow NULL values when getting discont values.
27035
27036 2005-04-27  Wim Taymans  <wim@fluendo.com>
27037
27038         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
27039         * check/gst/gstpad.c: (gst_pad_suite):
27040         Increase timeout for checks.
27041
27042 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
27043
27044         * check/Makefile.am:
27045           fix the broken rule for cleanup.  Apparently this rule is
27046           only needed on FC2, so maybe this warrants further autotool
27047           inspection.
27048
27049 2005-04-26  Wim Taymans  <wim@fluendo.com>
27050
27051         * gst/gsttrashstack.h:
27052         Ooohh. a nasty one! After having a failed pop() from the stack,
27053         it's possible that the stack is empty. In that case, don't
27054         follow the NULL pointer.
27055
27056 2005-04-25  Wim Taymans  <wim@fluendo.com>
27057
27058         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27059         (gst_pad_set_checkgetrange_function),
27060         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
27061         (gst_pad_check_pull_range), (gst_pad_pull_range),
27062         (gst_static_pad_template_get_caps), (gst_pad_start_task),
27063         (gst_pad_pause_task), (gst_pad_stop_task):
27064         * gst/gstplugin.c: (gst_plugin_load):
27065         * gst/gstplugin.h:
27066         Remove gst_library_load as it does more harm than good with
27067         the new g_module flags.
27068         Revert bogus caps template check in pad linking, pad caps
27069         are important when linking not the template, which is more
27070         general than the current caps.
27071
27072 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27073
27074         * gst/autoplug/.cvsignore:
27075         * gst/autoplug/Makefile.am:
27076         * gst/autoplug/gstsearchfuncs.c:
27077         * gst/autoplug/gstsearchfuncs.h:
27078         * gst/autoplug/gstspider.c:
27079         * gst/autoplug/gstspider.h:
27080         * gst/autoplug/gstspideridentity.c:
27081         * gst/autoplug/gstspideridentity.h:
27082         * gst/autoplug/spidertest.c:
27083           Die, spider, die.
27084
27085 2005-04-25  Wim Taymans  <wim@fluendo.com>
27086
27087         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27088         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
27089         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
27090         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
27091         * gst/gstpad.h:
27092         Added stubs for unimplemented functions. 
27093
27094 2005-04-24  David Schleef  <ds@schleef.org>
27095
27096         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
27097         please fix.
27098
27099 2005-04-24  David Schleef  <ds@schleef.org>
27100
27101         Convert everything from GstAtomicInt to g_atomic_int_*, and
27102         remove gstatomic.
27103         * gst/Makefile.am:
27104         * gst/gstatomic.c:
27105         * gst/gstatomic.h:
27106         * gst/gstatomic_impl.h:
27107         * gst/gstbuffer.c:
27108         * gst/gstcaps.c:
27109         * gst/gstcaps.h:
27110         * gst/gstclock.c:
27111         * gst/gstclock.h:
27112         * gst/gstdata.c:
27113         * gst/gstdata.h:
27114         * gst/gstdata_private.h:
27115         * gst/gstevent.c:
27116         * gst/gstinfo.c:
27117         * gst/gstinfo.h:
27118         * gst/gstmessage.c:
27119         * gst/gstobject.c:
27120         * gst/gstobject.h:
27121         * gst/gststructure.c:
27122         * gst/gststructure.h:
27123         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
27124         * gst/gstutils.h:
27125
27126 2005-04-24  David Schleef  <ds@schleef.org>
27127
27128         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
27129         make the regressions tests work.  Remove some code that is no
27130         longer true.
27131         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
27132         Disable warning for pads without templates.
27133
27134 2005-04-24  David Schleef  <ds@schleef.org>
27135
27136         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
27137         functions that handle filtered links.
27138         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
27139         removed functions.
27140         * gst/gstutils.c: Fix/remove utility functions that handle
27141         filtered caps.
27142         * gst/gstutils.h:
27143         * gst/gstvalue.c: Add serialization/deserialization of caps
27144         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
27145         requires fixing so that the filter caps notation creates
27146         a capsfilter element and sets the filter_caps property.  I
27147         think everyone probably wants to keep the shorthand notation.
27148         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
27149         * docs/gst/tmpl/gstpad.sgml:
27150
27151         * gst/elements/gstelements.c: Register capsfilter element.
27152         * gst/Makefile.am: fix spacing
27153         * docs/random/ds/0.9-suggested-changes: random
27154
27155 2005-04-23  David Schleef  <ds@schleef.org>
27156
27157         * gst/elements/Makefile.am:
27158         * gst/elements/gstcapsfilter.c: New element that acts like an
27159         identity, but filters caps.  Will eventually replace filtered
27160         caps in pad linking.
27161         * gst/gstutils.c: (gst_element_create_all_pads): New function
27162         to create all the ALWAYS pads that are registered with an
27163         element class.  This functionality should eventually be
27164         merged in with GstElement initialization.
27165         * gst/gstutils.h:
27166         * testsuite/trigger/README: part of trigger test code that should
27167         have been checked in a long time ago.
27168
27169 2005-04-23  David Schleef  <ds@schleef.org>
27170
27171         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
27172         needed with new versions of libtool (nobody will confirm this),
27173         and hard to carry around.
27174         * gst/autoplug/Makefile.am:
27175         * gst/base/Makefile.am:
27176         * gst/elements/Makefile.am:
27177         * gst/indexers/Makefile.am:
27178         * gst/schedulers/Makefile.am:
27179         * libs/gst/bytestream/Makefile.am:
27180         * libs/gst/control/Makefile.am:
27181         * libs/gst/dataprotocol/Makefile.am:
27182         * libs/gst/getbits/Makefile.am:
27183
27184 2005-04-21  Wim Taymans  <wim@fluendo.com>
27185
27186         * docs/design/draft-push-pull.txt:
27187         * docs/design/part-MT-refcounting.txt:
27188         * docs/design/part-TODO.txt:
27189         * docs/design/part-caps.txt:
27190         * docs/design/part-events.txt:
27191         * docs/design/part-gstbus.txt:
27192         * docs/design/part-gstpipeline.txt:
27193         * docs/design/part-messages.txt:
27194         * docs/design/part-push-pull.txt:
27195         * docs/design/part-query.txt:
27196         Some more docs.
27197
27198 2005-04-21  Wim Taymans  <wim@fluendo.com>
27199
27200         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
27201         (gst_message_new), (gst_message_new_error),
27202         (gst_message_new_warning), (gst_message_new_tag),
27203         (gst_message_new_state_changed), (gst_message_new_application),
27204         (gst_message_get_structure):
27205         * gst/gstmessage.h:
27206         * gst/gststructure.c: (gst_structure_set_parent_refcount),
27207         (gst_structure_copy_conditional):
27208         Use parent refcount in GstMessage to ensure GstStructure
27209         consistency.
27210         Cleaned up headers a bit.
27211         
27212
27213 2005-04-20  Wim Taymans  <wim@fluendo.com>
27214
27215         * gst/base/gstbasesink.c: (gst_basesink_base_init),
27216         (gst_basesink_pad_getcaps), (gst_basesink_init),
27217         (gst_basesink_chain_unlocked):
27218         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
27219         (gst_type_find_helper):
27220         * gst/elements/gsttypefindelement.c:
27221         (gst_type_find_element_have_type), (gst_type_find_element_init),
27222         (stop_typefinding), (gst_type_find_element_handle_event),
27223         (find_suggest), (gst_type_find_element_chain),
27224         (gst_type_find_element_checkgetrange),
27225         (gst_type_find_element_getrange), (do_typefind),
27226         (gst_type_find_element_activate):
27227         * gst/gstbuffer.c: (_gst_buffer_sub_free),
27228         (gst_buffer_default_free), (gst_buffer_default_copy),
27229         (gst_buffer_set_caps):
27230         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
27231         (gst_caps_replace):
27232         * gst/gstmessage.c: (gst_message_new),
27233         (gst_message_new_state_changed):
27234         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27235         (gst_pad_set_checkgetrange_function),
27236         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
27237         (gst_pad_set_caps), (gst_pad_check_pull_range),
27238         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
27239         * gst/gstpad.h:
27240         * gst/gsttypefind.c: (gst_type_find_register):
27241         Make gst_caps_replace() work like other _replace() functions.
27242         Use _caps_replace() where possible.
27243         Make sure _message_new() initialises its field.
27244         Add gst_static_pad_template_get_caps()
27245
27246
27247 2005-04-18  Andy Wingo  <wingo@pobox.com>
27248
27249         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
27250         on the peer, not the pad. I think that was a typo. Pass an extra
27251         arg to see if random access is possible. Activate the pads as
27252         PULL_RANGE if possible.
27253
27254         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
27255
27256         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
27257         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
27258         to PROP_....
27259
27260 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27261
27262         * docs/faq/using.xml:
27263           Add note on gstreamer-properties (#154996).
27264
27265 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27266
27267         * docs/random/bbb/optional-properties:
27268           Some analysis on optional properties.
27269
27270 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27271
27272         * docs/gst/tmpl/gstelementfactory.sgml:
27273         * gst/gstelement.h:
27274         * gst/gstelementfactory.c: (gst_element_factory_init),
27275         (gst_element_factory_cleanup), (gst_element_register),
27276         (__gst_element_factory_add_static_pad_template),
27277         (gst_element_factory_get_static_pad_templates),
27278         (gst_element_factory_can_src_caps),
27279         (gst_element_factory_can_sink_caps):
27280         * gst/registries/Makefile.am:
27281         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
27282         (gst_xml_registry_class_init), (gst_xml_registry_init),
27283         (gst_xml_registry_new), (gst_xml_registry_set_property),
27284         (gst_xml_registry_get_property), (get_time), (make_dir),
27285         (gst_xml_registry_get_perms_func),
27286         (plugin_times_older_than_recurse), (plugin_times_older_than),
27287         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
27288         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
27289         (add_to_char_array), (read_string), (read_uint), (read_enum),
27290         (load_pad_template), (load_feature), (load_plugin), (load_paths),
27291         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
27292         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
27293         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
27294         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
27295         (gst_xml_registry_rebuild):
27296         * gst/registries/gstlibxmlregistry.h:
27297         * tools/gst-compprep.c: (main):
27298         * tools/gst-inspect.c: (print_pad_templates_info):
27299         * tools/gst-xmlinspect.c: (print_element_info):
27300           Use libxml2 for registry parsing, use staticpadtemplates in
27301           elementfactories. Makes gst_init() +/- 10x faster.
27302
27303 2005-04-12  Wim Taymans  <wim@fluendo.com>
27304
27305         * gst/base/Makefile.am:
27306         * gst/base/gstbasesink.c: (gst_basesink_base_init),
27307         (gst_basesink_pad_getcaps), (gst_basesink_init),
27308         (gst_basesink_event), (gst_basesink_change_state):
27309         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27310         (gst_basesrc_init), (gst_basesrc_query),
27311         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
27312         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
27313         (gst_basesrc_check_get_range), (gst_basesrc_loop),
27314         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
27315         (gst_basesrc_stop), (gst_basesrc_activate),
27316         (gst_basesrc_change_state):
27317         * gst/base/gsttypefindhelper.c: (helper_find_peek),
27318         (helper_find_suggest), (gst_type_find_helper):
27319         * gst/base/gsttypefindhelper.h:
27320         * gst/elements/Makefile.am:
27321         * gst/elements/gstelements.c:
27322         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
27323         (gst_fakesink_get_times), (gst_fakesink_event),
27324         (gst_fakesink_preroll), (gst_fakesink_render):
27325         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27326         (gst_fakesrc_init), (gst_fakesrc_event_handler),
27327         (gst_fakesrc_get_property), (gst_fakesrc_create),
27328         (gst_fakesrc_start), (gst_fakesrc_stop):
27329         * gst/elements/gstfakesrc.h:
27330         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
27331         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
27332         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
27333         (gst_filesrc_create_read), (gst_filesrc_create),
27334         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
27335         (gst_filesrc_start):
27336         * gst/elements/gsttypefindelement.c:
27337         (gst_type_find_element_have_type), (gst_type_find_element_init),
27338         (start_typefinding), (stop_typefinding), (push_buffer_store),
27339         (gst_type_find_element_handle_event),
27340         (gst_type_find_element_chain),
27341         (gst_type_find_element_checkgetrange),
27342         (gst_type_find_element_getrange), (do_typefind),
27343         (gst_type_find_element_activate),
27344         (gst_type_find_element_change_state):
27345         * gst/elements/gsttypefindelement.h:
27346         * gst/gstpipeline.c: (pipeline_bus_handler):
27347         Added typefind helper.
27348         Small preroll fix in the base sink.
27349         Disable typefind code in basesrc.
27350         Crude port of typefindelement.
27351         Fakesrc cleanups.
27352
27353
27354 2005-04-11  Wim Taymans  <wim@fluendo.com>
27355
27356         * check/gst/gstbus.c: (gstbus_suite):
27357         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
27358         * check/gstcheck.h:
27359           Fix up the timeout so that the test does not fail.
27360
27361 2005-04-06  Wim Taymans  <wim@fluendo.com>
27362
27363         * gst/base/README:
27364         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27365         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
27366         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
27367         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
27368         (gst_basesrc_check_get_range), (gst_basesrc_loop),
27369         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
27370         (gst_basesrc_stop), (gst_basesrc_activate),
27371         (gst_basesrc_change_state), (basesrc_find_peek),
27372         (basesrc_find_suggest), (gst_basesrc_type_find):
27373         * gst/base/gstbasesrc.h:
27374         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
27375         (gst_filesrc_class_init), (gst_filesrc_init),
27376         (gst_filesrc_finalize), (gst_filesrc_set_location),
27377         (gst_filesrc_set_property), (gst_filesrc_get_property),
27378         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
27379         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
27380         (gst_filesrc_create_read), (gst_filesrc_create),
27381         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
27382         * gst/elements/gstfilesrc.h:
27383         * gst/gstelement.c: (gst_element_get_state_func),
27384         (gst_element_lost_state), (gst_element_pads_activate):
27385         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27386         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
27387         (gst_pad_pull_range):
27388         * gst/gstpad.h:
27389         More work on the generic source base class, implement seeking,
27390         query.
27391         Make filesrc extend the base source class.
27392         Added gst_pad_set_checkgetrange_function to GstPad.
27393
27394 2005-04-06  Andy Wingo  <wingo@pobox.com>
27395
27396         * pkgconfig/gstreamer-base.pc.in:
27397         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
27398
27399         * pkgconfig/Makefile.am:
27400         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
27401
27402 2005-04-04  Wim Taymans  <wim@fluendo.com>
27403
27404         * gst/base/Makefile.am:
27405         * gst/base/README:
27406         * gst/base/gstbasesink.c: (gst_basesink_base_init),
27407         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
27408         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
27409         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
27410         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27411         (gst_basesrc_base_init), (gst_basesrc_class_init),
27412         (gst_basesrc_init), (gst_basesrc_get_formats),
27413         (gst_basesrc_get_query_types), (gst_basesrc_query),
27414         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
27415         (gst_basesrc_set_property), (gst_basesrc_get_property),
27416         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
27417         (gst_basesrc_loop), (gst_basesrc_activate),
27418         (gst_basesrc_change_state):
27419         * gst/base/gstbasesrc.h:
27420         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
27421         (gst_fakesrc_class_init), (gst_fakesrc_init),
27422         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
27423         (gst_fakesrc_get_property), (gst_fakesrc_create):
27424         * gst/elements/gstfakesrc.h:
27425         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
27426         (gst_filesrc_open_file), (gst_filesrc_loop),
27427         (gst_filesrc_activate), (filesrc_find_peek),
27428         (gst_filesrc_type_find):
27429         Made base source class, make fakesrc extend it.
27430         Add comments to basesink class.
27431         Some filesrc cleanup.
27432
27433 2005-03-31  David Schleef  <ds@schleef.org>
27434
27435         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
27436         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
27437         expected to link against libgstreamer.
27438         * gst/base/Makefile.am: link against libgstreamer
27439         * gst/elements/Makefile.am: same
27440
27441 2005-03-31  Andy Wingo  <wingo@pobox.com>
27442
27443         * tests/instantiate/Makefile.am:
27444         * tests/instantiate/caps.c: Add test to test speed of caps copy
27445         and free.
27446
27447         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
27448         GMemChunk to be fair.
27449
27450         * gst/gsttrashstack.h: Remove warning about using the fallback
27451         trash stack implementation, it's still faster than malloc.
27452
27453 2005-03-30  Andy Wingo  <wingo@pobox.com>
27454
27455         * tests/complexity.c: Add a copyright.
27456
27457 2005-03-31  Wim Taymans  <wim@fluendo.com>
27458
27459         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
27460         (gst_base_transform_class_init), (gst_base_transform_init),
27461         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
27462         (gst_base_transform_get_property),
27463         (gst_base_transform_sink_activate),
27464         (gst_base_transform_src_activate),
27465         (gst_base_transform_change_state):
27466         * gst/base/gstbasetransform.h:
27467         * gst/elements/gstidentity.c: (gst_identity_class_init),
27468         (gst_identity_event), (gst_identity_check_perfect),
27469         (gst_identity_transform), (gst_identity_start),
27470         (gst_identity_stop):
27471         Added start/stop methods to transform base class so subclasses 
27472         don't need to deal with state changes even.
27473
27474 2005-03-31  Wim Taymans  <wim@fluendo.com>
27475
27476         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
27477         (gst_event_new_discontinuous), (gst_event_discont_get_value):
27478         * gst/gstevent.h:
27479         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27480         (gst_pad_pull_range):
27481         Added rate to the discont event to prepare for variable speed
27482         and reverse playback.
27483
27484 2005-03-29  David Schleef  <ds@schleef.org>
27485
27486         * configure.ac:
27487         * testsuite/trigger/Makefile.am:
27488         * testsuite/trigger/trigger.c: A little example program to show
27489         how trigger-based elements can work.
27490
27491 2005-03-29  Wim Taymans  <wim@fluendo.com>
27492
27493         * gst/base/Makefile.am:
27494         * gst/base/README:
27495         * gst/base/gstbasesink.c: (gst_basesink_get_type),
27496         (gst_basesink_base_init), (gst_basesink_class_init),
27497         (gst_basesink_pad_getcaps), (gst_basesink_init),
27498         (gst_basesink_activate), (gst_basesink_change_state):
27499         * gst/base/gstbasesink.h:
27500         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
27501         (gst_base_transform_base_init), (gst_base_transform_finalize),
27502         (gst_base_transform_class_init), (gst_base_transform_init),
27503         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
27504         (gst_base_transform_event), (gst_base_transform_getrange),
27505         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
27506         (gst_base_transform_set_property),
27507         (gst_base_transform_get_property),
27508         (gst_base_transform_sink_activate),
27509         (gst_base_transform_src_activate),
27510         (gst_base_transform_change_state):
27511         * gst/base/gstbasetransform.h:
27512         * gst/elements/gstidentity.c: (gst_identity_finalize),
27513         (gst_identity_class_init), (gst_identity_init),
27514         (gst_identity_event), (gst_identity_check_perfect),
27515         (gst_identity_transform), (gst_identity_set_property),
27516         (gst_identity_get_property), (gst_identity_change_state):
27517         * gst/elements/gstidentity.h:
27518         * gst/gstelement.c: (gst_element_get_state_func),
27519         (gst_element_lost_state), (gst_element_pads_activate):
27520         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27521         (gst_pad_check_pull_range), (gst_pad_pull_range):
27522         * gst/gstpad.h:
27523         Simplify pad activation.
27524         Added function to check if pull_range can be performed.
27525         Error out when pulling inactive or flushing pads.
27526         Removed const from refcounted types as it does not make sense.
27527         Simplify pad templates in basesink
27528         Added base class for simple 1-to-1 transforms.
27529         Make identity subclass the base transform.
27530
27531 2005-03-29  Andy Wingo  <wingo@pobox.com>
27532
27533         * docs/libs/gstreamer-libs-overrides.txt: 
27534         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
27535         really don't understand what's going on, but like whatever. I want
27536         green buildbot!
27537
27538         * docs/gst/Makefile.am:
27539         * docs/libs/Makefile.am: Dist the overrides files.
27540
27541         * check/Makefile.am (clean-local): Remove .libs directories.
27542
27543         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
27544         elements to EXTRA_DIST, so po/ files are happy.
27545
27546         * po/POTFILES.in: Er, remove it here.
27547
27548         * po/POTFILES: Remove gstspider.c.
27549
27550         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
27551
27552         * docs/libs/gstreamer-libs-docs.sgml: 
27553         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
27554         bytestream.
27555
27556         * tests/complexity.c (main): Set the length of the preroll queue
27557         on the sinks to prevent a lockup.
27558
27559         * libs/gst/dataprotocol/Makefile.am: 
27560         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
27561         the same as the one in check/gst-libs/gdp.c.
27562
27563         * po/, docs/gst/: Commit automatic changes to docs and po files.
27564
27565         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
27566         the versioned libgstbase.
27567
27568         * check/Makefile.am: Depend on an unversioned gst-register, seems
27569         to make autoconf happier.
27570
27571         * gst/base/Makefile.am: Make libgstbase a versioned lib.
27572
27573 2005-03-28  Wim Taymans  <wim@fluendo.com>
27574
27575         * configure.ac:
27576         * docs/design/part-gstelement.txt:
27577         * docs/design/part-negotiation.txt:
27578         * docs/design/part-preroll.txt:
27579         * docs/design/part-scheduling.txt:
27580         * docs/design/part-states.txt:
27581         * gst/Makefile.am:
27582         * gst/base/Makefile.am:
27583         * gst/base/README:
27584         * gst/base/gstbasesink.c: (gst_basesink_get_template),
27585         (gst_basesink_base_init), (gst_basesink_class_init),
27586         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
27587         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
27588         (gst_basesink_set_pad_functions),
27589         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
27590         (gst_basesink_set_property), (gst_basesink_get_property),
27591         (gst_base_sink_get_template), (gst_base_sink_get_caps),
27592         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
27593         (gst_basesink_preroll_queue_push),
27594         (gst_basesink_preroll_queue_empty),
27595         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
27596         (gst_basesink_event), (gst_basesink_get_times),
27597         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
27598         (gst_basesink_chain_unlocked), (gst_basesink_chain),
27599         (gst_basesink_loop), (gst_basesink_activate),
27600         (gst_basesink_change_state):
27601         * gst/base/gstbasesink.h:
27602         * gst/elements/Makefile.am:
27603         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
27604         (gst_fakesink_class_init), (gst_fakesink_init),
27605         (gst_fakesink_set_property), (gst_fakesink_get_property),
27606         (gst_fakesink_get_times), (gst_fakesink_event),
27607         (gst_fakesink_preroll), (gst_fakesink_render),
27608         (gst_fakesink_change_state):
27609         * gst/elements/gstfakesink.h:
27610         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
27611         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
27612         * gst/gstelement.c: (gst_element_add_pad),
27613         (gst_element_get_state_func), (gst_element_abort_state),
27614         (gst_element_commit_state), (gst_element_lost_state),
27615         (gst_element_set_state), (gst_element_pads_activate):
27616         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
27617         * gst/gstpipeline.c: (gst_pipeline_send_event),
27618         (gst_pipeline_change_state):
27619         Added state change code.
27620         Added/updated docs.
27621         Added sink base class, make fakesink extend the base class.
27622         Small cleanups in GstPipeline.
27623
27624 2005-03-26  David Schleef  <ds@schleef.org>
27625
27626         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
27627         is broken and should be implemented in a different library.
27628         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
27629         * gst/gst.h: remove gstcpu.h
27630         * gst/gstcpu.c: remove
27631         * gst/gstcpu.h: remove
27632         * gst/Makefile.am.future: Remove this file.  It's ancient.
27633
27634 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27635
27636         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
27637         (gst_bin_send_event):
27638           Add default event/set_manager handlers. The set_manager handler
27639           takes care that the manager is distributed over kids that were
27640           already in the bin before the manager was set. The event handler
27641           is a utility virtual function that sends the event over all sinks,
27642           so that gst_element_send_event (bin, event); has the expected
27643           behaviour.
27644         * gst/gstpad.c: (gst_pad_event_default):
27645           Re-install default event handling for discontinuities, so that
27646           seeking works without requiring hacks in applications or extra
27647           code in sinks.
27648         * gst/gstpipeline.c: (gst_pipeline_class_init),
27649         (gst_pipeline_send_event):
27650           Half hack, half utility: set a pipeline to PAUSED for seek events,
27651           since that is the only way we can guarantee a/v sync. Means that
27652           you can do gst_element_seek (pipeline, method, pos); on a pipeline
27653           and it "just works".
27654
27655 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27656
27657         * gst/gstpipeline.c: (gst_pipeline_use_clock):
27658           Lock/unlock mismatch.
27659
27660 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
27661
27662         * docs/faq/gst-uninstalled:
27663           add gst-plugins-base
27664         * docs/gst/Makefile.am:
27665           don't error out until docs are fixed
27666         * docs/gst/gstreamer.types:
27667           remove thread
27668
27669 2005-03-22  Wim Taymans  <wim@fluendo.com>
27670
27671         * check/Makefile.am:
27672         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
27673         * gst/gststructure.c: (gst_structure_set_valist),
27674         (gst_structure_copy_conditional):
27675         Activated more tests.
27676         Added message test.
27677         Added G_TYPE_POINTER to GstStructure.
27678         
27679
27680 2005-03-22  Wim Taymans  <wim@fluendo.com>
27681
27682         * docs/design/part-TODO.txt:
27683         * docs/design/part-events.txt:
27684         * docs/design/part-gstbin.txt:
27685         * docs/design/part-gstbus.txt:
27686         * docs/design/part-gstpipeline.txt:
27687         * docs/design/part-messages.txt:
27688         * gst/gstbus.c:
27689         * gst/gstmessage.c:
27690         Docs updates
27691
27692 2005-03-21  Wim Taymans  <wim@fluendo.com>
27693
27694         * gst/gstbus.c: (gst_bus_post):
27695         Fix copy-and-paste error.
27696
27697 2005-03-21  Wim Taymans  <wim@fluendo.com>
27698
27699         * check/Makefile.am:
27700         * gst/Makefile.am:
27701         * gst/elements/Makefile.am:
27702         * gst/elements/gstelements.c:
27703         * gst/elements/gstfakesink.c: (gst_fakesink_init),
27704         (gst_fakesink_event), (gst_fakesink_chain):
27705         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27706         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
27707         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
27708         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
27709         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
27710         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
27711         (gst_fakesrc_loop), (gst_fakesrc_activate),
27712         (gst_fakesrc_change_state):
27713         * gst/elements/gstfakesrc.h:
27714         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
27715         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
27716         (gst_filesrc_open_file), (gst_filesrc_loop),
27717         (gst_filesrc_activate), (gst_filesrc_change_state),
27718         (filesrc_find_peek), (filesrc_find_suggest),
27719         (gst_filesrc_type_find):
27720         * gst/elements/gstidentity.c: (gst_identity_finalize),
27721         (gst_identity_class_init), (gst_identity_init),
27722         (gst_identity_proxy_getcaps), (identity_queue_push),
27723         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
27724         (gst_identity_getrange), (gst_identity_chain),
27725         (gst_identity_sink_loop), (gst_identity_src_loop),
27726         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
27727         (gst_identity_set_property), (gst_identity_get_property),
27728         (gst_identity_change_state):
27729         * gst/elements/gstidentity.h:
27730         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
27731         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
27732         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
27733         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
27734         (gst_tee_sink_activate):
27735         * gst/elements/gsttee.h:
27736         * gst/gst.c: (gst_register_core_elements), (init_post):
27737         * gst/gst.h:
27738         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
27739         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
27740         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
27741         (gst_bin_change_state):
27742         * gst/gstbin.h:
27743         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
27744         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
27745         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
27746         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
27747         (gst_bus_set_sync_handler), (gst_bus_create_watch),
27748         (bus_watch_callback), (bus_watch_destroy),
27749         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
27750         (poll_timeout), (gst_bus_poll):
27751         * gst/gstbus.h:
27752         * gst/gstcaps.h:
27753         * gst/gstdata.h:
27754         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
27755         (gst_element_post_message), (gst_element_message_full),
27756         (gst_element_get_state_func), (gst_element_get_state),
27757         (gst_element_abort_state), (gst_element_commit_state),
27758         (gst_element_lost_state), (gst_element_set_state),
27759         (gst_element_pads_activate), (gst_element_change_state),
27760         (gst_element_dispose), (gst_element_set_manager_func),
27761         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
27762         (gst_element_set_manager), (gst_element_get_manager),
27763         (gst_element_set_bus), (gst_element_get_bus),
27764         (gst_element_set_scheduler), (gst_element_get_scheduler):
27765         * gst/gstelement.h:
27766         * gst/gstevent.c: (gst_event_new_segment_seek),
27767         (gst_event_new_flush):
27768         * gst/gstevent.h:
27769         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
27770         (_gst_message_free), (gst_message_get_type), (gst_message_new),
27771         (gst_message_new_eos), (gst_message_new_error),
27772         (gst_message_new_warning), (gst_message_new_tag),
27773         (gst_message_new_state_changed), (gst_message_new_application),
27774         (gst_message_get_structure), (gst_message_parse_tag),
27775         (gst_message_parse_state_changed), (gst_message_parse_error),
27776         (gst_message_parse_warning):
27777         * gst/gstmessage.h:
27778         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
27779         (gst_real_pad_set_property), (gst_pad_set_active),
27780         (gst_pad_is_active), (gst_pad_set_blocked_async),
27781         (gst_pad_set_blocked), (gst_pad_is_blocked),
27782         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
27783         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
27784         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
27785         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
27786         (gst_pad_link_filtered), (gst_pad_relink_filtered),
27787         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
27788         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
27789         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
27790         (gst_pad_set_caps), (gst_pad_configure_sink),
27791         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
27792         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
27793         (gst_real_pad_dispose), (gst_real_pad_finalize),
27794         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
27795         (gst_pad_event_default_dispatch), (gst_pad_event_default),
27796         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
27797         * gst/gstpad.h:
27798         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
27799         (pipeline_bus_handler), (gst_pipeline_change_state),
27800         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
27801         * gst/gstpipeline.h:
27802         * gst/gstprobe.h:
27803         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
27804         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
27805         (gst_queue_link_src), (gst_queue_bufferalloc),
27806         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
27807         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
27808         (gst_queue_loop), (gst_queue_handle_src_event),
27809         (gst_queue_handle_src_query), (gst_queue_src_activate),
27810         (gst_queue_change_state):
27811         * gst/gstqueue.h:
27812         * gst/gstscheduler.c: (gst_scheduler_init),
27813         (gst_scheduler_dispose), (gst_scheduler_create_task),
27814         (gst_scheduler_factory_create):
27815         * gst/gstscheduler.h:
27816         * gst/gststructure.c: (gst_structure_get_type),
27817         (gst_structure_copy_conditional):
27818         * gst/gststructure.h:
27819         * gst/gsttaginterface.h:
27820         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27821         (gst_task_init), (gst_task_dispose), (gst_task_create),
27822         (gst_task_get_state), (gst_task_start), (gst_task_stop),
27823         (gst_task_pause):
27824         * gst/gsttask.h:
27825         * gst/gstthread.c:
27826         * gst/gstthread.h:
27827         * gst/gsttypes.h:
27828         * gst/schedulers/Makefile.am:
27829         * gst/schedulers/cothreads_compat.h:
27830         * gst/schedulers/entryscheduler.c:
27831         * gst/schedulers/faircothreads.c:
27832         * gst/schedulers/faircothreads.h:
27833         * gst/schedulers/fairscheduler.c:
27834         * gst/schedulers/gstbasicscheduler.c:
27835         * gst/schedulers/gstoptimalscheduler.c:
27836         * gst/schedulers/gthread-cothreads.h:
27837         * gst/schedulers/threadscheduler.c:
27838         (gst_thread_scheduler_task_get_type),
27839         (gst_thread_scheduler_task_class_init),
27840         (gst_thread_scheduler_task_init),
27841         (gst_thread_scheduler_task_start),
27842         (gst_thread_scheduler_task_stop),
27843         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
27844         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
27845         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
27846         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
27847         (plugin_init):
27848         * libs/gst/Makefile.am:
27849         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
27850         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
27851         (gst_file_pad_parent_set):
27852         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27853         (gst_dp_event_from_packet):
27854         * tests/complexity.c: (main):
27855         * tests/mass_elements.c: (main):
27856         * testsuite/states/locked.c: (message_received), (main):
27857         * testsuite/states/parent.c: (main):
27858         * tools/gst-inspect.c: (print_element_flag_info),
27859         (print_implementation_info), (print_pad_info):
27860         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
27861         (main):
27862         * tools/gst-md5sum.c: (event_loop), (main):
27863         * tools/gst-typefind.c: (main):
27864         * tools/gst-xmlinspect.c: (print_element_info):
27865         Next big merge.
27866         Added GstBus for mainloop integration.
27867         Added GstMessage for sending notifications on the bus.
27868         Added GstTask as an abstraction for pipeline entry points.
27869         Removed GstThread.
27870         Removed Schedulers.
27871         Simplified GstQueue for multithreaded core.
27872         Made _link threadsafe, removed old capsnego.
27873         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
27874         Added pad blocking functions.
27875         Reworked scheduling functions in GstPad to prepare for
27876         scheduling updates soon.
27877         Moved events out of data stream.
27878         Simplified GstEvent types.
27879         Added return values to push/pull.
27880         Removed clocking from GstElement.
27881         Added prototypes for state change function for next merge.
27882         Removed iterate from bins and state change management.
27883         Fixed some elements, disabled others for now.
27884         Fixed -inspect and -launch.
27885         Added check for GstBus.
27886
27887 2005-03-10  Wim Taymans  <wim@fluendo.com>
27888
27889         * docs/design/part-MT-refcounting.txt:
27890         * docs/design/part-clocks.txt:
27891         * docs/design/part-gstelement.txt:
27892         * docs/design/part-gstobject.txt:
27893         * docs/design/part-standards.txt:
27894         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
27895         (gst_bin_remove_func), (gst_bin_remove):
27896         * gst/gstbin.h:
27897         * gst/gstbuffer.c:
27898         * gst/gstcaps.h:
27899         * testsuite/clock/clock1.c: (main):
27900         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
27901         (main):
27902         * testsuite/dlopen/loadgst.c: (do_test):
27903         * testsuite/refcounting/bin.c: (add_remove_test1),
27904         (add_remove_test2), (main):
27905         * testsuite/refcounting/element.c: (main):
27906         * testsuite/refcounting/element_pad.c: (main):
27907         * testsuite/refcounting/pad.c: (main):
27908         * tools/gst-launch.c: (sigint_handler_sighandler):
27909         * tools/gst-typefind.c: (main):
27910         Doc updates.
27911         Added doc about clock.
27912         removed gst_bin_iterate_recurse_up(), marked methods
27913         for removal.
27914         Fix more testsuites.
27915
27916 2005-03-09  Wim Taymans  <wim@fluendo.com>
27917
27918         * gst/gstpad.c: (gst_pad_get_direction),
27919         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
27920         (gst_pad_collect_valist):
27921         * testsuite/bins/interface.c: (main):
27922         * testsuite/caps/audioscale.c: (test_caps):
27923         * testsuite/caps/caps.c: (test1), (test2), (test3):
27924         * testsuite/caps/deserialize.c: (main):
27925         * testsuite/caps/enumcaps.c: (main):
27926         * testsuite/caps/filtercaps.c: (main):
27927         * testsuite/caps/intersect2.c: (main):
27928         * testsuite/caps/random.c: (main):
27929         * testsuite/caps/renegotiate.c: (my_fixate), (main):
27930         * testsuite/caps/sets.c: (check_caps):
27931         * testsuite/caps/simplify.c: (check_caps), (main):
27932         * testsuite/caps/subtract.c: (check_caps):
27933         Fix _pad_get_direction wrt ghostpads.
27934         Fix caps testsuite.
27935
27936 2005-03-09  Wim Taymans  <wim@fluendo.com>
27937
27938         * check/Makefile.am:
27939         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
27940         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
27941         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
27942         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
27943         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
27944         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
27945         (gst_bin_remove), (gst_bin_iterate_recurse_up),
27946         (bin_element_is_sink), (gst_bin_iterate_sinks),
27947         (gst_bin_iterate_all_by_interface):
27948         * gst/gstbin.h:
27949         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
27950         (gst_element_change_state), (gst_element_dispose),
27951         (gst_element_finalize), (gst_element_set_loop_function):
27952         * gst/gstelement.h:
27953         * gst/gstiterator.c: (find_custom_fold_func):
27954         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
27955         (gst_pad_collectv), (gst_pad_collect_valist),
27956         (gst_pad_template_new):
27957         * gst/gstpipeline.c: (gst_pipeline_class_init),
27958         (gst_pipeline_dispose), (gst_pipeline_set_property),
27959         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
27960         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
27961         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
27962         * gst/gstutils.h:
27963         * gst/schedulers/entryscheduler.c:
27964         * gst/schedulers/gstbasicscheduler.c:
27965         (gst_basic_scheduler_cothreaded_chain),
27966         (gst_basic_scheduler_chain_add_element):
27967         * testsuite/bins/interface.c: (main):
27968         Added GstBin test.
27969         Added GstSystemClock test.
27970         Implemented clock distribution code in GstBin.
27971         Implemented iterate sinks method for future use.
27972         Rearranged gstelement.h
27973         Fix GstIterator comparison bug.
27974         Moved some code to GstPipeline, mostly clocking related.
27975
27976 2005-03-09  Wim Taymans  <wim@fluendo.com>
27977
27978         * configure.ac:
27979         * gst/gst_private.h:
27980         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
27981         (gst_bin_remove_func), (gst_bin_remove),
27982         (gst_bin_get_by_name_recurse_up):
27983         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
27984         (gst_clock_id_compare_func), (gst_clock_id_wait),
27985         (gst_clock_id_wait_async), (gst_clock_init),
27986         (gst_clock_adjust_unlocked), (gst_clock_get_time):
27987         * gst/gstelement.h:
27988         * gst/gstinfo.c: (_gst_debug_init):
27989         * gst/gstobject.h:
27990         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
27991         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
27992         * gst/gstpad.h:
27993         Bump version number, we're now 0.9.0
27994         Add future debugging category.
27995         Fix NULL _unref() in _get_by_name_recurse_up
27996         Rearrange gstpad.h.
27997         Update some docs.
27998
27999 2005-03-08  Wim Taymans  <wim@fluendo.com>
28000
28001         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
28002         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
28003         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
28004         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
28005         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
28006         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
28007         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
28008         * gst/elements/gstidentity.c: (gst_identity_class_init):
28009         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
28010         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
28011         * gst/elements/gstshaper.c: (gst_shaper_class_init):
28012         * gst/elements/gststatistics.c: (gst_statistics_class_init):
28013         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
28014         (gst_tee_link):
28015         * gst/gstelement.c: (gst_element_class_init),
28016         (gst_element_base_class_init), (gst_element_init),
28017         (gst_element_get_random_pad), (gst_element_wait_state_change),
28018         (gst_element_change_state), (gst_element_dispose),
28019         (gst_element_finalize), (gst_element_set_loop_function):
28020         * gst/gstelement.h:
28021         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
28022         * gst/gstthread.c: (gst_thread_class_init),
28023         (gst_thread_release_children_locks), (gst_thread_change_state):
28024         * gst/schedulers/gstbasicscheduler.c:
28025         (gst_basic_scheduler_loopfunc_wrapper),
28026         (gst_basic_scheduler_chain_wrapper),
28027         (gst_basic_scheduler_src_wrapper),
28028         (gst_basic_scheduler_remove_element):
28029         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
28030         Remove threadsafe properties. Fix elements because GObject
28031         complains when installing a property before declaring a
28032         set/get_property handler.
28033         Rearrange gstelement.h file, use STATE macros for state locks.
28034         Free mutexes in the finalize method instead of dispose.
28035
28036 2005-03-08  Wim Taymans  <wim@fluendo.com>
28037
28038         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
28039         * gst/gstthread.c: (gst_thread_release_children_locks):
28040         Added parentage check.
28041         Fix build og GstThread again.
28042
28043 2005-03-08  Wim Taymans  <wim@fluendo.com>
28044
28045         * docs/design/part-MT-refcounting.txt:
28046         * docs/design/part-conventions.txt:
28047         * docs/design/part-gstobject.txt:
28048         * docs/design/part-relations.txt:
28049         * docs/design/part-standards.txt:
28050         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
28051         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
28052         (gst_bin_get_by_name), (gst_bin_get_by_interface),
28053         (gst_bin_iterate_all_by_interface):
28054         * gst/gstbuffer.h:
28055         * gst/gstclock.h:
28056         * gst/gstelement.c: (gst_element_class_init),
28057         (gst_element_change_state), (gst_element_set_loop_function):
28058         * gst/gstelement.h:
28059         * gst/gstiterator.c:
28060         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
28061         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
28062         (gst_object_dispatch_properties_changed), (gst_object_set_name),
28063         (gst_object_set_parent), (gst_object_unparent),
28064         (gst_object_check_uniqueness):
28065         * gst/gstobject.h:
28066         Docs updates, clean up some headers.
28067
28068 2005-03-07  Wim Taymans  <wim@fluendo.com>
28069
28070         * check/.cvsignore:
28071         * check/Makefile.am:
28072         * check/gst-libs/.cvsignore:
28073         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
28074         * check/gst/.cvsignore:
28075         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
28076         (START_TEST), (gstbus_suite), (main):
28077         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
28078         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
28079         (gst_data_suite), (main):
28080         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
28081         (add_fold_func), (gstiterator_suite), (main):
28082         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
28083         (thread_name_object), (thread_name_object_default),
28084         (gst_object_name_compare), (gst_object_suite), (main):
28085         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
28086         (gst_pad_suite), (main):
28087         * check/gstcheck.c: (gst_check_log_message_func),
28088         (gst_check_log_critical_func), (gst_check_init):
28089         * check/gstcheck.h:
28090         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
28091         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
28092         Added checks.
28093
28094 2005-03-07  Wim Taymans  <wim@fluendo.com>
28095
28096         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
28097         (gst_list_iterator_next), (gst_list_iterator_resync),
28098         (gst_list_iterator_free), (gst_iterator_new_list),
28099         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
28100         (gst_iterator_free), (gst_iterator_push), (filter_next),
28101         (filter_resync), (filter_uninit), (filter_free),
28102         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
28103         (gst_iterator_foreach), (find_custom_fold_func),
28104         (gst_iterator_find_custom):
28105         * gst/gstiterator.h:
28106         Added missing files.
28107
28108 2005-03-07  Wim Taymans  <wim@fluendo.com>
28109
28110         * Makefile.am:
28111         * configure.ac:
28112         * docs/design/part-MT-refcounting.txt:
28113         * docs/design/part-conventions.txt:
28114         * docs/design/part-gstobject.txt:
28115         * docs/design/part-relations.txt:
28116         * examples/mixer/mixer.c: (main):
28117         * examples/thread/thread.c: (eos), (main):
28118         * gst/Makefile.am:
28119         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
28120         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
28121         (gst_spider_plug_from_srcpad):
28122         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
28123         (gst_spider_identity_change_state),
28124         (gst_spider_identity_sink_loop_type_finding):
28125         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
28126         * gst/elements/gstidentity.c: (gst_identity_init):
28127         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
28128         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
28129         * gst/elements/gsttypefindelement.c: (free_entry):
28130         * gst/gst.c:
28131         * gst/gst.h:
28132         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
28133         (gst_bin_set_clock_func), (gst_bin_auto_clock),
28134         (gst_bin_set_index), (gst_bin_set_element_sched),
28135         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
28136         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
28137         (gst_bin_iterate_elements), (iterate_child_recurse),
28138         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
28139         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
28140         (compare_interface), (gst_bin_get_by_interface),
28141         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
28142         * gst/gstbin.h:
28143         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
28144         (gst_buffer_default_free), (gst_buffer_default_copy),
28145         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
28146         (gst_buffer_create_sub):
28147         * gst/gstbuffer.h:
28148         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
28149         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
28150         (gst_caps_unref), (gst_static_caps_get),
28151         (gst_caps_remove_and_get_structure), (gst_caps_append),
28152         (gst_caps_append_structure), (gst_caps_remove_structure),
28153         (gst_caps_copy_nth), (gst_caps_set_simple),
28154         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
28155         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
28156         (gst_caps_structure_intersect_field), (gst_caps_intersect),
28157         (gst_caps_structure_subtract_field), (gst_caps_subtract),
28158         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
28159         (gst_caps_structure_figure_out_union),
28160         (gst_caps_switch_structures), (gst_caps_do_simplify),
28161         (gst_caps_replace), (gst_caps_from_string),
28162         (gst_caps_copy_conditional):
28163         * gst/gstcaps.h:
28164         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
28165         (_gst_clock_id_free), (gst_clock_id_unref),
28166         (gst_clock_id_compare_func), (gst_clock_id_wait),
28167         (gst_clock_id_wait_async), (gst_clock_class_init),
28168         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
28169         (gst_clock_get_time), (gst_clock_set_time_adjust),
28170         (gst_clock_set_property), (gst_clock_get_property):
28171         * gst/gstclock.h:
28172         * gst/gstcompat.h:
28173         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
28174         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
28175         * gst/gstdata.h:
28176         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
28177         (gst_element_requires_clock), (gst_element_provides_clock),
28178         (gst_element_set_clock), (gst_element_clock_wait),
28179         (gst_element_wait), (gst_element_set_time_delay),
28180         (gst_element_is_indexable), (gst_element_add_pad),
28181         (gst_element_add_ghost_pad), (gst_element_remove_pad),
28182         (pad_compare_name), (gst_element_get_static_pad),
28183         (gst_element_request_pad), (gst_element_get_request_pad),
28184         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
28185         (gst_element_class_get_pad_template_list),
28186         (gst_element_class_get_pad_template), (gst_element_error_func),
28187         (gst_element_get_random_pad), (gst_element_get_event_masks),
28188         (gst_element_send_event), (gst_element_seek),
28189         (gst_element_get_query_types), (gst_element_query),
28190         (gst_element_get_formats), (gst_element_convert),
28191         (gst_element_is_locked_state), (gst_element_set_locked_state),
28192         (gst_element_sync_state_with_parent), (gst_element_change_state),
28193         (gst_element_finalize), (gst_element_yield),
28194         (gst_element_interrupt), (gst_element_set_scheduler),
28195         (gst_element_get_scheduler), (gst_element_set_loop_function):
28196         * gst/gstelement.h:
28197         * gst/gstevent.h:
28198         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
28199         (gst_format_get_by_nick), (gst_format_get_details),
28200         (gst_format_iterate_definitions):
28201         * gst/gstformat.h:
28202         * gst/gstindex.c: (gst_index_gtype_resolver):
28203         * gst/gstinfo.c:
28204         * gst/gstinfo.h:
28205         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
28206         (gst_mem_chunk_free):
28207         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
28208         (gst_object_ref), (gst_object_unref), (gst_object_sink),
28209         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
28210         (gst_object_dispatch_properties_changed),
28211         (gst_object_set_name_default), (gst_object_set_name),
28212         (gst_object_get_name), (gst_object_set_name_prefix),
28213         (gst_object_get_name_prefix), (gst_object_set_parent),
28214         (gst_object_get_parent), (gst_object_unparent),
28215         (gst_object_check_uniqueness), (gst_object_save_thyself),
28216         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
28217         (gst_object_set_property), (gst_object_get_property),
28218         (gst_object_get_path_string):
28219         * gst/gstobject.h:
28220         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
28221         (gst_real_pad_init), (gst_real_pad_get_property),
28222         (gst_pad_custom_new), (gst_pad_get_direction),
28223         (gst_pad_set_active), (gst_pad_is_active),
28224         (gst_pad_set_event_function), (gst_pad_is_linked),
28225         (gst_pad_link_free), (gst_pad_link_intersect),
28226         (gst_pad_link_fixate), (gst_pad_set_caps),
28227         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
28228         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
28229         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
28230         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
28231         (gst_pad_get_caps), (gst_pad_peer_get_caps),
28232         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
28233         (gst_pad_realize), (gst_pad_get_allowed_caps),
28234         (gst_real_pad_dispose), (gst_real_pad_finalize),
28235         (gst_pad_collectv), (gst_pad_collect_valist),
28236         (gst_pad_template_dispose), (gst_pad_template_new),
28237         (gst_pad_get_internal_links):
28238         * gst/gstpad.h:
28239         * gst/gstpipeline.c: (gst_pipeline_dispose),
28240         (gst_pipeline_change_state):
28241         * gst/gstpipeline.h:
28242         * gst/gstplugin.c:
28243         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
28244         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
28245         * gst/gstpluginfeature.h:
28246         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
28247         * gst/gstquery.c: (_gst_query_type_initialize),
28248         (gst_query_type_register), (gst_query_type_get_by_nick),
28249         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
28250         * gst/gstquery.h:
28251         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
28252         * gst/gstscheduler.c: (gst_scheduler_add_element),
28253         (gst_scheduler_factory_create):
28254         * gst/gststructure.c: (gst_structure_set_parent_refcount),
28255         (gst_structure_free), (gst_structure_set_name),
28256         (gst_structure_id_set_value), (gst_structure_set_value),
28257         (gst_structure_set_valist), (gst_structure_remove_field),
28258         (gst_structure_remove_fields),
28259         (gst_structure_remove_fields_valist),
28260         (gst_structure_remove_all_fields), (gst_structure_foreach),
28261         (gst_structure_map_in_place),
28262         (gst_caps_structure_fixate_field_nearest_int),
28263         (gst_caps_structure_fixate_field_nearest_double):
28264         * gst/gststructure.h:
28265         * gst/gstsystemclock.c: (gst_system_clock_class_init),
28266         (gst_system_clock_init), (gst_system_clock_dispose),
28267         (gst_system_clock_async_thread),
28268         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
28269         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
28270         * gst/gstsystemclock.h:
28271         * gst/gsttag.c: (gst_tag_list_add_value_internal),
28272         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
28273         * gst/gsttaginterface.c:
28274         * gst/gstthread.c: (gst_thread_dispose),
28275         (gst_thread_release_children_locks), (gst_thread_change_state),
28276         (gst_thread_main_loop):
28277         * gst/gsttrashstack.h:
28278         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
28279         * gst/gsttypes.h:
28280         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28281         (gst_element_request_pad), (gst_element_get_pad_from_template),
28282         (gst_element_request_compatible_pad),
28283         (gst_element_get_compatible_pad_filtered),
28284         (gst_element_get_compatible_pad), (gst_element_state_get_name),
28285         (gst_element_link_pads_filtered), (gst_element_link_filtered),
28286         (gst_element_link_many), (gst_element_link),
28287         (gst_element_link_pads), (gst_element_unlink_pads),
28288         (gst_element_unlink_many), (gst_element_unlink),
28289         (gst_pad_can_link_filtered), (gst_pad_can_link),
28290         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
28291         (gst_object_default_error), (gst_bin_add_many),
28292         (gst_bin_remove_many), (gst_element_populate_std_props),
28293         (gst_element_class_install_std_props), (gst_buffer_merge),
28294         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
28295         (link_fold_func), (gst_pad_proxy_setcaps):
28296         * gst/gstutils.h:
28297         * gst/gstvalue.c: (gst_value_deserialize_string):
28298         * gst/parse/grammar.y:
28299         * gst/schedulers/gstbasicscheduler.c:
28300         (gst_basic_scheduler_cothreaded_chain),
28301         (gst_basic_scheduler_chain_recursive_add),
28302         (gst_basic_scheduler_pad_link):
28303         * gst/schedulers/gstoptimalscheduler.c:
28304         (get_group_schedule_function),
28305         (gst_opt_scheduler_state_transition),
28306         (gst_opt_scheduler_add_element), (element_get_reachables_func):
28307         * libs/gst/bytestream/bytestream.c:
28308         * libs/gst/dataprotocol/dataprotocol.c:
28309         (gst_dp_header_from_buffer):
28310         * po/nb.po:
28311         * po/ru.po:
28312         * tests/threadstate/threadstate2.c: (eos):
28313         * tools/gst-compprep.c: (main):
28314         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
28315         (print_pad_info), (print_children_info):
28316         * tools/gst-launch.c: (idle_func), (main):
28317         * tools/gst-md5sum.c: (idle_func), (main):
28318         * tools/gst-xmlinspect.c: (print_element_info):
28319         First THREADED backport attempt, focusing on adding locks and
28320         making sure the API is threadsafe. Needs more work. More docs
28321         follow this week.
28322
28323 2005-02-24  Andy Wingo  <wingo@pobox.com>
28324
28325         * tests/bench-complexity.scm:
28326         * tests/complexity.gnuplot: New files, good for running complexity
28327         benchmarks.
28328
28329         * tests/Makefile.am:
28330         * tests/complexity.c: New test, sets up N elements, at each level
28331         teeing into M streams per element. Eeeenteresting.
28332
28333         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
28334         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
28335         running bench-mass_elements.scm.
28336
28337         * tests/bench-mass_elements.scm: New script, runs mass_elements
28338         for various numbers of identities, outputting the results to a
28339         file. Requires guile 1.6. Just for testing.
28340
28341 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
28342
28343         * gst/schedulers/fairscheduler.c:
28344           compile with debug disabled
28345
28346 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
28347
28348         * configure.ac:
28349           hunting season on 0.9 is now OPEN