libs/gst/base/gstbasetransform.c: Also unset the GAP flag on buffers if we're working...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
2
3         * libs/gst/base/gstbasetransform.c:
4         (gst_base_transform_prepare_output_buffer):
5         Also unset the GAP flag on buffers if we're working inplace but
6         the element is not GAP-aware.
7
8         Mark a comment as FIXME 0.11.
9
10 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
11
12         * gst/gst.c:
13           Fix type in log message and add one to ease seeing how long registry
14           cache verification takes.
15
16         * gst/gstregistry.c:
17           Only test plugin filenames against G_MODULE_SUFFIX.
18
19 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
20
21         * gst/gstdebugutils.c:
22           Improve handling ghost/proxy pads.
23
24 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
25
26         * docs/gst/gstreamer-sections.txt:
27         * gst/gstpad.c:
28         * gst/gstpad.h:
29           Expose macro to docs and fix link to it.
30
31 2008-03-27  Michael Smith <msmith@fluendo.com>
32
33         * libs/gst/dataprotocol/dataprotocol.c:
34         (gst_dp_packet_from_event_1_0):
35           When calculating GDP body CRC, use the correct pointer. 
36           Fixes part of #522401.
37
38 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
39
40         Patch by: Mark Nauwelaerts <manauw at skynet be>
41
42         * plugins/elements/gstidentity.c: (gst_identity_class_init),
43         (gst_identity_init), (gst_identity_prepare_output_buffer):
44         Identity is not always a passthrough element, it can modify the buffer
45         timestamps when it has a datarate and operates in single-segment mode.
46         We therefore make it an in_place filter with a custom buffer prepare
47         function that conditionally makes the input buffer metadata writable
48         when needed.  Fixes #523985.
49
50 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
51
52         Patch by: Mark Nauwelaerts <manauw at skynet be>
53
54         * gst/gstclock.h:
55         * libs/gst/base/gstbasesrc.h:
56         * libs/gst/base/gstbasetransform.c:
57         * libs/gst/check/gstcheck.c:
58         Small documentation fixes. Fixes #523978.
59
60 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
61
62         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
63         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
64         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
65
66 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
67
68         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
69         (single_queue_underrun_cb):
70         When trying to make room in the queue, bump the max allowed buffers
71         bigger than the current amount of buffers in the queue. this fixes some
72         nasty deadlocks in multiqueue when dynamically changing the limits of
73         the queue.
74
75 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
76
77         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
78
79         * gst/gstcaps.c: (gst_caps_set_simple),
80         (gst_caps_set_simple_valist), (gst_caps_intersect):
81         * gst/gstcaps.h:
82         Constify the field gchar * params in set_simple and friends.
83         Fixes #522326.
84
85 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
86
87         * gst/gstvalue.c: (gst_value_transform_object_string):
88         Transform a GstObject to a more meaningfull string that includes the
89         object type in addition to its name.
90
91 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
92
93         * ChangeLog:
94           ChangeLog surgery to add bugnumber to commit.
95
96 2008-03-23  Rene Stadler  <mail@renestadler.de>
97
98         * libs/gst/base/gstbasetransform.c:
99         (gst_base_transform_set_gap_aware): Fix confusing documentation.
100
101 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
102
103         * gst/gstregistrybinary.c: (gst_registry_binary_write):
104         Rename constant everywhere and don't forget one occurence.
105
106 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
107
108         * gst/gstregistrybinary.c: (gst_registry_binary_write):
109         Align memory to the pointer size even if the architecture allows
110         unaligned memory access. Unaligned memory access usually comes with
111         performance penality.
112
113 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
114
115         * gst/gstregistrybinary.c: (gst_registry_binary_write),
116         (gst_registry_binary_check_magic),
117         (gst_registry_binary_load_pad_template),
118         (gst_registry_binary_load_feature),
119         (gst_registry_binary_load_plugin):
120         Align memory to the pointer size instead of always 32 bit. Fixes
121         unaligned memory accesses on ia64 and friends.
122
123         * gst/gstregistrybinary.h:
124         Bump binary registry format version for this as it changes the
125         format on those architectures that don't have unaligned access
126         and 64 bit pointers.
127
128 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
129
130         * docs/pwg/advanced-dparams.xml:
131         * docs/pwg/building-props.xml:
132         * docs/pwg/other-source.xml:
133         * gst/glib-compat.h:
134         * gst/gstbin.c: (gst_bin_class_init):
135         * gst/gstclock.c: (gst_clock_class_init):
136         * gst/gstindex.c: (gst_index_class_init):
137         * gst/gstobject.c: (gst_object_class_init):
138         * gst/gstpad.c: (gst_pad_class_init):
139         * gst/gstpipeline.c: (gst_pipeline_class_init):
140         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
141         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
142         * libs/gst/base/gstbasetransform.c:
143         (gst_base_transform_class_init):
144         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
145         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
146         (_gst_check_fault_handler_sighandler),
147         (_gst_check_fault_handler_setup), (gst_check_init):
148         * libs/gst/controller/gstcontroller.c:
149         (_gst_controller_class_init):
150         * libs/gst/controller/gstlfocontrolsource.c:
151         (gst_lfo_control_source_class_init):
152         * libs/gst/net/gstnetclientclock.c:
153         (gst_net_client_clock_class_init):
154         * libs/gst/net/gstnettimeprovider.c:
155         (gst_net_time_provider_class_init):
156         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
157         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
158         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
159         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
160         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
161         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
162         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
163         * plugins/elements/gstidentity.c: (gst_identity_class_init):
164         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
165         * plugins/elements/gstqueue.c: (gst_queue_class_init):
166         * plugins/elements/gsttee.c: (gst_tee_class_init):
167         * plugins/elements/gsttypefindelement.c:
168         (gst_type_find_element_class_init):
169         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
170         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
171         use it everywhere for GParamSpecs that use static strings (i.e. all).
172         This gives us less memory usage, fewer allocations and thus less
173         memory defragmentation. Fixes bug #523806.
174
175 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
176
177         * gst/gstminiobject.c: (gst_value_dup_mini_object),
178         (gst_param_spec_mini_object):
179         * gst/gstminiobject.h:
180         * win32/common/libgstreamer.def:
181         * docs/gst/gstreamer-sections.txt:
182         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
183         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
184         GstParamSpecMiniObject into a public header for this.
185
186         This make GstMiniObject a bit more consistent with GObject and makes
187         it possible to extend the param specs.
188
189         gst_value_dup_mini_object is mainly useful for set_property methods.
190
191         Fixes bug #523798.
192
193         * tools/gst-inspect.c: (print_element_properties_info):
194         Print something useful for GstMiniObject properties and not just
195         "unknown type".
196
197 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
198
199         * docs/gst/gstreamer-sections.txt:
200         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
201         (gst_registry_binary_check_magic):
202         * gst/gstregistrybinary.h:
203         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
204         and add it to the (private part) of the docs to fix the build.
205
206 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
207
208         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
209         (gst_registry_binary_check_magic),
210         (gst_registry_binary_read_cache):
211         * gst/gstregistrybinary.h:
212         Don't use GST_MAJORMINOR for the binary registry version. Instead
213         hardcode a value that must be changed whenever the format changes
214         in an incompatible way.
215         Also don't GST_ERROR when there is a version mismatch, just
216         regenerate the registry silently.
217
218 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
219
220         * configure.ac:
221         Back to development - 0.10.18.1
222
223 === release 0.10.18 ===
224
225 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
226
227         * configure.ac:
228           releasing 0.10.18, "So far away"
229
230 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
231
232         * configure.ac:
233         * win32/common/config.h:
234         0.10.17.4 pre-release
235
236 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
237
238         Patch by: Ole André Vadla Ravnås
239             <ole dot andre dot ravnas at tandberg dot com>
240
241         * docs/gst/gstreamer-sections.txt:
242         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
243         (gst_poll_update_winsock_event_mask),
244         (gst_poll_prepare_winsock_active_sets),
245         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
246         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
247         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
248         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
249         (gst_poll_check_ctrl_commands), (gst_poll_wait):
250         * gst/gstpoll.h:
251         * win32/common/libgstreamer.def:
252         Add new function gst_poll_fd_ignored() for improved Windows
253         compatibility.
254         Various minor fixes and cleanups. See #520808.
255
256 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
257
258         * gst/gstindex.c: (gst_index_entry_free):
259         * gst/gstindex.h:
260           Don't free key strings which we don't own. Fixes crash in
261           gst_index_entry_free() (#522741).
262
263         * tests/check/Makefile.am:
264         * tests/check/gst/.cvsignore:
265         * tests/check/gst/gstindex.c: (test_index_entries),
266           (gst_index_suite), (gst_index):
267           Add unit test for the above.
268
269 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
270
271         * win32/common/libgstreamer.def:
272         Remove symbols that were removed recently. Fixes bug #521740.
273
274 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
275
276         * configure.ac:
277         * win32/common/config.h:
278         0.10.17.3 pre-release
279
280 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
281
282         Patch by: Ole André Vadla Ravnås
283             <ole dot andre dot ravnas at tandberg dot com>
284
285         * docs/gst/gstreamer-sections.txt:
286         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
287         (gst_poll_update_winsock_event_mask), (gst_poll_new),
288         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
289         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
290         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
291         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
292         (gst_poll_fd_can_write), (gst_poll_wait),
293         (gst_poll_set_controllable), (gst_poll_restart),
294         (gst_poll_set_flushing):
295         * gst/gstpoll.h:
296         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
297         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
298         (gst_net_time_provider_new):
299         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
300         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
301         * tests/benchmarks/gstpollstress.c: (main):
302         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
303         Remove GstPollMode from the API, it does not make sense to let the
304         application control this.
305         Add support for Win32.
306         Fix the testsuite. Fixes #520671.
307
308 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
309
310         Patch by: Ole André Vadla Ravnås
311             <ole dot andre dot ravnas at tandberg dot com>
312
313         * gst/gstregistrybinary.c:
314         Include io.h for write() and close() when building with MSVC. Fixes
315         bug #520877.
316
317 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
318
319         * configure.ac:
320         * gst/gst_private.h:
321         * gst/gstconfig.h.in:
322         * gst/gstregistry.h:
323         * gst/gstregistrybinary.c:
324         * win32/common/gstconfig.h:
325           Move registry backend API to private headers where we can. Add
326           fixme-0.11 comments for the others. Add stubs for the xml backend when
327           using the binary to ensure they functions exists (they should not be
328           used though). Fixes #520756.
329
330 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
331
332         * configure.ac:
333         * win32/common/config.h:
334         0.10.17.2 prelease
335
336 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
337
338         * gst/gstregistrybinary.c: (gst_registry_binary_write),
339         (gst_registry_binary_read_cache):
340         * gst/gstregistryxml.c: (gst_registry_save):
341         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
342         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
343         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
344         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
345         Switch to using portabl gsize/gssize instead of size_t/ssize_t
346         Fixes #520152
347
348 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
349
350         * gst/gstminiobject.c:
351         Import gst_private.h before any other header that might include other
352         glib headers. This fixes the build on windows using native compilers.
353
354 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
355
356         * win32/common/gstconfig.h:
357           Add here too, just for completeness.
358
359 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
360
361         * configure.ac:
362         * gst/gstconfig.h.in:
363         * gst/gstregistry.h:
364           Fix broken use of config.h-defined preprocessor directive in a public
365           header file. Add a corresponding define to gstconfig.h, since we can't
366           really remove those function declarations from the header file now
367           (or can we? and why are they there in the first place?).
368
369 2008-03-03  Andy Wingo  <wingo@pobox.com>
370
371         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
372         the new warning.
373
374         * gst/gststructure.c (gst_structure_from_string): Warn if
375         structure_from_string didn't consume the whole string, but the
376         caller did not provide an end pointer.
377
378 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
379
380         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
381
382         * gst/gstregistryxml.c: (read_string), (load_feature):
383           Strings allocated by libxml2 should be freed with xmlFree(), not
384           with g_free(). Fixes issues on windows in certain contexts (#519698).
385
386 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
387
388         * gst/gstinterface.c: (gst_element_implements_interface):
389           Don't crash if the element supports the interface queried, but does
390           not implement GstImplementsInterface. Fixes #519584.
391
392         * tests/check/Makefile.am:
393         * tests/check/gst/.cvsignore:
394         * tests/check/gst/gstinterface.c:
395           Add unit test for the above.
396
397 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
398
399         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
400         Small doc update.
401
402 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
403
404         * gst/gstsegment.c: (gst_segment_set_seek),
405         (gst_segment_to_stream_time):
406         Improve some comment.
407         Update variables where it makes more sense.
408
409 2008-02-29  Rene Stadler  <mail@renestadler.de>
410
411         * gst/gsturi.c: (gst_uri_handler_get_protocols):
412         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
413         URIHandlers implemented using language bindings.
414
415 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
416
417         * gst/gstelementfactory.h:
418         * tests/check/elements/fakesink.c:
419         * tests/check/elements/fakesrc.c: (setup_fakesrc):
420         * tests/check/elements/fdsrc.c: (setup_fdsrc):
421         * tests/check/elements/filesink.c: (setup_filesink):
422         * tests/check/elements/filesrc.c: (setup_filesrc):
423         * tests/check/elements/identity.c: (setup_identity):
424         * tests/check/elements/tee.c:
425         * tests/check/generic/sinks.c:
426         * tests/check/generic/states.c: (setup), (teardown):
427         * tests/check/gst/gst.c:
428         * tests/check/gst/gstabi.c:
429         * tests/check/gst/gstbin.c:
430         * tests/check/gst/gstbus.c: (pull_messages):
431         * tests/check/gst/gstcaps.c:
432         * tests/check/gst/gstelement.c:
433         * tests/check/gst/gstevent.c:
434         * tests/check/gst/gstghostpad.c:
435         * tests/check/gst/gstiterator.c:
436         * tests/check/gst/gstmessage.c:
437         * tests/check/gst/gstminiobject.c: (my_foo_init):
438         * tests/check/gst/gstobject.c: (thread_name_object),
439         (gst_object_suite):
440         * tests/check/gst/gstpad.c:
441         * tests/check/gst/gstplugin.c:
442         * tests/check/gst/gstpoll.c:
443         * tests/check/gst/gstquery.c:
444         * tests/check/gst/gstsegment.c:
445         * tests/check/gst/gststructure.c:
446         * tests/check/gst/gstsystemclock.c:
447         * tests/check/gst/gsttask.c:
448         * tests/check/gst/gstutils.c:
449         * tests/check/gst/gstvalue.c:
450         * tests/check/gst/struct_hppa.h:
451         * tests/check/gst/struct_i386.h:
452         * tests/check/gst/struct_ppc32.h:
453         * tests/check/gst/struct_ppc64.h:
454         * tests/check/gst/struct_x86_64.h:
455         * tests/check/libs/adapter.c: (create_and_fill_adapter):
456         * tests/check/libs/basesrc.c:
457         * tests/check/libs/controller.c: (GST_START_TEST):
458         * tests/check/libs/gdp.c:
459         * tests/check/libs/gstnetclientclock.c:
460         * tests/check/libs/gstnettimeprovider.c:
461         * tests/check/libs/libsabi.c:
462         * tests/check/libs/struct_hppa.h:
463         * tests/check/libs/struct_i386.h:
464         * tests/check/libs/struct_ppc32.h:
465         * tests/check/libs/struct_ppc64.h:
466         * tests/check/libs/struct_x86_64.h:
467         * tests/check/pipelines/cleanup.c:
468         * tests/check/pipelines/simple-launch-lines.c:
469         * tests/check/pipelines/stress.c:
470         And correct even more valid sparse warnings.
471
472         * win32/common/libgstreamer.def:
473         Add gst_poll_fd_init to the list of symbols.
474
475 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
476
477         * gst/gstconfig.h.in:
478         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
479         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
480         (gst_check_log_critical_func), (gst_check_drop_buffers),
481         (gst_check_element_push_buffer_list):
482         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
483         (gst_controller_get_type):
484         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
485         (gst_object_get_controller), (gst_object_get_control_source):
486         * libs/gst/controller/gstinterpolationcontrolsource.c:
487         (gst_interpolation_control_source_new):
488         * libs/gst/controller/gstlfocontrolsource.c:
489         (gst_lfo_control_source_new):
490         * libs/gst/dataprotocol/dataprotocol.c:
491         (gst_dp_event_from_packet_0_2):
492         * plugins/elements/gstfdsrc.c:
493         * plugins/elements/gstmultiqueue.c:
494         * plugins/elements/gsttee.c:
495         * plugins/elements/gsttypefindelement.c:
496         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
497         (gst_file_index_add_association):
498         * plugins/indexers/gstmemindex.c:
499         * tests/benchmarks/gstpollstress.c: (mess_some_more):
500         * tests/check/elements/queue.c: (setup_queue):
501         * tests/check/gst/gstpipeline.c:
502         * tests/check/libs/collectpads.c: (setup), (teardown),
503         (gst_collect_pads_suite):
504         * tests/examples/adapter/adapter_test.c:
505         * tests/examples/metadata/read-metadata.c: (make_pipeline):
506         * tests/examples/xml/createxml.c:
507         * tests/examples/xml/runxml.c:
508         * tools/gst-inspect.c:
509         * tools/gst-run.c:
510         Correct all relevant warnings found by the sparse semantic code
511         analyzer. This include marking several symbols static, using
512         NULL instead of 0 for pointers, not using variable sized arrays
513         on the stack, moving variable declarations to the beginning of
514         a block and using "foo (void)" instead of "foo ()" for declarations.
515
516 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
517
518         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
519         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
520         Don't reset GstPollFDs, this is not necessary at all.
521
522         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
523         (delayed_restart), (delayed_control):
524         Use GST_POLL_FD_INIT.
525
526 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
527
528         * gst/gstpoll.c: (gst_poll_fd_init):
529         * gst/gstpoll.h:
530         Added Since tags.
531
532         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
533         Use some more init macros.
534
535 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
536
537         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
538         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
539         Use init macros and functions.
540
541 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
542
543         * docs/gst/gstreamer-sections.txt:
544         * gst/gstpoll.c: (gst_poll_fd_init):
545         * gst/gstpoll.h:
546         Add INIT macro and _init method for initializing the GstPollFD.
547
548 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
549
550         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
551         (gst_fd_sink_update_fd):
552         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
553         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
554         (delayed_restart), (delayed_control):
555         Initialize some uninitialized variables as spotted by valgrind.
556
557 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
558
559         * tests/benchmarks/Makefile.am:
560         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
561         (main):
562         Add poll stress test.
563
564 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
565
566         Patch by: Peter Kjellerstedt <pkj at axis dot com>
567
568         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
569         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
570         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
571         * plugins/elements/gstfdsink.h:
572         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
573         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
574         (gst_fd_src_unlock_stop), (gst_fd_src_create),
575         (gst_fd_src_uri_set_uri):
576         * plugins/elements/gstfdsrc.h:
577         Port to GstPoll. See #505417.
578
579 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
580
581         * win32/common/libgstreamer.def:
582         Add new gst_poll_ symbols to win32 defs.
583
584 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
585
586         * docs/libs/gstreamer-libs-sections.txt:
587         * libs/gst/net/gstnetclientclock.c:
588         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
589         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
590         (gst_net_client_clock_thread), (gst_net_client_clock_start),
591         (gst_net_client_clock_stop), (gst_net_client_clock_new):
592         * libs/gst/net/gstnetclientclock.h:
593         * libs/gst/net/gstnettimeprovider.c:
594         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
595         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
596         (gst_net_time_provider_start), (gst_net_time_provider_stop),
597         (gst_net_time_provider_new):
598         * libs/gst/net/gstnettimeprovider.h:
599         Use a private stuct to not break ABI.
600
601 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
602
603         Patch by: Peter Kjellerstedt <pkj at axis dot com>
604
605         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
606         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
607         (gst_net_client_clock_thread), (gst_net_client_clock_start),
608         (gst_net_client_clock_stop), (gst_net_client_clock_new):
609         * libs/gst/net/gstnetclientclock.h:
610         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
611         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
612         (gst_net_time_provider_start), (gst_net_time_provider_stop),
613         (gst_net_time_provider_new):
614         * libs/gst/net/gstnettimeprovider.h:
615         Massive code removal and cleanups because of GstPoll.
616         Fixes #505417.
617
618 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
619
620         * configure.ac:
621         Add checks for poll, ppoll and pselect.
622
623         * docs/gst/gstreamer-docs.sgml:
624         * docs/gst/gstreamer-sections.txt:
625         Add docs for GstPoll.
626
627         * gst/Makefile.am:
628         * gst/gst.h:
629         * gst/gstpoll.c: (find_index), (selectable_fds),
630         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
631         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
632         (gst_poll_set_mode), (gst_poll_get_mode),
633         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
634         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
635         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
636         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
637         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
638         (gst_poll_fd_can_write), (gst_poll_wait),
639         (gst_poll_set_controllable), (gst_poll_restart),
640         (gst_poll_set_flushing):
641         * gst/gstpoll.h:
642         Add generic poll abstraction. We ideally don't want to have this in core
643         here but in glib intead...
644         This code will be used in various network elements and ultimately for
645         the nanosecond precision monotonic clock (that's why it's here in core).
646         It'll allow us to implement cancelable socket operations for windows too.
647
648         * tests/check/Makefile.am:
649         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
650         (delayed_stop), (delayed_restart), (delayed_flush),
651         (delayed_control), (gst_poll_suite):
652         Add GstPoll unit test.
653
654 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
655
656         * gst/gstfilter.c:
657           Improve documentation of gst_filter_run(). Fixes #518627.
658
659 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
660
661         * docs/README:
662           Add a few lines about the new 'check-inspected-versions' target.
663
664 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
665
666         * tests/check/gst/gstevent.c:
667           Add qos to the event test. Rename tcase/tsuite; is not only about
668           custom events.
669
670 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
671
672         * plugins/elements/gstqueue.c:
673           Ensure that buffer metadata is writeable, before modifying. Spotted by
674           Mike.
675
676 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
677
678         * plugins/elements/gstqueue.c:
679         * plugins/elements/gstqueue.h:
680           When dropping buffers in leaky modes, mark next buffers we sent as
681           DISCONT.
682
683 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
684
685         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
686           Also, if mmap() fails that would be a READ error, not OPEN_READ.
687
688 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
689
690         * plugins/elements/Makefile.am:
691         * plugins/elements/gstbufferstore.c:
692         * plugins/elements/gstbufferstore.h:
693         * plugins/elements/gsttypefindelement.h:
694           Remove GstBufferStore, no idea why we were still building it.
695           It's not used anywhere and superseded by GstAdapter.
696
697         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
698           (gst_file_src_create_mmap):
699         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
700           Printf format fixes for 64-bit integers.
701
702 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
703
704         * configure.ac:
705         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
706         We're not in 0.8 times anymore.
707
708 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
709
710         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
711         (gst_check_element_push_buffer_list):
712         * libs/gst/check/gstcheck.h:
713         Make the declaration in the header for
714         gst_check_element_push_buffer_list match the implementation.
715
716         Fix up spelling, grammar and wording of the documentation in a few
717         places, and add the Since keyword to new API functions.
718         Use g_list_delete_link instead of g_list_remove in
719         gst_check_drop_buffers, since it's immeasurably more efficient.
720
721         * tests/check/elements/fakesrc.c: (GST_START_TEST):
722         Use new gst_check_drop_buffers function where appropriate.
723
724         * win32/common/libgstbase.def:
725         * win32/common/libgstreamer.def:
726         Add new symbols gst_collect_pads_take_buffer, 
727         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
728         exports
729
730         Changelog surgery to add API keyword to new gst_check API.
731
732 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
733
734         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
735         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
736         Update pre-generated flex files with flex 2.3.34.
737
738 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
739
740         * gst/gstminiobject.c:
741           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
742           friendly to subclasses and not require them to know all internals
743           of their parent class.
744
745 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
746
747         * docs/libs/gstreamer-libs-sections.txt:
748         * libs/gst/base/gstcollectpads.c:
749         * libs/gst/base/gstcollectpads.h:
750           Add sub-buffer functions to collectpads. Fixes #516187.
751           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
752
753 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
754
755         * gst/gstbuffer.c:
756           Copy selected buffer-flags when creating subbuffers.
757           Fixes #516395.
758
759 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
760
761         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
762         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
763         * gst/gstmessage.c: (gst_message_class_init),
764         (gst_message_finalize):
765         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
766         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
767         (gst_mmap_buffer_finalize):
768         Properly chain up finalize functions to the parent class.
769
770 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
771
772         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
773
774         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
775         (gst_index_set_resolver_full):
776         * gst/gstindex.h:
777         Add new function with option to dispose of user_data in resolver.
778         Actually call the dispose function when finalizing the object and not
779         just when changing the resolver/filter.
780         API: GstIndex::gst_index_set_resolver_full()
781
782         * docs/gst/gstreamer-sections.txt:
783         Add new function to docs. Fixes #515469.
784
785 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
786
787         * gst/gstindex.c: (gst_index_finalize):
788         Chain up finalize to the parent class. Fixes leaking the GstObject
789         name and other things.
790
791 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
792
793         * configure.ac:
794         Make DISABLE_DEPRECATED defined *only* during CVS, not during
795         pre-releases or releases.
796
797         * docs/faq/gst-uninstalled:
798         Add gst-plugins-gl
799
800         * docs/random/release:
801         Change one of the steps - we only upload core & base to Gnome FTP
802
803 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
804
805         * gst/gstconfig.h.in:
806           Add 'id' for example.
807
808         * gst/gstpad.c:
809         * gst/gstutils.c:
810         * plugins/elements/gstfdsink.c:
811           Link to signals. Doc and comment fixes.
812
813 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
814
815         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
816         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
817           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
818           unused and unimplemented; finally, it is plugin features, not
819           plugins, that have ranks.
820           
821 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
822
823         * gst/gstpluginfeature.h:
824           Clarify GstRank range docs.
825
826 2008-02-05  David Schleef  <ds@schleef.org>
827
828         * gst/gst.c: Add a separate gst_deinitialized that prevents
829           gst_init() from being called after gst_deinit().  Fixes #509559
830
831 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
832
833         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
834         (gst_bin_class_init):
835         * gst/gstelement.c: (gst_element_base_class_init),
836         (gst_element_class_add_pad_template):
837         * gst/gstpadtemplate.c: (gst_pad_template_init):
838         * gst/gstpipeline.c: (gst_pipeline_get_type),
839         (gst_pipeline_base_init), (gst_pipeline_class_init):
840         * libs/gst/base/gstbasesink.c:
841         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
842         (gst_base_src_base_init), (gst_base_src_class_init):
843         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
844         (gst_capsfilter_class_init):
845         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
846         (gst_fake_sink_class_init):
847         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
848         (gst_fake_src_class_init):
849         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
850         (gst_fd_sink_class_init):
851         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
852         (gst_fd_src_class_init):
853         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
854         (gst_file_sink_class_init):
855         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
856         (gst_file_src_class_init):
857         * plugins/elements/gstidentity.c: (gst_identity_base_init),
858         (gst_identity_class_init):
859         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
860         (gst_multi_queue_class_init):
861         * plugins/elements/gstqueue.c: (gst_queue_base_init),
862         (gst_queue_class_init):
863         * plugins/elements/gsttee.c: (gst_tee_base_init),
864         (gst_tee_class_init):
865         * plugins/elements/gsttypefindelement.c:
866         (gst_type_find_element_base_init),
867         (gst_type_find_element_class_init):
868         * tests/check/gst/gstelement.c: (gst_element_suite):
869         Revert previous changes to the behaviour of GstPadTemplates, etc
870         and the possiblity to call them in class_init as it breaks too
871         many elements. Reopens bug #491501.
872
873         Should be applied again for 0.11, thus added a few FIXME 0.11 at
874         several places.
875
876 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
877
878         * tools/gst-launch.c:
879         Dump one graph per pipeline state-change and state change name
880         (if GST_DEBUG_DUMP_DOT_DIR is set).
881
882 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
883
884         * gst/gstpad.c:
885         * tests/check/gst/gstpad.c:
886         Be sure that we have a new copy of the caps and not
887         reffed caps from a template
888
889 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
890
891         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
892         * gst/gstpipeline.c: (gst_pipeline_get_type),
893         (gst_pipeline_class_init):
894         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
895         (gst_base_sink_class_init):
896         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
897         (gst_base_src_class_init):
898         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
899         (gst_base_transform_class_init):
900         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
901         (gst_collect_pads_class_init):
902         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
903         * libs/gst/net/gstnettimeprovider.c:
904         (gst_net_time_provider_base_init),
905         (gst_net_time_provider_class_init):
906         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
907         (gst_capsfilter_class_init):
908         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
909         (gst_fake_sink_class_init):
910         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
911         (gst_fake_src_class_init):
912         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
913         (gst_fd_sink_class_init):
914         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
915         (gst_fd_src_class_init):
916         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
917         (gst_file_sink_class_init):
918         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
919         (gst_file_src_class_init):
920         * plugins/elements/gstidentity.c: (gst_identity_base_init),
921         (gst_identity_class_init):
922         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
923         (gst_multi_queue_class_init):
924         * plugins/elements/gstqueue.c: (gst_queue_base_init),
925         (gst_queue_class_init):
926         * plugins/elements/gsttee.c: (gst_tee_base_init),
927         (gst_tee_class_init):
928         * plugins/elements/gsttypefindelement.c:
929         (gst_type_find_element_base_init),
930         (gst_type_find_element_class_init):
931         Don't use base_init where not absolutely necessary. For example it's
932         not necessary anymore for adding pad templates or setting element
933         details.
934
935         Leave empty base_init functions in several places as GST_BOILERPLATE
936         still defines and uses them.
937
938 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
939
940         * gst/gstelement.c: (gst_element_base_class_init),
941         (gst_element_class_add_pad_template):
942         * gst/gstpadtemplate.c:
943         Make it possible (and recommended) to set element details and add
944         pad templates in the class_init functions by copying the details/pad
945         templates in GstElement's base_init.
946
947         Also make it possible to replace existing pad templates by adding
948         a new one with the same name. This was done in a hackish fashion
949         in same elements before already.
950
951         Don't reference pad templates that are added a second time. A
952         new pad template has a refcount of one and is not floating anymore
953         and to be owned by the element's class. Make this more explicit by
954         mentioning it in the docs of gst_element_class_add_pad_template().
955
956         These changes are backwards compatible. Fixes bug #491501.
957
958         * tests/check/gst/gstelement.c:
959         Add unit test for setting element details, adding pad templates and
960         replacing them in a subclass.
961
962 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
963
964         * tools/gst-inspect.c: (print_interfaces),
965         (print_element_properties_info), (print_pad_info),
966         (print_signal_info), (print_element_info):
967         Fix a few memory leaks.
968
969 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
970
971         * docs/libs/gstreamer-libs-sections.txt:
972         * libs/gst/check/gstcheck.c:
973         * libs/gst/check/gstcheck.h:
974         Add more functions for unit testing: gst_check_drop_buffers,
975         gst_check_caps_equal, gst_check_element_push_buffer_list,
976         gst_check_element_push_buffer
977         API: gst_check_drop_buffers
978         API: gst_check_caps_equal
979         API: gst_check_element_push_buffer_list
980         API: gst_check_element_push_buffer
981
982 2008-02-01  Julien Moutte  <julien@fluendo.com>
983
984         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
985         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
986         (gst_index_finalize), (gst_index_entry_free),
987         (gst_index_add_association): Fix memory leaks.
988         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
989         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
990         (gst_mem_index_free_format), (gst_mem_index_free_id),
991         (gst_mem_index_finalize): Fix memory leaks.
992         * win32/common/config.h: Updated to CVS HEAD.
993
994 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
995
996         * docs/README:
997           Some more details about how the plugin docs works.
998
999         * docs/plugins/gstreamer-plugins-sections.txt:
1000           Whitespace cleanup.
1001
1002 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
1003
1004         * gst/parse/grammar.tab.pre.c:
1005         * gst/parse/grammar.tab.pre.h:
1006         * gst/parse/grammar.y:
1007         * gst/parse/lex._gst_parse_yy.pre.c:
1008           Add delayed set-property. This allows to set properties on dynamicaly
1009           created objects (pads in videomxer). Fixes #509391.
1010
1011 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
1012
1013         * gst/gstutils.c:
1014         Check if caps are not NULL (fix bug #510194)
1015
1016 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1017
1018         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
1019         (gst_base_sink_get_position_paused):
1020         Add fixme regarding EOS in pull mode.
1021         Fix position reporting in PAUSED for negative rates.
1022
1023 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1024
1025         * gst/gstminiobject.c: (gst_mini_object_replace):
1026         When replacing a miniobject, do a quick equality check first so that we
1027         can avoid a ref/unref pair.
1028
1029 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1030
1031         * docs/design/part-synchronisation.txt:
1032         Update some docs.
1033
1034         * docs/plugins/Makefile.am:
1035         * docs/plugins/gstreamer-plugins-docs.sgml:
1036         * docs/plugins/gstreamer-plugins-sections.txt:
1037         * plugins/elements/gstmultiqueue.c:
1038         Add multiqueue to the docs.
1039
1040 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
1041
1042         * configure.ac:
1043           Back to CVS
1044
1045 === release 0.10.17 ===
1046
1047 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
1048
1049         * configure.ac:
1050           releasing 0.10.17, "Due Negligence"
1051
1052 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
1053
1054         * gst/gstutils.c:
1055         Revert caps != NULL check temporarily for 0.10.17 release.
1056
1057 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
1058
1059         * gst/gstutils.c:
1060         Check if caps are not NULL (fix bug #510194)
1061
1062 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
1063
1064         * gst/gstutils.c:
1065         Fix compilation on systems that have posix timers but no
1066         monotonic clock.
1067         Fixes: #512715
1068         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
1069         dot net>
1070
1071 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
1072
1073         * tools/gst-inspect.c:
1074         Revert previous commit in preparation for an impromptu 0.10.17 release
1075
1076 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
1077
1078         * tools/gst-inspect.c: (print_interfaces),
1079         (print_element_properties_info), (print_pad_info),
1080         (print_signal_info), (print_element_info):
1081         Fix a few memory leaks.
1082
1083 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
1084
1085         * configure.ac:
1086         Back to CVS
1087
1088 === release 0.10.16 ===
1089
1090 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
1091
1092         * configure.ac:
1093           releasing 0.10.16, "Special Dispensation"
1094
1095 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
1096
1097         * configure.ac:
1098           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
1099           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
1100           not fail when trying to crosscompile on OpenEmbedded (#511750).
1101
1102 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
1103
1104         * docs/manuals.mak:
1105         Use $(MAKE) instead of make to fix the build if GNU make is
1106         called different. Fixes bug #510747.
1107
1108 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
1109
1110         * gst/gstplugin.c: (_gst_plugin_initialize):
1111           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
1112           again, which I broke two commits ago when changing the API
1113           of gst_plugin_register_static(): the g_list_foreach() in
1114           _gst_plugin_register_static still assumed the old function
1115           signature and would therefore fail (re-fixes #510187).
1116
1117         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
1118           (_gst_plugin_register_static), (gst_plugin_register_static):
1119           Revert the (technically correct) change to call g_thread_init() from
1120           the pre-main() constructor. This will break programs which call
1121           g_thread_init() without an if (!g_thread_supported()) guard in their
1122           main function. We could just blame it on GLib or the application, but
1123           it's probably best to just avoid this altogether and simply not use
1124           any GLib functions here and use plain old malloc() with a simple
1125           array to store the plugins to register later when gst_init() is
1126           finally called (re-fixes #510187).
1127
1128         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
1129           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
1130           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
1131           (GST_START_TEST), (gst_plugin_suite):
1132           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
1133           works.
1134
1135 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1136
1137         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
1138           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
1139           This makes gtk-doc complain, but results in slightly better
1140           compiler errors. The old _gst_plugin_register_static() is
1141           still guarded, so there'll be a compiler warning about that
1142           instead. Fixes #510187 too.
1143
1144 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1145
1146         * gst/gst.c: (init_post):
1147         * gst/gstplugin.c: (_gst_plugin_register_static),
1148           (gst_plugin_register_static), (_gst_plugin_initialize):
1149         * gst/gstplugin.h: (GstPluginFilter):
1150           Change API of gst_plugin_register_static() to not take
1151           a GstPluginDesc, but rather just take all the arguments
1152           in a GstPluginDesc directly. This is more intuitive and
1153           avoids certain mistakes when porting code from
1154           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
1155           Fixes #510187.
1156
1157         * tests/check/gst/gstplugin.c:
1158           Fix up for changed API.
1159
1160 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1161
1162         * docs/faq/legal.xml:
1163           Update FAQ, Totem actually has an exception these days.
1164
1165 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
1166
1167         * win32/common/libgstreamer.def:
1168         Add new API declarations
1169
1170 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
1171
1172         * gst/gstminiobject.c:
1173           Spelling fixes for the API docs.
1174
1175 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
1176
1177         * libs/gst/base/gstbasetransform.c:
1178           Fix long property description for QoS.
1179
1180 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
1181
1182         * gst/gst.c:
1183         _gst_trace_on is already provided by gsttrace.h, no need to declare
1184         it ourselves.
1185
1186         * docs/libs/gstreamer-libs-sections.txt:
1187         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
1188         and remove strange tcase_add_test which is outputting a warning.
1189
1190         * libs/gst/check/gstcheck.c:
1191         * libs/gst/check/gstcheck.h:
1192         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
1193         and define them in gstcheck.c instead of having every .c file whcih
1194         includes gstcheck.h be defining its own copy and relying on symbol
1195         interposing to marry them all, which doesn't work on Solaris.
1196
1197         * tests/check/elements/identity.c: (GST_START_TEST):
1198         Don't define 'buffers' locally, it comes from libgstcheck.
1199
1200         * tests/check/generic/sinks.c: (send_buffer):
1201         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
1202
1203         * tests/check/gst/gststructure.c: (GST_START_TEST):
1204         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
1205         * tests/check/gst/gstutils.c: (GST_START_TEST):
1206         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1207         Add a bunch of casts to make various constants fit the types
1208         they're being assigned to.
1209
1210 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
1211
1212         * gst/gstchildproxy.c:
1213           Improve docs and add some ideas for making this more general-purpose.
1214
1215 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
1216
1217         * gst/gst_private.h: (GST_CAT_TYPES):
1218           Add GST_CAT_TYPES, for consistency, and so that the other
1219           debug categories don't make fun of it. Spotted by Saur on IRC.
1220
1221 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
1222
1223         * gst/parse/Makefile.am:
1224           Move types.h from EXTRA_DIST to noinst_HEADERS.
1225
1226 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
1227
1228         * autogen.sh:
1229           Add -Wno-portability to the automake parameters to stop warnings
1230           about GNU make extensions being used. We require GNU make in almost
1231           every Makefile anyway.
1232
1233         * configure.ac:
1234           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
1235           at the same time is required for per target flags.
1236
1237 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1238
1239         * gst/gstmacros.h:
1240           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
1241           __GNUC__ is defined before using it.
1242
1243 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1244
1245         * docs/gst/gstreamer-sections.txt:
1246         * gst/gst.c: (init_post):
1247         * gst/gstplugin.c: (_gst_plugin_register_static),
1248           (gst_plugin_register_static), (_gst_plugin_initialize),
1249           (gst_plugin_register_func):
1250         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
1251           API: add gst_plugin_register_static() and deprecate
1252           GST_PLUGIN_DEFINE_STATIC, since it's not portable
1253           (#498924).
1254           Also, in _gst_plugin_register_static(), make sure to call
1255           g_thread_init() before calling GLib functions such as
1256           g_list_append() if we're not initialised yet, since that
1257           may lead to random crashes with older GSlice/GLib versions.
1258
1259         * tests/check/gst/gstplugin.c:
1260           Adapt unit test to above changes.
1261
1262 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1263
1264         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
1265         * gst/gstcaps.c: (gst_caps_to_string):
1266         * gst/gststructure.c: (GST_ASCII_IS_STRING),
1267           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
1268           Yet another gratuitous GString micro-optimisation: add a (private)
1269           function that serialises a structure appending to an existing
1270           GString, so that when we serialise caps we don't need to alloc+free
1271           a throwaway GString for each structure (each of which also entailing
1272           multiple reallocs on the way); also use g_string_sized_new() in
1273           various places with an approximate string length to avoid reallocs
1274           within GString. See #500143.
1275
1276 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1277
1278         * gst/gststructure.c: (gst_structure_id_set_value):
1279           Always check UTF-8 conformance of structure strings and not only
1280           if the debugging system is enabled; reasoning: the behaviour of
1281           the actual code shouldn't really change depending on whether the
1282           debugging system is enabled or not (#508291).
1283
1284 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
1285
1286         * Makefile.am:
1287           Remove old coverage target in favour of "make lcov".
1288
1289 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1290
1291         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1292         (gst_base_src_loop):
1293         The start segment for reverse playback goes from start to last_stop.
1294
1295 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1296
1297         Patch by: Peter Kjellerstedt <pkj axis com>
1298
1299         * gst/gstclock.h:
1300         Cast the results from the timeval/spec_to_time macros to what the
1301         docs say it casts to, a GstClockTime. fixes #508175.
1302
1303 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1304
1305         * gst/gstbuffer.c:
1306         Update some comments.
1307
1308         * tools/gst-inspect.c: (print_element_properties_info):
1309         Improve printing of flags.
1310
1311 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1312
1313         * libs/gst/base/gstbasetransform.c:
1314           (gst_base_transform_transform_size):
1315           Print element name with g_warning() if there's a problem
1316           with the unit size.
1317
1318 2008-01-07  David Schleef  <ds@schleef.org>
1319
1320         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
1321
1322         * libs/gst/controller/gstcontroller.h:
1323         * libs/gst/controller/gstcontrolsource.h:
1324         * libs/gst/controller/gstinterpolationcontrolsource.h:
1325         * libs/gst/controller/gstlfocontrolsource.h:
1326         * libs/gst/dataprotocol/dataprotocol.h:
1327           Fix empty prototypes.  Fixes bug #507957.
1328
1329 2008-01-07  David Schleef  <ds@schleef.org>
1330
1331         * docs/faq/dependencies.xml: Fix typo.
1332
1333 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1334
1335         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
1336         (gst_base_src_loop):
1337         Don't update the last_stop position in do_seek, that's the position we
1338         did a seek to.
1339         Read backwards when we have a negative rate.
1340
1341         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
1342         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
1343         (filesrc_suite):
1344         Add check for reverse reading.
1345
1346 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
1347
1348         Patch by: Alexis Ballier <aballier at gentoo org>
1349
1350         * tests/check/gst/gstabi.c:
1351         * tests/check/gst/struct_ppc64.h:
1352         * tests/check/libs/libsabi.c:
1353         * tests/check/libs/struct_ppc64.h:
1354           Decide which header to include based on the userland ABI target
1355           and not the kernel/cpu. Fix up structure sizes of ppc64 header
1356           for 64-bit userland (#503590).  Might need something similar for
1357           x86 too.
1358
1359 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1360
1361         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
1362           Log the reason why fopen fails in addition to the fact that it failed.
1363           
1364 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
1365
1366         * gst/parse/parse.l:
1367         Use "%option never-interactive" to prevent useless calls to isatty()
1368         on every input when parsing. Also use "%option noinput" to not define
1369         the static input/yyinput functions which we don't use anyway. This
1370         removes a compiler warning with gcc 4.3 and saves some bytes in the
1371         library.
1372         
1373         * gst/parse/lex._gst_parse_yy.pre.c:
1374         Regenerated for the above change.
1375
1376 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1377
1378         * gst/gstpad.c: (fixate_value):
1379         Don't crash when trying to fixate and empty list.
1380         Fixes #506643.
1381
1382 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
1383
1384         * docs/faq/gst-uninstalled:
1385         Clarify the comments to make the usage of this script and what it
1386         does easier to understand.
1387
1388 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
1389
1390         * tools/gst-plot-timeline.py:
1391         Add more options to gst-plot-timeline
1392
1393 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1394
1395         * docs/design/part-synchronisation.txt:
1396         Some more info on how the stream_time in GstBaseSink is done.
1397
1398 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
1399
1400         * tests/check/generic/sinks.c: (gst_sinks_suite):
1401           Put back the tcase_set_timeout(), apparently it's needed after
1402           all; fix it up in a way that makes things work with valgrind too.
1403
1404 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
1405
1406         * gst/gstdebugutils.c:
1407           Add warning when failed to open file for writing.
1408
1409 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
1410
1411         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
1412
1413         * gst/gstvalue.c: (gst_value_is_fixed):
1414           Optimisation: bail out of the loop as early as possible (#500143).
1415
1416 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
1417
1418         * gst/gstcaps.c: (gst_caps_to_string):
1419         * gst/gstinfo.c: (gst_debug_construct_term_color):
1420         * gst/gstparse.c: (gst_parse_launchv):
1421         * gst/gstutils.c: (gst_util_dump_mem):
1422         * gst/gstvalue.c: (gst_value_serialize_any_list),
1423           (gst_value_transform_any_list_string):
1424           Bunch of gratuitous nano-optimisations.
1425
1426 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
1427
1428         * tests/check/generic/sinks.c: (async_done_func),
1429           (async_done_eos_func):
1430           Fix leak in unit test (bus sync handler must unref the message
1431           if it returns GST_BUS_DROP). Don't fiddle with the default test
1432           timeout, this is smaller than the current preconfigured value
1433           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
1434           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
1435
1436 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1437
1438         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
1439
1440         * configure.ac:
1441         Check for stdio_ext.h for the filesink changes.
1442
1443         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
1444         (gst_file_sink_class_init), (gst_file_sink_init),
1445         (gst_file_sink_dispose), (gst_file_sink_set_property),
1446         (gst_file_sink_get_property), (gst_file_sink_open_file),
1447         (gst_file_sink_close_file):
1448         * plugins/elements/gstfilesink.h:
1449         Add two properties to control the buffering mode and size.
1450         API: GstFileSink::buffer-mode
1451         API: GstFileSink::buffer-size
1452         Fixes #500150.
1453
1454 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1455
1456         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
1457         Add some more docs to explain why a FIXME was wrongly added. 
1458
1459 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
1460
1461         * gst/gstobject.c:
1462           Fix typo in the gst_object_{ref,unref} documentation.
1463
1464 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
1465
1466         * tests/check/libs/controller.c:
1467         * tests/check/libs/typefindhelper.c:
1468         * tests/check/pipelines/parse-launch.c:
1469           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
1470           going to be deprecated (see #498924).
1471
1472 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
1473
1474         * gst/gsttypefind.c: (gst_type_find_register):
1475           Make gst_type_find_register work for static typefind functions,
1476           ie. allow passing plugin == NULL (prerequisite for #498924).
1477
1478         * gst/gstelementfactory.c: (gst_element_register):
1479           Small docs addition.
1480
1481 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1482
1483         * gst/gstpad.c: (gst_pad_dispose):
1484         Really unlink the peer pad instead of setting the peer pointer to NULL
1485         when we dispose the pad.
1486         This correctly calls the unlink functions and makes sure that the peer
1487         does not have a handle to invalid memory. See #504671.
1488
1489         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1490         Add testsuite for above case.
1491
1492 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
1493
1494         Patch by: Peter Kjellerstedt <pkj axis com>
1495
1496         * libs/gst/check/gstcheck.h:
1497           Fix detection of the check version we're compiling against (would
1498           otherwise break if check goes v0.10.0); correctly report the
1499           name of the failed test again in case of failure, instead of
1500           just 'tf' (fixes #504499).
1501
1502 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1503
1504         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
1505         (gst_base_src_get_range), (gst_base_src_pad_get_range),
1506         (gst_base_src_loop), (gst_base_src_set_flushing),
1507         (gst_base_src_change_state):
1508         Allow sending EOS to the source to make it send out an EOS event from
1509         the streaming thread.
1510         Update docs and deprecate the old NULL/READY shutdown method.
1511
1512         * tests/check/libs/basesrc.c: (GST_START_TEST),
1513         (gst_basesrc_suite):
1514         Add unit test for controlled shutdown.
1515
1516 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1517
1518         * docs/design/part-synchronisation.txt:
1519         Small updates.
1520
1521         * gst/gstsegment.c: (gst_segment_set_seek),
1522         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
1523         (gst_segment_to_running_time):
1524         The seek format can be different from the segment format when the start
1525         and stop values are not to be updated, when we only do a rate change for
1526         example.
1527
1528         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1529         (gst_segment_suite):
1530         Add a testcase for the rate-only seeks, checking that the format is
1531         correctly ignored when start and stop are not updated.
1532
1533 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
1534
1535         Patch by: Matthias Bolte <photon at mail dot upb dot de>
1536
1537         * win32/vs8/grammar.vcproj:
1538         * win32/vs8/libgstcontroller.vcproj:
1539         * win32/vs8/libgstreamer.vcproj:
1540         Fix compilation with VS8 and include some missing files.
1541
1542 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
1543
1544         * gst/gsttaglist.c:
1545           Small docs addition: mention that the strings returned by
1546           gst_tag_list_get_string*() are in UTF-8 encoding.
1547
1548 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
1549
1550         * Makefile.am:
1551           The check-exports stuff moved to common/win32.mak, so include that.
1552
1553 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
1554
1555         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
1556         (gst_base_src_perform_seek), (gst_base_src_get_range),
1557         (gst_base_src_set_playing), (gst_base_src_change_state):
1558         Make _wait_playing() not check any variables so that we can call this
1559         function from subclasses. Move the checks elsewhere similar to
1560         _wait_preroll() in basesink.
1561         Add some debugging.
1562         Only signal the LIVE cond when we are going back to PLAYING.
1563
1564 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1565
1566         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
1567           Use g_remove() and g_rename(). Check result of g_rename(), and
1568           don't leak the open file descriptor if we error out when writing.
1569
1570         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
1571           Must check the return value of close() after writing out the new
1572           registry file.  Sometimes write problems such as out-of-diskspace
1573           are only reported when the file is closed and not already during
1574           the write.  This may have caused partial/broken registry files in
1575           some rare circumstances. Should fix #503675.
1576
1577 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
1578
1579         * docs/gst/.cvsignore:
1580         * docs/libs/.cvsignore:
1581         * docs/plugins/.cvsignore:
1582         Ignore files generated by new common/* modifications
1583
1584 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1585
1586         * win32/common/libgstbase.def:
1587           Yes, you can also have a <TAB> if you want.
1588
1589 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1590
1591         * win32/common/libgstbase.def:
1592           Add new basetransform API to win export file.
1593
1594 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1595
1596         * tests/check/gst/gstbin.c:
1597           Adjust the test to the refcount change two days ago.
1598
1599 2007-12-14  David Schleef  <ds@schleef.org>
1600
1601         * docs/faq/getting.xml: Fix typo.
1602
1603 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
1604
1605         * docs/libs/gstreamer-libs-sections.txt:
1606         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
1607           (gst_base_transform_prepare_output_buffer),
1608           (gst_base_transform_set_gap_aware):
1609         * libs/gst/base/gstbasetransform.h:
1610           API: Add gst_base_transform_set_gap_aware() to control whether
1611           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
1612           get buffers with this flag at all. Fixes #503231.
1613
1614 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
1615
1616         * libs/gst/base/gstbasesink.c:
1617         * libs/gst/base/gstbasesrc.c:
1618         * libs/gst/base/gstbasetransform.c:
1619           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
1620           thread. Correct log message in gstbasesrc.c.
1621
1622 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1623
1624         * gst/gstutils.c: (element_find_unconnected_pad):
1625           Fix possible compiler warning (#503417).
1626
1627 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1628
1629         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
1630           Don't use GST_CAT_EVENT here for logging, it makes no sense.
1631
1632 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
1633
1634         * tools/gst-inspect.c: (print_element_properties_info):
1635           Add support for GstFraction properties.
1636
1637 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1638
1639         * Makefile.am:
1640           Add check-exports target and run it as part of 'make check'
1641           (see #499140 and #493983).
1642
1643         * gst/gst_private.h:
1644         * gst/gstelementfactory.h:
1645         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
1646         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
1647           (_priv_gst_in_valgrind):
1648         * gst/gstinfo.h: (GstLogFunction):
1649         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
1650           (gst_type_find_register):
1651         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
1652           (gst_type_find_factory_get_type):
1653         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
1654           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
1655           (gst_controller_new_valist), (gst_controller_new_list),
1656           (_gst_controller_dispose), (_gst_controller_class_init):
1657         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
1658         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
1659           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
1660           (gst_object_get_controller), (gst_object_set_controller),
1661           (gst_object_suggest_next_sync), (gst_object_sync_values),
1662           (gst_object_set_control_source), (gst_object_get_control_source),
1663           (gst_object_get_value_arrays), (gst_object_get_value_array),
1664           (gst_object_get_control_rate), (gst_object_set_control_rate):
1665         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
1666         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
1667           Make some functions that should be static static; rename some
1668           private symbols so that they don't get exported; add some FIXME
1669           comments so we can move accidentally exported functions into
1670           our private section in 0.11.
1671
1672         * win32/common/libgstreamer.def:
1673           Add gst_utils_get_timestamp().
1674
1675 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
1676
1677         * gst/gstvalue.c:
1678         * gst/gstvalue.h:
1679           Add more missing "Since:" tags to docs.
1680
1681 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
1682
1683         * gst/gstutils.c:
1684           Add mising "Since:" to docs.
1685
1686 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1687
1688         * gst/gstplugin.c:
1689           Include "glib-compat-private.h" to fix the build on system with
1690           glib < 2.10. Fixes #503131.
1691
1692 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1693
1694         * gst/gstutils.c:
1695         * gst/gstutils.h:
1696           Actually its not PURE as it gets the time from elsewhere.
1697
1698 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1699
1700         * docs/gst/gstreamer-sections.txt:
1701         * gst/gstclock.h:
1702         * gst/gstdebugutils.c:
1703         * gst/gstinfo.c:
1704         * gst/gstutils.c:
1705         * gst/gstutils.h:
1706         * libs/gst/base/gstbasesink.c:
1707         * tools/gst-launch.c:
1708           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
1709           uses as we don't have HAVE_POSIX_TIMERS in public headers.
1710           Thanks Tim for spotting.
1711           API: gst_util_get_timestamp
1712
1713 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
1714
1715         * configure.ac:
1716           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
1717
1718 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
1719
1720         * gst/gststructure.c: (gst_structure_validate_name),
1721           (gst_structure_new_valist), (gst_structure_parse_value),
1722           (gst_structure_from_string):
1723           Don't crash in _from_string() if the structure name is not valid
1724           (fixes #501560).  Allow structure names to start with a number
1725           again (this apparently broke the ubuntu codec installer).
1726
1727         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
1728           (GST_START_TEST):
1729           Add unit test for the crash; update unit tests for new behaviour.
1730
1731 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
1732
1733         * gst/gstutils.c:
1734         Clarify gst_element_get_compatible_pad() documentation.
1735         Fixes #500919.
1736
1737 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
1738
1739         * tests/check/Makefile.am:
1740           Don't forget to dist {gst,libs}/struct_hppa.h.
1741
1742 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1743
1744         * libs/gst/base/gstbasesink.c:
1745           Use new API to get elapsed time.
1746
1747 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1748
1749         * gst/gstdebugutils.c:
1750         * gst/gstinfo.c:
1751           Fix wrong order of args in GST_CLOCK_DIFF() usage.
1752
1753         * tools/gst-launch.c:
1754           Use new API to get elapsed time.
1755
1756 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1757
1758         * docs/gst/gstreamer-sections.txt:
1759         * gst/gstclock.h:
1760         * gst/gstdebugutils.c:
1761         * gst/gstinfo.c:
1762           Rename new API + ChangeLog surgery to remove old name from last entry..
1763
1764 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1765
1766         * docs/gst/gstreamer-sections.txt:
1767         * gst/gstclock.h:
1768         * gst/gstdebugutils.c:
1769         * gst/gstinfo.c:
1770           Now hide the different clock stuff behind a macro.
1771
1772 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1773
1774         * configure.ac:
1775         * gst/gstdebugutils.c:
1776         * gst/gstinfo.c:
1777           Apply the posix-timer check from #361155. Conditionally use the posix
1778           timer for logging. This gives better timestamp precission, less
1779           overhead and no ntp jitter.
1780
1781 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
1782
1783         * gst/gstminiobject.c: (gst_mini_object_get_type),
1784         (gst_mini_object_class_init), (gst_mini_object_copy_default),
1785         (gst_mini_object_finalize), (gst_mini_object_copy),
1786         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
1787         (gst_mini_object_replace), (param_mini_object_validate),
1788         (gst_param_spec_mini_object_get_type):
1789         Some cleanup and checking against invalid function parameters.
1790
1791 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
1792
1793         * docs/gst/gstreamer-sections.txt:
1794         * gst/gstclock.h:
1795         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
1796         (gst_systemclock_suite):
1797         Start merging in the easy bits of #361155, the monotonic clock patch.
1798         This one adds a few handy macros with docs and a testsuite.
1799
1800 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
1801
1802         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
1803         Be a bit smarter when seeking, like, don't try to do a seek when it's
1804         not needed. This avoids errors when the file is not seekable.
1805         Fixes #499771.
1806
1807 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
1808
1809         * docs/gst/gstreamer-docs.sgml:
1810         * docs/gst/gstreamer-sections.txt:
1811         * docs/gst/gstreamer.types.in:
1812         * gst/Makefile.am:
1813         * gst/gst.h:
1814         * gst/gstpreset.c:
1815         * gst/gstpreset.h:
1816         * plugins/elements/gstqueue.c:
1817           Due to popular request remove preset interface again. :-(.
1818
1819 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
1820
1821         * tools/gst-inspect.c:
1822           Print 'default value' for enums and flags too.
1823
1824 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
1825
1826         * docs/random/ensonic/profiling.txt:
1827           More ideas.
1828
1829         * gst/gstbin.c:
1830           Fix typo and give better log output.
1831
1832         * gst/gstdebugutils.c:
1833         * gst/gstdebugutils.h:
1834           More ideas, make graphs a bit smaller and fix param name in macro.
1835
1836 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
1837
1838         * gst/gstpreset.c:
1839           Try harder to use the return value from fgets().
1840
1841 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
1842
1843         * gst/gstpreset.c:
1844           For theses two fgets we handle the error below.
1845
1846 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
1847
1848         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
1849         Only send upstream events upstream. Fixes #498746.
1850
1851 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
1852
1853         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
1854
1855         * plugins/elements/gstidentity.c: (gst_identity_class_init),
1856         (gst_identity_init), (gst_identity_transform_ip),
1857         (gst_identity_set_property), (gst_identity_get_property):
1858         * plugins/elements/gstidentity.h:
1859         Add property to disable handoff signal emission. Fixes #498694.
1860         API: GstIdentity::signal-handoffs
1861
1862 2007-11-21  Julien Moutte  <julien@fluendo.com>
1863
1864         * docs/faq/gst-uninstalled: Yet another missing library for the
1865         uninstalled script (fft)
1866
1867 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
1868
1869         * docs/faq/developing.xml:
1870         Add a question about how to submit new translations.
1871
1872         * docs/random/release:
1873         Update the contact email address for the Translation Project
1874
1875         * plugins/elements/gstfdsrc.c:
1876         The parent_class for fdsrc is pushsrc, not GstElement.
1877
1878 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
1879
1880         * gst/gstpreset.c:
1881           Plug a leak and fix saving.
1882
1883 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
1884
1885         * docs/gst/gstreamer-sections.txt:
1886         Add new gst_preset__get_property_names() function to the docs
1887         to fix the build.
1888
1889 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
1890
1891         * gst/gstpreset.c:
1892         * gst/gstpreset.h:
1893           Change _get_preset_names API to return a strv with copies. Add
1894           _get_property_names to allow implementations to filter and provide
1895           good default implementation.
1896
1897 2007-11-20  Julien MOUTTE  <julien@moutte.net>
1898
1899         * docs/faq/gst-uninstalled: Add another library to the uninstalled
1900         script (sdp).
1901
1902 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
1903
1904         * gst/gstpreset.c:
1905           More cleanups, docs, and TODOs from comments that now slowly come in.
1906
1907 2007-11-19  Julien MOUTTE  <julien@moutte.net>
1908
1909         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
1910         search path.
1911
1912 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
1913
1914         * gst/gstpreset.c:
1915           Fix bogus warning and make the property type specific code more
1916           similar.
1917
1918 2007-11-19  Julien MOUTTE  <julien@moutte.net>
1919
1920         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
1921         it build on OS X.
1922
1923 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
1924
1925         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
1926         (gst_bin_add_func), (gst_bin_remove_func),
1927         (gst_bin_change_state_func), (gst_bin_continue_func):
1928         Change email, cleanups add some more debug and comments.
1929         Also set bus and clock on new elements when the pipeline was in error.
1930
1931 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
1932
1933         * gst/gstbin.c:
1934         * gst/gstdebugutils.c:
1935           Fix build with --disable-gst-debug. Fixes #497859.
1936           Spotted by Sameer Naik.
1937
1938 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
1939
1940         * gst/gstevent.c:
1941           Little documentation improvment.
1942
1943         * gst/gstpreset.c:
1944           More TODO cleanups. Remove c++ comments.
1945
1946         * libs/gst/controller/gstcontroller.c:
1947           Add TODO and use quark from static string.
1948
1949         * tests/check/gst/gstmessage.c:
1950         * tests/check/gst/gststructure.c:
1951           Use quark from static string.
1952
1953 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
1954
1955         * gst/gstpreset.c:
1956           Add some comments and TODOs.
1957
1958         * gst/gstpreset.h:
1959           Add padding for future changes.
1960
1961         * plugins/elements/gstqueue.c:
1962           Implement the iface.    
1963
1964 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
1965
1966         * docs/gst/gstreamer-docs.sgml:
1967         * docs/gst/gstreamer-sections.txt:
1968         * docs/gst/gstreamer.types.in:
1969         * gst/Makefile.am:
1970         * gst/gst.h:
1971         * gst/gstpreset.c:
1972         * gst/gstpreset.h:
1973           Add the preset interface (Fixes #396779). Do some doc cleanups along.
1974
1975 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
1976
1977         * configure.ac:
1978
1979         Back to CVS
1980
1981 === release 0.10.15 ===
1982
1983 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
1984
1985         * configure.ac:
1986           releasing 0.10.15, "October"
1987
1988 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
1989
1990         * win32/vs6/libgstreamer.dsp:
1991         Convert line endings back to DOS.
1992
1993 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
1994
1995         * docs/design/draft-tagreading.txt:
1996         * docs/random/ensonic/profiling.txt:
1997         Update fast tagreading draft and performance profiling ideas.
1998
1999 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
2000
2001         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
2002         Don't hold the object lock when unreffing a buffer because it could
2003         cause a deadlock when the finalize function wants to grab the object
2004         lock too. Fixes #495133.
2005
2006 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
2007
2008         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
2009         (gst_segment_to_stream_time), (gst_segment_to_running_time):
2010         Also accumulate time correctly when doing reverse playback. Fixes
2011         #488201,
2012         When converting to running and stream time, use default values for
2013         start/stop/time/accum when comparing different formats. Fixes #494245.
2014
2015         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2016         Do running/stream time in TIME format.
2017
2018         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2019         (gst_segment_suite):
2020         2 new unit tests for segment accumulation.
2021
2022 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2023
2024         * gst/gst.c: (init_pre):
2025         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
2026           (_gst_debug_bin_to_dot_file):
2027           Move getenv() back into gst_init, so everyone can live happily
2028           ever after. Make sure the symbol isn't exported though.
2029
2030 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2031
2032         Patch by: Sebastien Moutte  <sebastien moutte net>
2033
2034         * win32/common/gstenumtypes.c:
2035         * win32/common/gstenumtypes.h:
2036           Update enum types.
2037
2038         * win32/vs6/libgstreamer.dsp:
2039           Update vs6 project files (#494343).
2040
2041 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
2042
2043         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
2044         (gst_base_src_perform_seek), (gst_base_src_default_event),
2045         (gst_base_src_set_flushing), (gst_base_src_activate_push),
2046         (gst_base_src_activate_pull):
2047         Unify flushing code, remove some old unlock code that is no longer used.
2048         Take the streaming lock when seeking to avoid races. Fixes #492729.
2049         Added some more comments.
2050
2051 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2052
2053         * gst/gst.c: (_gst_disable_segtrap):
2054           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
2055           we can use gst_segtrap_is_enabled() there now that we have that API.
2056           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
2057           to do the getenv here (and export the variable).
2058
2059         * gst/gstdebugutils.c: (debug_dump_element),
2060           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
2061           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
2062
2063         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
2064           (gst_debug_log_default):
2065           Rename _gst_info_start_time to priv_gst_info_start_time so it
2066           doesn't get exported (was never in any header).
2067
2068         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
2069           (gst_plugin_loading_mutex):
2070           Make static mutex gst_plugin_loading_mutex really static (was never
2071           in any header), and use gst_segtrap_is_enabled() instead of
2072           _gst_disable_segtrap.
2073
2074         * gst/gsttrace.c: (_gst_trace_default):
2075           Make local _gst_trace_default static (was never in any header).
2076
2077 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2078
2079         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
2080
2081         * win32/common/libgstbase.def:
2082         * win32/common/libgstcontroller.def:
2083         * win32/common/libgstdataprotocol.def:
2084         * win32/common/libgstnet.def:
2085         * win32/common/libgstreamer.def:
2086           Add more missing symbols, remove some duplicates, and sort
2087           as the 'sort' command sorts it (partially fixes #493983).
2088
2089 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
2090
2091         * gst/gstelement.c: (gst_element_set_state_func):
2092         Only change the state cookie if a different state was set on the
2093         element. See #492729.
2094
2095 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2096
2097         * gst/gstvalue.c:
2098           Remove unused and uninitialised type variables that were still
2099           exported for some reason (they were never in any header files
2100           though).
2101
2102 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
2103
2104         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2105         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
2106         (gst_base_sink_event), (gst_base_sink_get_position_last),
2107         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2108         (gst_base_sink_change_state):
2109         Don't try to report a 0 position when we don't know, return -1 and FALSE
2110         instead. This mostly happens when we are prerolling.
2111         Make sure we can report the right position before we post the ASYNC_DONE
2112         message so that a message handler can query position without races.
2113
2114         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
2115         (async_done_handoff), (async_done_func), (send_buffer),
2116         (async_done_eos_func), (gst_sinks_suite):
2117         Add two tests for the above.
2118
2119 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
2120
2121         * MAINTAINERS:
2122         Update with new email address.
2123
2124         * docs/design/part-TODO.txt:
2125         Add some more info about future pad-block and negotiation changes.
2126
2127         * docs/design/part-buffering.txt:
2128         Add some ideas about buffering reporting.
2129
2130 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
2131
2132         * tests/check/gst/gstobject.c:
2133         Disable silly racy test that always fails on this combination of CPU
2134         and kernel.
2135
2136 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2137
2138         Patch by: Murray Cumming  <murrayc@murrayc.com>
2139
2140         * gst/gstobject.c:
2141           Corrected the registration of the parent-set and parent-unset
2142           signals: The parameter is a GstObject, not a GObject (#493134).
2143
2144 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2145
2146         * gst/gst_private.h:
2147         * gst/gstbuffer.h:
2148         * gst/gstevent.h:
2149         * gst/gstformat.h:
2150         * gst/gstmessage.h:
2151         * gst/gstplugin.h:
2152         * gst/gstquery.h:
2153         * gst/gsttaglist.h:
2154         * gst/gstvalue.h:
2155           Move declaration of private _gst_foo_initialize() functions into
2156           our private header file where they should have been all along.
2157
2158 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2159
2160         * docs/plugins/gstreamer-plugins-sections.txt:
2161         * gst/gstdebugutils.h:
2162         * gst/gstxml.h:
2163         * plugins/elements/gstqueue.c:
2164           gtk-doc fixes; trailing-comma-in-enum fix.
2165
2166 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2167
2168         * gst/gst.c: (gst_deinit):
2169           Clean up on deinit (not the external ones though, doesn't seem to be
2170           needed for some reason).
2171
2172 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
2173
2174         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
2175           Remove __declspec(dllimport) for MSVC that was copied over into core
2176           from a plugin, obviously without ever having been tested (note the
2177           single underscore in _declspec in the initial commit), and that doesn't
2178           really make sense.  See #492077.
2179
2180 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
2181
2182         * gst/gst.c: (init_post):
2183         * gst/gstevent.c: (_gst_event_initialize):
2184         * gst/gstquery.c: (_gst_query_initialize):
2185         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
2186           g_type_class_ref() other types as well, see #349410 and #64764.
2187
2188         * gst/gstbuffer.c: (_gst_buffer_initialize):
2189         * gst/gstmessage.c: (_gst_message_initialize):
2190           Simplify existing g_type_class_ref().
2191
2192 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
2193
2194         * gst/gstformat.c: (_gst_format_initialize):
2195           g_type_class_ref() our GstFormat type to make sure we avoid the
2196           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
2197           bug #64764. Should fix intermittent tee unit test failures (#474823).
2198
2199 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
2200
2201         * tests/check/elements/tee.c: (test_num_buffers):
2202           Simplify, simplify, simplify - or not.  Rewrite unit test
2203           not to use gst_parse_launch(); allow N sub-streams. Increasing
2204           the number of sub-streams seems to reproduce #474823 more easily.
2205
2206 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
2207
2208         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
2209
2210         * gst/gsttrace.c:
2211         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
2212         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2213         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
2214           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
2215           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
2216           so use _pipe() directly (#492077).
2217
2218         * win32/common/dirent.c: (_treaddir):
2219           Add a couple of casts to make it build without warnings with MSVC.
2220
2221         * win32/common/libgstreamer.def:
2222           Add some more symbols that need to be exported.
2223
2224 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
2225
2226         * tests/examples/metadata/read-metadata.c: (message_loop):
2227           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
2228           arriving in a second or third tag message are added to
2229           the tag list as well.
2230
2231 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
2232
2233         * libs/gst/base/gstbasesrc.c:
2234           Its "Since:" and not "@Since:". And remove an superflous cast.
2235
2236 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
2237
2238         * docs/libs/gstreamer-libs-sections.txt:
2239         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2240         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
2241         (gst_base_sink_get_property), (gst_base_sink_render_object),
2242         (gst_base_sink_preroll_object),
2243         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
2244         (gst_base_sink_change_state):
2245         * libs/gst/base/gstbasesink.h:
2246         Add a new last-buffer property that contains the last buffer used in
2247         basesink for preroll or rendering. useful for making snapshots.
2248         API: gst_base_sink_get_last_buffer()
2249         API: GstBaseSink::last-buffer
2250
2251 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
2252
2253         * docs/gst/running.xml:
2254         * gst/gst.c:
2255         * gst/gstdebugutils.c:
2256         * gst/gstdebugutils.h:
2257         * tools/gst-launch.c:
2258           Improve bin graph dumping, by using the envvar to specify a path.
2259           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
2260
2261 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
2262
2263         * plugins/elements/gsttypefindelement.c:
2264           (gst_type_find_element_handle_event),
2265           (gst_type_find_element_activate):
2266           Post special error message if we can't determine the type of a stream
2267           because it's empty.
2268
2269 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
2270
2271         * docs/gst/running.xml:
2272         * gst/gstdebugutils.c:
2273           Document new env-var. Add one log-line after dumpng a graph.
2274
2275 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2276
2277         * configure.ac:
2278           Ugly hack to put the (recently removed and non-portable, apparently)
2279           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
2280           GNU ld, because without that 'make check' fails miserably on my debian
2281           stable box.  Someone with more knowledge of linker intricacies and
2282           portability issues than me fix this properly please.
2283
2284 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
2285
2286         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
2287         Reset last seen position after flushing so that we don't report the old
2288         position anymore.
2289
2290 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
2291
2292         * gst/gstelementfactory.c: (gst_element_register):
2293         * gst/gsturi.h:
2294         Patch from Alessandro Decina adding get_type_full and
2295         get_protocols_full private vfuncs to the URIHandler interface
2296         to allow bindings to support creating URI handlers. 
2297         Partially fixes: #339279
2298         API: GstURIHandlerInterface::get_type_full
2299         API: GstURIHandlerInterface::get_protocols_full
2300
2301 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
2302
2303         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
2304         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
2305         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
2306         Make it so that pads are considered linked until a buffer is pushed
2307         and discovered otherwise. This avoids problems with decodebin2 hanging
2308         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
2309         case.
2310
2311         Make sure we lock the multiqueue when updating the max-size properties.
2312         
2313         Fix a crash on Solaris in a debug statement in get_request_pad that
2314         passes a NULL string to GST_DEBUG. 
2315
2316         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
2317         (run_output_order_test):
2318         Fix the test to allow the first buffer on not-linked pads to come out
2319         of sequence while multiqueue discovers that they are not-linked.
2320
2321 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
2322
2323         * configure.ac:
2324         * libs/gst/check/Makefile.am:
2325         Use a custom export symbol regex for libgstcheck, as it needs
2326         to export symbols that don't match the standard GStreamer gst_*
2327         pattern, and  --export-dynamic is not portable (only works on 
2328         GNU ld)
2329
2330         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2331         (gst_check_setup_sink_pad):
2332         Make sure to pass a message parameter to the fail_* macros.
2333
2334         * tests/check/gst/gstinfo.c: (GST_START_TEST):
2335         Fix some compiler warnings.
2336
2337 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
2338
2339         * tests/check/gst/gststructure.c: (test_to_string):
2340           Disable test that checks that white spaces are not allowed
2341           in structure names or field names, since we need to
2342           support that for now for backwards compatibility reasons.
2343
2344 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
2345
2346         * docs/gst/gstreamer-sections.txt:
2347         * gst/gsttaglist.c:
2348         * gst/gsttaglist.h:
2349           API: add GST_TAG_ARTIST_SORTNAME
2350           API: add GST_TAG_ALBUM_SORTNAME
2351           API: add GST_TAG_TITLE_SORTNAME
2352           Add tag variants for sorting (#414539).
2353
2354 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
2355
2356         * gst/gststructure.c:
2357           Also allow white space for names so we don't break
2358           backwards compatibility.
2359
2360 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
2361
2362         * docs/design/part-TODO.txt:
2363         * docs/design/part-segments.txt:
2364         * docs/design/part-streams.txt:
2365         Small updates.
2366
2367 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
2368
2369         * docs/gst/gstreamer-sections.txt:
2370          Fixed documentation from my previous commit (added new API add
2371          gst_value_set_structure(), add gst_value_get_structure() and
2372          GST_VALUE_HOLDS_STRUCTURE).
2373
2374 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
2375
2376         * gst/gstdebugutils.c:
2377           Reflow code to fix uninitialized variable warning.
2378
2379 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
2380
2381         * gst/gstcaps.c: (gst_caps_to_string),
2382         (gst_caps_from_string_inplace):
2383         * gst/gststructure.c: (gst_structure_get_abbrs),
2384         (gst_structure_to_string), (gst_structure_from_string):
2385         * gst/gstvalue.c: (gst_value_set_structure),
2386         (gst_value_get_structure), (gst_value_serialize_structure),
2387         (gst_value_deserialize_structure), (_gst_value_initialize):
2388         * gst/gstvalue.h:
2389         * tests/check/gst/gststructure.c: (GST_START_TEST),
2390         (gst_structure_suite):
2391         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2392          Added GstStructure to gst_value_table and its related functions.
2393          Changed gst_structure_to_string to print ';' in the end.
2394          Changed gst_caps_to_string to not print ';' beteween its
2395          fields (structures) anymore and remove the lastes ';' from latest
2396          structure. Now it is possible to have nested structures.
2397          In addition, backward compatibilty is assured by accepting '\0' as
2398          end delimiter. Fixes: #487969.
2399          API: add gst_value_set_structure()
2400          API: add gst_value_get_structure()
2401          API: add GST_VALUE_HOLDS_STRUCTURE
2402
2403 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
2404
2405         * gst/gstbus.c:
2406           When no GSource callback has been set up, tell developer
2407           to use a function that actually exists.
2408
2409 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
2410
2411         * docs/gst/gstreamer-sections.txt:
2412         * gst/Makefile.am:
2413         * gst/gst.c:
2414         * gst/gst.h:
2415         * gst/gstdebugutils.c:
2416         * gst/gstdebugutils.h:
2417         * gst/gstinfo.c:
2418         * gst/gstinfo.h:
2419         * tools/gst-launch.c:
2420           Allow dumping pipelines as dot graphs. Fixes #456573.
2421
2422 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2423
2424         * gst/gststructure.c:
2425           Allow '+' as well, it can be part of media or mime types
2426           such as image/svg+xml.
2427
2428 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2429
2430         * docs/gst/gstreamer-sections.txt:
2431         * gst/gstbus.c:
2432         * gst/gstbus.h:
2433           API: add gst_bus_pop_filtered
2434           API: add gst_bus_timed_pop_filtered
2435           Two new functions for waiting for specific message types on the
2436           bus for a specified amount of time without iterating any main
2437           loops or main contexts.
2438
2439         * tests/check/gst/gstbus.c:
2440           Some tests for the new functions.
2441
2442 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2443
2444         * docs/libs/gstreamer-libs-sections.txt:
2445           Make gtk-doc ignore stuff it should ignore.
2446
2447 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2448
2449         * libs/gst/check/gstcheck.c:
2450         * libs/gst/check/gstcheck.h:
2451           Allow runtime selection of unit tests to run via the GST_CHECKS
2452           environment variable (test case function names, comma-separated).
2453
2454 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
2455
2456         * gst/gststructure.c:
2457         * tests/check/gst/gststructure.c:
2458           Revert serialisation change and constrain structure-names after
2459           consensus on irc. Update api documentation to reflect the change.
2460
2461 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
2462
2463         * gst/gststructure.c:
2464           Improve serialization and fix tests.
2465
2466         * tests/check/gst/gststructure.c:
2467           Add another test that covers why I actually did the previous structure
2468           change.
2469
2470 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
2471
2472         * tools/gst-inspect.c: (print_element_info):
2473         Don't crash when inspecting an element.
2474
2475 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2476
2477         * tests/check/gst/gststructure.c:
2478           Add unit test for escaping of structure name when serialising
2479           and deserialising to/from strings.
2480
2481 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
2482
2483         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2484         (gst_single_queue_new):
2485         * plugins/elements/gstqueue.c: (gst_queue_init),
2486         (gst_queue_push_one):
2487         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
2488         upstream is tricked into thinking it can suggest a format downstream
2489         while downstream does not support that format. The real problem is that
2490         core calls acceptcaps when pushing a buffer with new caps, for which we
2491         do a little workaround by setting the caps on the srcpad ourselves
2492         before pushing the buffer (until this is figured out). Fixes #486758.
2493
2494 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2495
2496         * gst/gststructure.c:
2497         * gst/gstvalue.c:
2498           Add some more comments and debug output. Quote structure name to fix
2499           deserialisation of some strings.
2500
2501 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2502
2503         * gst/gstbuffer.h:
2504           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
2505           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
2506
2507 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2508
2509         * tools/gst-inspect.c:
2510           Save approx. 400 1 byte allocs when printing. Use API to acces element
2511           details.
2512
2513         * tools/gst-run.c:
2514           Avoid a strdup.
2515
2516         * tools/gst-xmlinspect.c:
2517           Use API to acces element details.
2518
2519 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2520
2521         * gst/gstinfo.c:
2522           Fix some spelling errors.
2523
2524 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
2525
2526         * gst/gstbin.c: (bin_handle_async_done):
2527         Correctly set the next state if all of our async children commited their
2528         state. This makes sure we can actually cancel the state change in
2529         progress. Fixes a regression in Rhythmbox when seeking.
2530
2531 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2532
2533         * gst/gstbin.c:
2534           Don't shadow local variable.
2535
2536         * gst/gstinfo.c:
2537           Don't shadow global function name.
2538
2539 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2540
2541         * gst/gstelementfactory.c:
2542         * gst/gstpluginfeature.c:
2543         * gst/gstpluginfeature.h:
2544         * gst/gstregistrybinary.c:
2545         * gst/gstregistryxml.c:
2546         * gst/gsttypefind.c:
2547           Use already-interned string for the private GstPluginFeature
2548           plugin_name field.
2549
2550 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2551
2552         * docs/libs/gstreamer-libs-sections.txt:
2553           Add new API to docs; fixes the build.
2554
2555 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
2556         
2557         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
2558
2559         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
2560         (gst_base_sink_event):
2561         * libs/gst/base/gstbasesink.h:
2562         Add function to wait for EOS, subclasses can use this to correctly wait
2563         for devices to drain before performing the EOS logic. Fixes #485343.
2564         API: gst_base_sink_wait_eos()
2565
2566 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2567
2568         * gst/gstplugin.h:
2569           Cast description string constants in GST_PLUGIN_DEFINE macros
2570           to a (gchar*) to make C++ code using these macros compile
2571           without warning with g++-4.2 (see #462737).  Even if slightly
2572           ugly, this seems preferable to putting the description strings
2573           into the GLib quark table or making the structure member a
2574           const gchar * and doing casts in core code that allocs and
2575           frees these strings, or requiring a cast in the C++ code.
2576
2577 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2578
2579         * gst/gstinfo.h:
2580           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
2581           to print the entire class/function signature into the log
2582           file for C++ code.  This only affects C++ code, for C code
2583           everything remains the same.
2584
2585 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
2586
2587         * gst/gstbin.c: (remove_from_queue):
2588         Work around a problem with pipelines containing (semi)loops until a
2589         proper, more complicated solution is ready. See #475455.
2590
2591 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2592
2593         * gst/gstplugin.c:
2594         * gst/gstplugin.h:
2595         * gst/gstregistrybinary.c:
2596         * gst/gstregistryxml.c:
2597           Put more strings into the GLib quark table. No need to keep
2598           a hundred-something copies of identical version strings,
2599           license strings, package name strings and package origin
2600           strings around. 
2601
2602 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2603
2604         * docs/manual/advanced-dataaccess.xml:
2605           Don't imply that it's okay to unconditionally change
2606           buffer data or buffer metadata in a pad probe callback,
2607           and a bunch of other comments. Fixes #430031.
2608
2609 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2610
2611         * win32/common/gstenumtypes.c:
2612         * win32/common/gstenumtypes.h:
2613         * win32/common/gstversion.h:
2614           Update generated files.
2615
2616 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2617
2618         * docs/manual/advanced-autoplugging.xml:
2619           Prefix section with broken code with a warning (see #342432).
2620
2621 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2622
2623         * docs/manual/appendix-integration.xml:
2624         * docs/manual/basics-init.xml:
2625           Call g_thread_init() before g_option_context_new() to
2626           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
2627
2628 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2629
2630         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2631         (gst_base_sink_queue_object_unlocked),
2632         (gst_base_sink_queue_object), (gst_base_sink_event),
2633         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
2634         When we received EOS and are waiting for when to post the EOS message,
2635         our state is prerolled and we should not return ASYNC.
2636         Reorganize some code paths to implement this behavior.
2637
2638         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
2639         (gst_sinks_suite):
2640         Add unit test to verify above EOS fix.
2641
2642 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2643
2644         * plugins/elements/gsttypefindelement.c:
2645         (gst_type_find_element_have_type), (gst_type_find_element_init),
2646         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
2647         Move detecting the input caps of the sinkpad to the setcaps function.
2648         This allows us to update the output caps when we receive new input caps
2649         instead of always using the first detected caps.
2650
2651 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2652
2653         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2654         (gst_base_sink_get_position):
2655         Don't try to preroll non-async elements after a flush.
2656         Subtract latency form clock times when reporting position.
2657
2658 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2659
2660         * gst/gstpad.c: (gst_pad_pause_task):
2661         * gst/gstutils.c:
2662         Small comment and documentation update.
2663
2664 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2665
2666         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2667         (gst_base_src_set_live), (gst_base_src_is_live),
2668         (gst_base_src_query_latency), (gst_base_src_perform_seek),
2669         (gst_base_src_default_event), (gst_base_src_wait),
2670         (gst_base_src_do_sync), (gst_base_src_get_range),
2671         (gst_base_src_pad_get_range), (gst_base_src_loop),
2672         (gst_base_src_unlock), (gst_base_src_unlock_stop),
2673         (gst_base_src_set_flushing), (gst_base_src_set_playing),
2674         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2675         (gst_base_src_change_state):
2676         Rework the locking of basesrc in a similar fashion to basesink. We
2677         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
2678         us to handle live sources and semi live ones much better.
2679         Simplify flushing.
2680         Fix unlocking when seeking, shutting down and pausing in live sources.
2681
2682 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2683
2684         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
2685         Fix compilation again.
2686
2687 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2688
2689         * gst/gstelement.c:
2690           Use meaningful categories for the logs to clean the default one.
2691
2692 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2693
2694         * tests/check/pipelines/cleanup.c:
2695           Print message name and not just number.
2696
2697 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2698
2699         * docs/design/draft-tagreading.txt:
2700           Add some more thoughts.
2701
2702 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2703
2704         * tests/check/pipelines/simple-launch-lines.c:
2705           Print message name and not just number.
2706
2707 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2708
2709         * libs/gst/base/gsttypefindhelper.c:
2710           Speedup typefinding. This is work in progress (see #459862).
2711
2712 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2713
2714         * gst/gstplugin.c:
2715           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
2716           Spotted by Josep Torra Valles <josep@fluendo.com>.
2717
2718 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
2719
2720         * gst/gstclock.h:
2721           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
2722           field has moved to GstObject.
2723
2724 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
2725
2726         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
2727         (gst_base_src_get_range), (gst_base_src_change_state):
2728         Call unlock for live sources so that they can't get stuck in _create and
2729         produce a buffer before they are set back to PLAYING.
2730
2731 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
2732
2733         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
2734         (gst_queue_locked_dequeue):
2735         Comment the segment-related code... in the PROPER function.
2736         See #482147 and my commit from yesterday.
2737
2738 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
2739
2740         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2741         Also initialize the counter that calculates the first timestamp on a
2742         buffer correctly for non-live sources.
2743
2744 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
2745
2746         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
2747         Disable code that's breaking the current-time-level reporting.
2748         See #482147
2749
2750 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
2751
2752         * docs/gst/gstreamer-sections.txt:
2753         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
2754         as they shouldn't show up. Fixes the docs build.
2755
2756 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
2757         
2758         * gst/gstinfo.h:
2759         Add an explicit variable importation needed on VS6 (only for MSC_VER)
2760         Define M_PI which is used in files which are including gstinfo.h. 
2761         VS6 includes doesn't define it.
2762         * win32/common/libgstbase.def:
2763         * win32/common/libgstcontroller.def:
2764         * win32/common/libgstreamer.def:
2765         Add new exported functions and variables.
2766         * win32/vs6/libgstcontroller.dsp:
2767         * win32/vs6/libgstreamer.dsp:
2768         Update the list of files to build.
2769         
2770 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
2771
2772         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
2773
2774         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
2775         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
2776         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
2777         Improve debugging. Fixes #480858.
2778
2779 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
2780
2781         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
2782
2783         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2784         First patch of code cleanups, use the macros and right arguments in the
2785         macros to signal and lock the queue. See #480858.
2786
2787 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
2788
2789         * gst/gstbus.c: (poll_func):
2790         Improve debugging when dealing with _poll().
2791
2792 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
2793
2794         * gst/gstregistryxml.c:
2795           Fix memory leak I introduced a few days ago.
2796
2797 2007-09-26  Michael Smith <msmith@fluendo.com>
2798
2799         * gst/gstbuffer.c: (gst_buffer_finalize):
2800           Make it once again possible to free GstBuffers in the default
2801           build.
2802           The poisoning scribbles on parts of the miniobject we need in
2803           order to free it.
2804           Fixes #480341
2805
2806 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
2807
2808         * docs/gst/gstreamer-sections.txt:
2809         * gst/gsttaglist.c:
2810         * gst/gsttaglist.h:
2811         API: add GST_TAG_COMPOSER, fixes #459809.
2812
2813 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
2814
2815         * gst/gstplugin.c:
2816         * gst/gstplugin.h:
2817         Add the 3-clause BSD license and the MIT/X11 license to the license
2818         list. Fixes #479784.
2819
2820 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
2821
2822         * docs/faq/getting.xml:
2823           Add Q+A about different GStreamer versions (#364056).
2824
2825 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2826
2827         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2828         (gst_base_sink_event), (gst_base_sink_change_state):
2829         Return correct gboolean from query function.
2830
2831 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2832
2833         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2834         (gst_base_sink_event), (gst_base_sink_query),
2835         (gst_base_sink_change_state):
2836         Simplify latency query.
2837         When not synchronizing, we can report latency without querying the peer
2838         element.
2839
2840 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2841
2842         * gst/gstobject.h:
2843         * gst/gstvalue.c:
2844         Fix small typos in the docs.
2845
2846 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
2847
2848         * docs/design/draft-latency.txt:
2849         * docs/design/draft-push-pull.txt:
2850         * docs/design/draft-tagreading.txt:
2851         * docs/design/part-MT-refcounting.txt:
2852         * docs/design/part-activation.txt:
2853         * docs/design/part-block.txt:
2854         * docs/design/part-element-source.txt:
2855         * docs/design/part-events.txt:
2856         * docs/design/part-gstbin.txt:
2857         * docs/design/part-gstelement.txt:
2858         * docs/design/part-gstobject.txt:
2859         * docs/design/part-gstpipeline.txt:
2860         * docs/design/part-messages.txt:
2861         * docs/design/part-preroll.txt:
2862         * docs/design/part-push-pull.txt:
2863         * docs/design/part-qos.txt:
2864         * docs/design/part-query.txt:
2865         * docs/design/part-scheduling.txt:
2866         * docs/design/part-seeking.txt:
2867         * docs/design/part-segments.txt:
2868         * docs/design/part-states.txt:
2869         Documentation updates and typo fixes.
2870
2871 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
2872
2873         * plugins/elements/gstfakesink.c:
2874           Add some debug text to error message to indicate that
2875           we errored out on request.
2876
2877         * tools/gst-launch.c:
2878           When the state change to PLAYING fails, check for an
2879           error message on the bus and print it.
2880
2881 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
2882
2883         translated by: Jorge González González <aloriel@gmail.com>
2884
2885         * po/LINGUAS:
2886         * po/es.po:
2887           Added Spanish translation.
2888
2889 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
2890
2891         * plugins/elements/gstqueue.c: (gst_queue_push_one):
2892         Fix printf arguments.
2893
2894 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
2895
2896         * tests/check/generic/states.c:
2897           Improved state change unit test.
2898
2899 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
2900
2901         * gst/gstbin.h:
2902           Move priv to the right place.
2903
2904         * gst/gstsystemclock.c:
2905           Add FIXME: and improve log.
2906
2907         * tests/check/Makefile.am:
2908         * tests/examples/manual/Makefile.am:
2909           Work with all types of registries.
2910
2911 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
2912
2913         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
2914         Don't unref the event after pushing it. Fixes #478401.
2915
2916 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
2917
2918         * .cvsignore:
2919         * tests/examples/manual/.cvsignore:
2920           Ignore registries in any format.
2921
2922 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
2923
2924         * gst/glib-compat-private.h:
2925           Add compatibility macro for g_intern_string() for
2926           GLib-2.8 (any reason we can't just bump the
2927           requirement to at least 2.10?)
2928
2929         * gst/gstpadtemplate.h:
2930         * gst/gstelementfactory.c:
2931         * gst/gstregistryxml.c:
2932         * gst/gstregistrybinary.c:
2933           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
2934           up the internal code accordingly.  This shouldn't be a problem, since
2935           there is no reason external code could ever assume the string in such
2936           a structure is dynamically allocated unless it did that itself;  the
2937           use of g_strdup() is private to element factories.  The new code also
2938           saves some memory by putting pad template name strings into the GLib
2939           quark table instead of allocating them dynamically.
2940           Declaring this field constant fixes warnings with g++-4.2 when using
2941           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
2942
2943 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
2944
2945         * gst/gstelementfactory.c:
2946           Release static caps. Fixes #475723.
2947
2948 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
2949
2950         * gst/gstinfo.c:
2951         * gst/gstinfo.h:
2952           Make some internal API take const gchar * instead of just
2953           gchar * to avoid compiler warnings with g++-4.2.2 when
2954           passing string constants (partially fixes #478092).
2955
2956 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
2957
2958         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
2959         A latency query fails when one of the sinks fail.
2960
2961         * gst/gstelement.c: (gst_element_set_base_time):
2962         Improve debugging.
2963
2964 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
2965
2966         * gst/gstbin.c: (gst_bin_continue_func):
2967         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
2968         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
2969         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
2970
2971         Fix minor compilation warnings shown with Forte.
2972
2973 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
2974
2975         * plugins/elements/gstqueue.c: (apply_buffer),
2976         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
2977         Measure queue level based on the diff between head and tail timestamps
2978         even when pushing the first buffer.
2979
2980 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
2981
2982         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2983         (gst_base_sink_event), (gst_base_sink_change_state):
2984         Sinks that don't preroll can always be queried for the latency.
2985         Don't post ASYNC start when we are not async.
2986
2987 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
2988
2989         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
2990         (gst_queue_handle_sink_event), (gst_queue_chain),
2991         (gst_queue_push_one), (gst_queue_handle_src_query),
2992         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
2993         * plugins/elements/gstqueue.h:
2994         When downstream returns UNEXPECTED from pushing a buffer, don't try to
2995         push more buffers but allow pushing of EOS and NEWSEGMENT.
2996         Add some more debug info here and there. Fixes #476514.
2997
2998 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
2999
3000         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3001         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
3002         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
3003         (gst_base_sink_set_flushing), (gst_base_sink_query),
3004         (gst_base_sink_change_state):
3005         Latency query is allowed after we are prerolled. Introduce a new flag
3006         for this and stop abusing other variables.
3007
3008 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
3009
3010         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
3011         Push OOB events downstream when we get them in send_event. This allows
3012         the application to insert events in the pipeline.
3013         Add some more comments.
3014
3015 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
3016
3017         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
3018         (do_bin_latency), (gst_bin_change_state_func):
3019         * gst/gstpipeline.c: (gst_pipeline_change_state):
3020         Move latency query from GstPipeline to GstBin so that we can also
3021         use it when async-handling is enabled on bins.
3022
3023 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
3024
3025         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3026         (gst_base_src_do_sync), (gst_base_src_change_state):
3027         Update docs.
3028         Clean up the timestamping and syncing code for pseudo live sources.
3029
3030 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
3031
3032         Patch by: Steve Fink  <sphink gmail com>
3033
3034         * docs/manual/appendix-checklist.xml:
3035           Mention less -R switch in the section about debug output (#474055).
3036
3037 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
3038
3039         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3040         Queue can latency to the pipeline up to the configured max size in time.
3041         Report this fact in the latency query.
3042
3043 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
3044
3045         Patch by: Sebastien Moutte <sebastien at moutte dot net>
3046
3047         * libs/gst/controller/gstinterpolation.c:
3048         * libs/gst/controller/gstlfocontrolsource.c:
3049         Use gst_guint64_to_gdouble() when converting from a uint64 or
3050         GstClockTime to double to fix the build on win32. Fixes #474371.
3051
3052 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
3053
3054         * gst/gstbuffer.c: (gst_buffer_finalize):
3055         Implement poisoning for GstBuffer if --enable-poisoning is specified.
3056         When finalizing a buffer the complete struct is filled with 0xff,
3057         thus making a use of the buffer after the final unref impossible.
3058
3059 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
3060
3061         * tests/check/libs/controller.c: (GST_START_TEST):
3062         Use fail_unless_equals_int(a, b) instead of
3063         fail_unless_equals (a == b) to get better output on failures.
3064
3065 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
3066
3067         * tests/check/gst/gsturi.c:
3068           Also check for the other file URI variant on win32.
3069
3070 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
3071
3072         * gst/gsturi.c: (gst_uri_get_location):
3073           If there's no hostname, we want to return 'c:/foo/bar.txt'
3074           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
3075
3076         * tests/check/gst/gsturi.c:
3077           Unit test for the above and a few more things.
3078
3079 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
3080
3081         * docs/design/part-live-source.txt:
3082         Add docs on how live sources should timestamp.
3083
3084         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
3085         Add some more debug info.
3086         For subclasses that are live and like to sync, add aditional startup
3087         latency to sync time and timestamps so that we timstamp according to the
3088         design doc.
3089
3090 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
3091
3092         * gst/gstbuffer.c:
3093           Also do a g_type_class_ref() for the subbuffer type in
3094           the init function.
3095
3096 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
3097
3098         * docs/gst/gstreamer-sections.txt:
3099         * gst/gstpad.c: (gst_pad_peer_query):
3100         * gst/gstpad.h:
3101         Add function to perform a query on the peer of a pad.
3102         API: gst_pad_peer_query()
3103
3104 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
3105
3106         * tests/check/gst/gstsystemclock.c:
3107           Cleanup the test a little (use gst-logging and not g_message). Improve
3108           test to check if a wait reached the target.
3109
3110 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
3111
3112         * docs/libs/gstreamer-libs-sections.txt:
3113           Add new API to docs and fix the build.
3114
3115 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
3116
3117         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3118         (gst_base_src_init), (gst_base_src_set_do_timestamp),
3119         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
3120         (gst_base_src_get_property), (gst_base_src_do_sync):
3121         * libs/gst/base/gstbasesrc.h:
3122         Add property to make the basesrc timestamp buffers based on the current
3123         running time.
3124         API: GstBaseSrc::do-timestamp
3125         API: gst_base_src_set_do_timestamp()
3126         API: gst_base_src_get_do_timestamp()
3127
3128 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
3129
3130         * docs/random/release:
3131           Really make sure translations are up-to-date before
3132           a release (#465010).
3133
3134 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
3135
3136         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3137         Always destroy the timer, also in error cases.
3138
3139 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
3140
3141         * docs/manual/highlevel-xml.xml:
3142         Fix XML example code. Fixes #472714.
3143
3144 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
3145
3146         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3147         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
3148         (gst_base_sink_query):
3149         Protect eos and have_preroll with the OBJECT lock so we don't need to
3150         take the PREROLL lock when querying the latency. Fixes #473846.
3151
3152 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
3153
3154         * gst/gstelement.c:
3155           Give some log-messages a category.
3156
3157 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
3158
3159         * gst/gststructure.c:
3160         (gst_structure_fixate_field_nearest_fraction):
3161         Fix fraction list fixation code. Take the fraction with the smallest
3162         difference with the target instead of the first one in the list.
3163
3164         * tests/check/gst/gststructure.c: (GST_START_TEST),
3165         (gst_structure_suite):
3166         Added test to verify correct fraction list fixation behaviour.
3167
3168 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
3169
3170         * win32/common/libgstreamer.def:
3171           Export gst_bus_add_signal_watch too.
3172
3173 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
3174
3175         * docs/libs/gstreamer-libs-sections.txt:
3176         Add new methods to docs.
3177
3178         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3179         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
3180         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
3181         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
3182         * libs/gst/base/gstbasesink.h:
3183         Add ts-offset property to fine-tune the synchronisation.
3184         API: GstBaseSink::ts-offset property
3185         API: gst_base_sink_set_ts_offset()
3186         API: gst_base_sink_get_ts_offset()
3187
3188 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
3189
3190         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3191         (gst_base_sink_init), (gst_base_sink_set_sync),
3192         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3193         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
3194         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
3195         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
3196         (gst_base_sink_get_property), (gst_base_sink_change_state):
3197         * libs/gst/base/gstbasesink.h:
3198         Add async property to instruct the sink never to inform the parent about
3199         ASYNC state changes, update docs.
3200         Check argument with g_return_* for the public functions.
3201         API: GstBaseSink::async property
3202         API: gst_base_sink_set_async_enabled()
3203         API: gst_base_sink_is_async_enabled()
3204
3205 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
3206
3207         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
3208         Improve debugging.
3209
3210         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3211         (gst_base_src_default_query), (gst_base_src_wait),
3212         (gst_base_src_do_sync), (gst_base_src_change_state):
3213         Rearrange some code so that we can add support for measuring the 
3214         startup latency.
3215
3216 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
3217
3218         * docs/random/ensonic/dynlink.txt:
3219           More thoughs on this.
3220
3221         * plugins/elements/gstcapsfilter.c:
3222           Add bugzilla ticket number to FIXME comment.
3223
3224 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
3225
3226         * docs/design/part-TODO.txt:
3227         * docs/design/part-block.txt:
3228         Update some docs.
3229
3230 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
3231
3232         * gst/Makefile.am:
3233           Revert patch which uses $(gst_headers) instead of $^ because it
3234           breaks make dist.
3235
3236 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
3237
3238         * tests/check/gst/gstbin.c: (GST_START_TEST):
3239           Fix leaks in the new unit test.
3240
3241 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
3242
3243         * gst/gst.c:
3244           Don't use GST_INFO before the debug system is actually initialised
3245           (shouldn't do any harm, but won't print anything either, so we can
3246           just as well remove it).
3247
3248         * gst/gstinfo.h:
3249           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
3250           compilers that don't support variadic macros (such as MSVC), should
3251           check for debug_level <= __gst_debug_min as well, since that's the
3252           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
3253           inline helper functions. Should improve performance a bit, but also
3254           makes sure uses of GST_INFO et.al are ignored if the debugging
3255           system isn't initialised yet (instead of printing an assertion
3256           failure).
3257
3258 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
3259
3260         patch by: David Nečas <yeti@physics.muni.cz>
3261
3262         * gst/Makefile.am:
3263           Replace some non portable makefile constructs.
3264
3265 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
3266
3267         * common/gtk-doc-plugins.mak:
3268           Grrrrr. Don't remove the types file on make clean.
3269
3270 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
3271
3272         * tools/gst-launch.1.in:
3273         Add colorspace to example pipeline. Fixes #458274.
3274
3275 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
3276
3277         * docs/random/release:
3278           The release manager should run 'make download-po' before making a
3279           release to make sure translations are up-to-date.
3280
3281         * po/LINGUAS:
3282         * po/be.po:
3283         * po/pl.po:
3284         * po/rw.po:
3285           Add some new translations.
3286
3287 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
3288
3289         * tools/gst-launch.c: (event_loop), (main):
3290         Don´t try to do any state management when a live pipeline posts
3291         buffering messages.
3292         Also make the buffering string translatable.
3293
3294 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
3295
3296         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
3297         (bin_handle_async_start), (gst_bin_handle_message_func):
3298         Improve debugging.
3299         When adding elements, insert messages into the bus of the newly added
3300         element and make sure the element is the source of the message. This
3301         allows the parent bin to intercept the message and do the
3302         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
3303         messages to the app (which is not allowed).
3304         Update some docs.
3305
3306         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3307         Fix testsuite so that is does not work around messages that should not
3308         have been posted in the first place.
3309
3310 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
3311
3312         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
3313         (update_degree), (gst_bin_sort_iterator_next):
3314         Fix annoying bug in the sorted iterator where a sink that is not really
3315         a sink (when it has downstream links) screwed up the iterator.
3316
3317         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
3318         Unit test to verify the fix.
3319
3320 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
3321
3322         * gst/gstmessage.h:
3323         Add some more docs for the messages.
3324
3325         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3326         (gst_base_sink_query):
3327         Add some more debugging.
3328
3329         * tools/gst-launch.c: (event_loop):
3330         When interrupting, don't try to set pipeline to PAUSED twice.
3331
3332 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
3333
3334         
3335         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
3336         (bin_handle_async_start), (gst_bin_handle_message_func):
3337         Move ASYNC_START message posting to where it belongs, similar to
3338         async_done. 
3339         Don't post ASYNC_START when we are in error. 
3340         Post ASYNC_START when we added an async element to a bin.
3341
3342 2007-08-14  Julien MOUTTE  <julien@moutte.net>
3343
3344         * gst/gstindex.c: (gst_index_add_association): Fix index entry
3345         generation from vargs. Fixes #466595.
3346
3347 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
3348
3349         * gst/gstbin.c: (gst_bin_element_set_state):
3350         Always change the state of a NO_PREROLL element even if it has ASYNC
3351         elements inside (in case of a bin).
3352
3353         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
3354         Unit test for this case.
3355
3356 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
3357
3358         * libs/gst/check/gstbufferstraw.c:
3359         * libs/gst/check/gstcheck.h:
3360         * libs/gst/controller/gstcontroller.c:
3361         * libs/gst/controller/gstcontrolsource.h:
3362         * libs/gst/controller/gstlfocontrolsource.h:
3363         * plugins/elements/gstcapsfilter.h:
3364         * plugins/elements/gstfdsink.h:
3365         * plugins/elements/gstfdsrc.h:
3366           Add more missing docs.
3367
3368 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
3369
3370         * gst/gststructure.c:
3371         Add Since tag to docs.
3372
3373 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
3374
3375         * docs/gst/gstreamer-sections.txt:
3376         * gst/gststructure.c: (gst_structure_get_uint):
3377         * gst/gststructure.h:
3378         Add function to get uint from a structure.
3379         API: gst_structure_get_uint()
3380
3381 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
3382
3383         * gst/gstcaps.c: (gst_caps_set_simple_valist),
3384         (gst_caps_intersect):
3385         Fix proper check for simple caps.
3386
3387 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
3388
3389         * docs/gst/Makefile.am:
3390         * docs/libs/Makefile.am:
3391           Remove cruft and do some cleanups.
3392
3393         * docs/gst/gstreamer-docs.sgml:
3394         * docs/libs/gstreamer-libs-docs.sgml:
3395           Prepare for comming gtkdoc features (rebase against online docs).
3396
3397 2007-08-10  Michael Smith <msmith@fluendo.com>
3398
3399         * docs/gst/gstreamer-sections.txt:
3400           Add gst_registry_add_path to docs.
3401
3402 2007-08-10  Michael Smith <msmith@fluendo.com>
3403
3404         * gst/gstregistry.h:
3405           Add gst_registry_add_path, which was missing from this header.
3406
3407 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
3408
3409         * libs/gst/controller/gstlfocontrolsource.c:
3410           Printf format fix.
3411
3412 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
3413
3414         * libs/gst/base/gstbasesink.c:
3415           Don't send an async_start message during downwards state change if 
3416           target state is less than READY
3417
3418 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3419
3420         translated by: Gabor Kelemen <kelemeng@gnome.hu>
3421
3422         * po/LINGUAS:
3423         * po/hu.po:
3424           Added Hungarian translation.
3425
3426 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3427
3428         * po/fi.po:
3429         * po/it.po:
3430         * po/nl.po:
3431         * po/sv.po:
3432         * po/uk.po:
3433           Updated translations.
3434
3435 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
3436
3437         * libs/gst/controller/Makefile.am:
3438         Dist gstlfocontrolsourceprivate.h
3439
3440 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
3441
3442         * docs/libs/gstreamer-libs.types:
3443         Don't register the enum type gst_lfo_waveform_get_type() in the
3444         .types file - only GObject derived types belong.
3445
3446 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
3447
3448         Patch by: <arenevier at fdn dot fr>
3449
3450         * gst/gstbuffer.h:
3451         Remove comma from last element in enum to avoid compile errors when
3452         using -pendantic. Fixes #464366.
3453
3454 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
3455
3456         * docs/design/part-TODO.txt:
3457         Add some more TODO items
3458
3459         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
3460         Improve debugging.
3461
3462         * gst/gstcaps.c: (gst_caps_intersect):
3463         Optimize trivial intersection case between identical caps pointers.
3464
3465         * gst/gstelement.c: (gst_element_continue_state),
3466         (gst_element_set_state_func):
3467         * gst/gstpad.c:
3468         Fix spelling and grammar mistakes.
3469
3470 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
3471
3472         * po/POTFILES.in:
3473         * po/POTFILES.skip:
3474           Update POTFILES. Fixes #461599.
3475
3476 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
3477
3478         * gst/gst.c:
3479         Fix confusing typo in debug output.
3480
3481 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
3482
3483         reviewed by: Stefan Kost <ensonic@users.sf.net>
3484
3485         * libs/gst/controller/Makefile.am:
3486         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
3487         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
3488         (gst_lfo_control_source_new),
3489         (gst_lfo_control_source_set_waveform),
3490         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
3491         (gst_lfo_control_source_finalize),
3492         (gst_lfo_control_source_dispose),
3493         (gst_lfo_control_source_set_property),
3494         (gst_lfo_control_source_get_property),
3495         (gst_lfo_control_source_class_init):
3496         * libs/gst/controller/gstlfocontrolsource.h:
3497         * libs/gst/controller/gstlfocontrolsourceprivate.h:
3498         API: Add GstLFOControlSource, a control source that gives values
3499         for specific timestamps based on several periodic waveforms.
3500         Fixes #459717.
3501
3502         * tests/check/libs/controller.c: (GST_START_TEST),
3503         (gst_controller_suite):
3504         * docs/libs/gstreamer-libs-docs.sgml:
3505         * docs/libs/gstreamer-libs-sections.txt:
3506         * docs/libs/gstreamer-libs.types:
3507         Add documentation and unit tests for GstLFOControlSource.
3508
3509 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
3510
3511         * configure.ac:
3512         Back to CVS
3513
3514 === release 0.10.14 ===
3515
3516 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
3517
3518         * configure.ac:
3519           releasing 0.10.14, "Breathing Vacuum"
3520
3521 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
3522
3523         * gst/gstelement.c: (gst_element_class_set_details_simple):
3524         * gst/gstelement.h:
3525           Make strings passed to gst_element_class_set_details_simple()
3526           constant, as they should be (#462752).
3527
3528 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
3529
3530         * gst/gstbin.c: (gst_bin_change_state_func),
3531         (bin_handle_async_done), (gst_bin_handle_message_func):
3532         Don't forget about the fact that some element went ASYNC even after a
3533         resync. This makes us post the ASYNC_DONE message correctly.
3534         Fixes #462558.
3535
3536 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3537
3538         * gst/gstregistry.c: (gst_registry_add_feature):
3539         When replacing an existing feature in the registry, make sure to
3540         continue holding a reference until we've replaced the name string
3541         within our feature hash table. Make sure to use g_hash_table_replace
3542         instead of g_hash_table_insert to ensure the new name string is used
3543         as a key instead of the old one that we're about to free.
3544         Fixes: #462085
3545
3546 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3547
3548         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3549         (gst_plugin_feature_set_name):
3550         Revert patch from #459466 until after the release and we can work
3551         out exactly what the problem is (if any).
3552
3553 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
3554
3555         * docs/gst/gstreamer-sections.txt:
3556         * gst/gsttaglist.c:
3557         * gst/gsttaglist.h:
3558           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
3559
3560 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
3561
3562         * docs/libs/Makefile.am:
3563         Include our build-prefix libs and includes before the generic ones to
3564         avoid linking against the installed libs when we want the build-tree
3565         ones.
3566
3567 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
3568
3569         Patch by: Steve Fink  <sphink gmail com>
3570
3571         * docs/pwg/building-testapp.xml:
3572           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
3573           if people try to build or install the example from the plugin
3574           template against a GStreamer from package using the configure
3575           defaults.
3576
3577 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
3578
3579         Patch by: Steve Fink  <sphink gmail com>
3580
3581         * tools/gst-inspect.1.in:
3582           Document --print-all and --print-plugin-auto-install-info command
3583           line options in man page.
3584
3585 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
3586
3587         * docs/gst/gstreamer-sections.txt:
3588         Add docs for new api function.
3589
3590 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
3591
3592         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
3593         * gst/gstelementfactory.h:
3594         API: gst_element_factory_has_interface()
3595         Added method to check if an element factory implements a named
3596         interface.
3597
3598 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
3599
3600         * configure.ac:
3601         * docs/gst/gstreamer.types.in:
3602           Another conditional doc check.
3603
3604         * gst/gstmessage.c:
3605         * gst/gstparamspecs.h:
3606         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3607         * gst/gstvalue.c:
3608         * gst/gstxml.h:
3609           API-doc fixes.
3610
3611 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3612
3613         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
3614         (gst_registry_binary_load_feature),
3615         (gst_registry_binary_load_plugin),
3616         (gst_registry_binary_read_cache):
3617           Print error just once and with additional info.
3618
3619 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3620
3621         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3622         (helper_find_suggest), (helper_find_get_length),
3623         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
3624         (gst_type_find_helper_for_buffer):
3625           Cleanup the typefindhelper code and add private doc comments.
3626
3627 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
3628
3629         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3630         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
3631         Fix capsfilter for cases where the caps set on capsfilter will provide
3632         additional information.
3633         Fixes #449197
3634
3635 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3636
3637         * gst/gsttypefindfactory.c:
3638           Fix docs that recommened wrong function to use.
3639
3640 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3641
3642         * tools/gst-inspect.c: (print_plugin_features):
3643           Also give media-type for typefinders in element output.
3644
3645 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3646
3647         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
3648         (gst_registry_remove_features_for_plugin_unlocked),
3649         (gst_registry_add_feature), (gst_registry_remove_feature),
3650         (gst_registry_lookup_feature_locked):
3651         * gst/gstregistry.h:
3652           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
3653           Fixes #459501.
3654
3655 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3656
3657         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3658         (gst_plugin_feature_set_name):
3659           Avoid double memory usage for pluginfeature names. Fixes #459466.
3660
3661 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
3662
3663         * gst/gstpad.h:
3664           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
3665           driving the pipeline may need to explicitly check for NOT_LINKED as
3666           well, since IS_FATAL doesn't cover that.
3667
3668 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
3669
3670         * docs/pwg/advanced-types.xml:
3671           Fix typo and duplicate entry in video formats list.
3672
3673 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
3674
3675         * libs/gst/controller/gstinterpolation.c:
3676         Also round to the nearest int when using cubic interpolation.
3677
3678 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
3679
3680         * libs/gst/controller/gstinterpolation.c:
3681         When linearly interpolating integer types, round to the nearest int
3682         by adding 0.5. Don't do it for float/double types.
3683         Fixes the failing controller test on my machine, which is somehow
3684         rounding differently than on the buildbots.
3685
3686 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3687
3688         * tools/gst-plot-timeline.py:
3689           Better log parsing (categories can have -). Adjust text vs. lines, so
3690           that they span the same y-range.        
3691
3692 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3693
3694         * docs/random/ensonic/audiobaseclasses.txt:
3695         * docs/random/ensonic/dynlink.txt:
3696         * docs/random/ensonic/profiling.txt:
3697           Save my thoughts.
3698
3699         * docs/random/moving-plugins:
3700           Add note to use g_assert type macros.
3701
3702 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3703
3704         * configure.ac:
3705         * libs/gst/check/Makefile.am:
3706           Add libm check as we use in for plugins.
3707
3708 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
3709
3710         * gst/gstbin.c: (gst_bin_continue_func):
3711         Check that the state_cookie hasn't changed since the continue_func
3712         was scheduled. Avoids problems where the state changes back to
3713         something it shouldn't be because it was changed in the meantime.
3714
3715 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
3716
3717         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
3718         (gst_registry_binary_save_string),
3719         (gst_registry_binary_save_pad_template),
3720         (gst_registry_binary_save_feature),
3721         (gst_registry_binary_save_plugin),
3722         (gst_registry_binary_load_feature),
3723         (gst_registry_binary_load_plugin),
3724         (gst_registry_binary_read_cache):
3725           Fix memory leak. Be less verbose in the log.
3726
3727 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3728
3729         * tests/check/elements/.cvsignore:
3730         Add file to cvsignore as commanded.
3731
3732 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3733
3734         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
3735         (mq_dummypad_event), (run_output_order_test):
3736         Use a GStaticMutex to protect all cases where libcheck
3737         fail_if/fail_unless macros might be called from multiple threads
3738         simultaneously to avoid errors like:
3739           "check_pack.c:107: :-1081725400:Bad message type arg"
3740
3741 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3742
3743         * tests/check/pipelines/stress.c: (GST_START_TEST):
3744         Make sure we set the pipeline back to the NULL state before
3745         dropping our final reference.
3746
3747 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3748
3749         * tests/check/elements/tee.c: (GST_START_TEST):
3750         Make the tee stress-test a little less stressful so it doesn't just
3751         time out on slow-machines, and remove a small race when it's starting 
3752         up by adding a get_state() call.
3753
3754 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
3755
3756         * gst/gst.c:
3757           Avoid reading registry twice on startup. Fixes #457322.
3758
3759 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
3760
3761         * pkgconfig/gstreamer-check-uninstalled.pc.in:
3762         * pkgconfig/gstreamer-check.pc.in:
3763         Substitute the CFLAGS for libcheck into our .pc file too so that
3764         dependent modules will pick it up properly if libcheck is installed
3765         into some other prefix.
3766
3767 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
3768
3769         * configure.ac:
3770         Revert the pkg-config check for libcheck, since it pulls in the
3771         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
3772         a proper solution, either from the check project, or something else.
3773
3774 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
3775
3776         * configure.ac:
3777           Use pkg-config to locate check.
3778
3779 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
3780
3781         * gst/gsttaglist.c:
3782           Fix doc syntax.
3783
3784         * gst/gstutils.c:
3785         * gst/gstutils.h:
3786           Add deprecation guards.
3787
3788         * libs/gst/base/gstcollectpads.h:
3789           Don't document object (this is implicitly private).
3790
3791 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
3792
3793         * gst/gststructure.c: (gst_structure_parse_value):
3794           When deserialising foo=bar without a type cast, check if it's a
3795           boolean before falling back to a string type, otherwise things like
3796           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
3797           because the filtercaps end up having a signed=(string)true field,
3798           which causes problems later when intersection caps.
3799
3800         * tests/check/gst/gststructure.c: (GST_START_TEST):
3801           Add a unit test for this.
3802
3803 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
3804
3805         Reviewed by: Stefan Kost <ensonic@users.sf.net>
3806
3807         * libs/gst/controller/Makefile.am:
3808         * libs/gst/controller/gstcontroller.c:
3809         (gst_controlled_property_add_interpolation_control_source),
3810         (gst_controlled_property_new), (gst_controlled_property_free),
3811         (gst_controller_find_controlled_property),
3812         (gst_controller_new_valist), (gst_controller_new_list),
3813         (gst_controller_new), (gst_controller_remove_properties_valist),
3814         (gst_controller_remove_properties_list),
3815         (gst_controller_remove_properties),
3816         (gst_controller_set_property_disabled),
3817         (gst_controller_set_disabled), (gst_controller_set_control_source),
3818         (gst_controller_get_control_source), (gst_controller_get),
3819         (gst_controller_sync_values), (gst_controller_get_value_array),
3820         (_gst_controller_dispose), (gst_controller_get_type),
3821         (gst_controlled_property_set_interpolation_mode),
3822         (gst_controller_set), (gst_controller_set_from_list),
3823         (gst_controller_unset), (gst_controller_unset_all),
3824         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
3825         * libs/gst/controller/gstcontroller.h:
3826         * libs/gst/controller/gstcontrollerprivate.h:
3827         * libs/gst/controller/gstcontrolsource.c:
3828         (gst_control_source_class_init), (gst_control_source_init),
3829         (gst_control_source_get_value),
3830         (gst_control_source_get_value_array), (gst_control_source_bind):
3831         * libs/gst/controller/gstcontrolsource.h:
3832         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
3833         (gst_object_get_control_source):
3834         * libs/gst/controller/gstinterpolation.c:
3835         (gst_interpolation_control_source_find_control_point_node),
3836         (gst_interpolation_control_source_get_first_value),
3837         (_interpolate_none_get), (interpolate_none_get),
3838         (interpolate_none_get_boolean_value_array),
3839         (interpolate_none_get_enum_value_array),
3840         (interpolate_none_get_string_value_array),
3841         (_interpolate_trigger_get), (interpolate_trigger_get),
3842         (interpolate_trigger_get_boolean_value_array),
3843         (interpolate_trigger_get_enum_value_array),
3844         (interpolate_trigger_get_string_value_array):
3845         * libs/gst/controller/gstinterpolationcontrolsource.c:
3846         (gst_control_point_free), (gst_interpolation_control_source_reset),
3847         (gst_interpolation_control_source_new),
3848         (gst_interpolation_control_source_set_interpolation_mode),
3849         (gst_interpolation_control_source_bind),
3850         (gst_control_point_compare), (gst_control_point_find),
3851         (gst_interpolation_control_source_set_internal),
3852         (gst_interpolation_control_source_set),
3853         (gst_interpolation_control_source_set_from_list),
3854         (gst_interpolation_control_source_unset),
3855         (gst_interpolation_control_source_unset_all),
3856         (gst_interpolation_control_source_get_all),
3857         (gst_interpolation_control_source_get_count),
3858         (gst_interpolation_control_source_init),
3859         (gst_interpolation_control_source_finalize),
3860         (gst_interpolation_control_source_dispose),
3861         (gst_interpolation_control_source_class_init):
3862         * libs/gst/controller/gstinterpolationcontrolsource.h:
3863         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3864         API: Refactor GstController into the core controller which can take
3865         a GstControlSource for providing actual values for timestamps.
3866         Implement a interpolation control source and use this for backward
3867         compatibility, deprecate a bunch of functions that are now handled
3868         by GstControlSource or GstInterpolationControlSource.
3869         Make it possible to disable the controller completely or only for
3870         specific properties. Fixes #450711.
3871         * docs/libs/gstreamer-libs-docs.sgml:
3872         * docs/libs/gstreamer-libs-sections.txt:
3873         * docs/libs/gstreamer-libs.types:
3874         Add new functions and classes to the docs.
3875         * tests/check/libs/controller.c: (GST_START_TEST),
3876         (gst_controller_suite):
3877         * tests/examples/controller/audio-example.c: (main):
3878         Port unit test and example to the new API and add some new
3879         unit tests.
3880
3881 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
3882
3883         Patch by: Mark Nauwelaerts <manauw at skynet be>
3884
3885         * plugins/elements/gstmultiqueue.c:
3886         (gst_multi_queue_get_internal_links), (apply_buffer),
3887         (single_queue_overrun_cb), (gst_single_queue_new):
3888         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
3889         the pipeline layout can be tracked correctly. Fixes #453732.
3890
3891 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
3892
3893         * docs/gst/Makefile.am:
3894         * docs/libs/Makefile.am:
3895         * docs/plugins/Makefile.am:
3896           Simplify --extra-dir as gtkdoc scans recursively.
3897
3898 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
3899
3900         * tools/gst-launch.c: (main):
3901         When we got an error, there is no point in waiting for preroll when
3902         shutting down.
3903
3904 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
3905
3906         * plugins/elements/gsttee.c: (gst_tee_base_init),
3907         (gst_tee_request_new_pad), (gst_tee_release_pad),
3908         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
3909         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
3910         (gst_tee_chain):
3911         Be a lot smarter when deciding what srcpad to use for proxying
3912         the buffer_alloc. Also handle pad added/removed when doing so.
3913         Fixes #357959.
3914         Keep track of what pads we already pushed on in case we have pads
3915         added/removed while pushing. Fixes #374639 
3916
3917         * tests/check/Makefile.am:
3918         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
3919         (tee_suite):
3920         Added unit test for pad resync.
3921
3922 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3923
3924         * po/nl.po:
3925         * po/sv.po:
3926           Updated translations.
3927
3928 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
3929
3930         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
3931
3932         * po/LINGUAS:
3933         * po/fi.po:
3934           Added new Finnish translation.
3935
3936 2007-06-28  Wim Taymans  <wim@fluendo.com>
3937
3938         * plugins/elements/gstmultiqueue.c: (apply_buffer),
3939         (single_queue_overrun_cb):
3940         When figuring out when a queue is filled, use our internal time estimate
3941         based on segments, just like check_full does.
3942
3943 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
3944
3945         * gst/gstminiobject.c: (gst_mini_object_get_type):
3946           Remove 3 do-nothing methods.
3947
3948 2007-06-27  Wim Taymans  <wim@fluendo.com>
3949
3950         Patch by: Tim Angus <tim at ngus dot net>
3951
3952         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3953         (gst_capsfilter_set_property):
3954         Take a reference instead of a copy when setting "caps".
3955         Fix documentation to clarify this behaviour. Fixes #449414.
3956
3957 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
3958
3959         * gst/gstindexfactory.c: (gst_index_factory_get_type):
3960         * gst/gstplugin.c: (gst_plugin_init):
3961         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
3962         * gst/gstquery.c: (gst_query_get_type):
3963         * gst/gstregistry.c: (gst_registry_init):
3964         * gst/gsturi.c: (gst_uri_handler_base_init):
3965           Remove empty instance_init() functions to save relocs and lessen the
3966           noise. Remove some of the function prototypes that are doubled by
3967           G_DEFINE_TYPE.
3968           
3969 2007-06-27  Wim Taymans  <wim@fluendo.com>
3970
3971         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
3972
3973         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
3974         Add peer and direction in the XML serialisation of ghostpads.
3975         Fixes #449226.
3976
3977 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
3978
3979         * configure.ac:
3980           Preserve useful information, thanks Tim.
3981
3982 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
3983
3984         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
3985         (gst_single_queue_flush), (apply_segment), (apply_buffer),
3986         (gst_single_queue_push_one), (gst_multi_queue_loop),
3987         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
3988         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
3989         (compute_high_id), (gst_single_queue_new):
3990         * plugins/elements/gstmultiqueue.h:
3991         Take the multiqueue lock when updating the fill level so we don't get
3992         confused. 
3993
3994         After applying a buffer or event on the src pad segment, make sure to
3995         call gst_data_queue_limits_changed() to get the data queue to unblock
3996         and check the filled state again.
3997         
3998         Rework the not-linked pad handling so the logic is that not-linked 
3999         pads can push as fast as they like, but only so they never get 
4000         ahead of any linked pads.
4001
4002         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
4003         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
4004         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
4005
4006         Add a test to check that not-linked pads always stay behind
4007         linked pads.
4008
4009         Fixes: #430682
4010
4011 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
4012
4013         * docs/random/release:
4014           Some updates to the release procedure.
4015
4016 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
4017
4018         * gst/gstelementfactory.c: (__gst_element_details_clear):
4019           Microoptimization that saves stunning 80 bytes.
4020
4021 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
4022
4023         * docs/plugins/gstreamer-plugins.args:
4024         * docs/plugins/inspect/plugin-coreelements.xml:
4025         * docs/plugins/inspect/plugin-coreindexers.xml:
4026           Update docs with caps info.
4027
4028 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4029
4030         * po/it.po:
4031           Updated Italian translation.
4032
4033 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4034
4035         * ChangeLog:
4036         * po/vi.po:
4037           Update Vietnamese translations.
4038
4039 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4040
4041         * libs/gst/base/gstbasesink.c:
4042           Remove unused signal enum.
4043
4044 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
4045
4046         * docs/gst/gstreamer-sections.txt:
4047         * gst/gstelement.c:
4048         * gst/gstutils.c: (gst_type_register_static_full):
4049         Beef up and include the docs for gst_type_register_static_full and
4050         gst_element_class_set_details_simple and add the API keyword
4051         in the ChangeLog.
4052
4053 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
4054
4055         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
4056         (update_time_level), (gst_single_queue_push_one),
4057         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
4058         (single_queue_overrun_cb), (single_queue_underrun_cb),
4059         (single_queue_check_full):
4060         Fix setting max-* properties after adding queues.
4061         Use IS_FILLED for checking visible items.
4062         Signal overrun if multiple queues overrun.
4063         Add extra debug output.
4064         Patch by: Wim Taymans <wim@fluendo.com>
4065
4066 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
4067
4068         * gst/gstelement.c: (gst_element_class_set_details_simple):
4069         * gst/gstelement.h:
4070         * gst/gstutils.c: (gst_type_register_static_full):
4071         * gst/gstutils.h:
4072         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
4073         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
4074         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
4075         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
4076         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
4077         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
4078         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
4079         * plugins/elements/gstidentity.c: (gst_identity_base_init):
4080         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
4081         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4082         (apply_buffer), (gst_queue_chain):
4083         * plugins/elements/gsttee.c: (gst_tee_base_init):
4084         * plugins/elements/gsttypefindelement.c:
4085         (gst_type_find_element_base_init),
4086         (gst_type_find_element_class_init):
4087           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
4088           API: add gst_type_register_static_full
4089           API: add gst_element_class_set_details_simple
4090
4091 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4092
4093         * docs/pwg/advanced-types.xml:
4094           Fix typo in iana.org URI.
4095
4096 2007-06-19  Andy Wingo  <wingo@pobox.com>
4097
4098         * tests/check/pipelines/simple-launch-lines.c
4099         (test_state_change_returns): Enable pull-mode tests now that
4100         basesink has been fixed.
4101
4102         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
4103         Changed from gst_base_sink_is_prerolled, reversing the sense of
4104         the return value. Returns FALSE also if the sink is in pull mode,
4105         in which case it needs no preroll.
4106         (gst_base_sink_query, gst_base_sink_change_state): Update for
4107         needs_preroll change.
4108         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
4109         chaining up, in which we return SUCCESS directly if we activated
4110         in pull mode instead of ASYNC. Involves countering an async_start
4111         message sent before chaining up; not sure if this is correct, in
4112         an ideal world we only send async-start when activating in push
4113         mode.
4114
4115         * tests/check/pipelines/simple-launch-lines.c
4116         (test_state_change_returns): New test, partially disabled until
4117         basesink is fixed.
4118
4119 2007-06-19  Wim Taymans  <wim@fluendo.com>
4120
4121         * plugins/elements/gstmultiqueue.c: (apply_buffer),
4122         (gst_multi_queue_sink_event):
4123         Fix event leak.
4124
4125 2007-06-19  Wim Taymans  <wim@fluendo.com>
4126
4127         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4128         (gst_bin_change_state_func), (bin_push_state_continue),
4129         (bin_handle_async_start), (bin_handle_async_done),
4130         (gst_bin_handle_message_func):
4131         Move the common code for posting state-change messages into
4132         one function.
4133         Broadcast the state signal after we posted the messages.
4134         Mark the bin as busy when it's doing a state-change.
4135         Make sure async-start/done messages don't interfere with the bin's
4136         state when it's busy.
4137         After the state change, let the bin check which elements completed the
4138         state change while it was busy so that it can update its state.
4139
4140 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
4141
4142         * docs/random/release:
4143         Add a note about updating the doap file to the release checklist
4144
4145 2007-06-18  Wim Taymans  <wim@fluendo.com>
4146
4147         * plugins/elements/gstmultiqueue.c: (apply_buffer),
4148         (gst_single_queue_push_one), (gst_multi_queue_chain),
4149         (gst_multi_queue_sink_event):
4150         Make sure we don't reference the buffer/event after we have given away
4151         ownership in the queue.
4152
4153 2007-06-18  Wim Taymans  <wim@fluendo.com>
4154
4155         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
4156         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
4157         Update queue state _after_ adding the item in the queue because else we
4158         could end up being full without the element added yet.
4159
4160 2007-06-18  Wim Taymans  <wim@fluendo.com>
4161
4162         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4163         (gst_bin_remove_func), (gst_bin_get_state_func),
4164         (gst_bin_element_set_state), (gst_bin_continue_func),
4165         (bin_push_state_continue), (bin_handle_async_start),
4166         (bin_handle_async_done), (gst_bin_handle_message_func):
4167         * gst/gstbin.h:
4168         Immediatly commit the toplevel bin state when receiving an async-done
4169         message. This enables us to avoid spawning a thread to commit the state
4170         in some common cases and it also avoids some races.
4171         Avoid spawning a state thread when adding/removing async elements to a
4172         toplevel bin. Instead we immediatly update the bin state.
4173         Get rid of iterating all the children when getting the state in the bin
4174         because it is now always up-to-date.
4175         Fix bug where locked elements would always return _SUCCESS even it they
4176         returned NO_PREROLL before being locked.
4177         Fix the order of the state_change, async-start/done messages that was
4178         sometimes incorrect.
4179         Mark the state_dirty field as deprecated, we don't need it anymore as we
4180         are always up-to-date.
4181
4182         * gst/gstelement.c: (gst_element_get_state_func),
4183         (gst_element_continue_state):
4184         Small debug inprovements.
4185         Return the previous element state return when nothing is pending instead
4186         of blindly returning SUCCESS.
4187
4188         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
4189         (gst_sinks_suite):
4190         Add a whole bunch of new testcases.
4191
4192 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4193
4194         * po/uk.po:
4195         * po/vi.po:
4196           Update translations.
4197
4198 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
4199
4200         * gst/gstpad.c:
4201         Fix typo in the docs.
4202
4203 2007-06-15  Wim Taymans  <wim@fluendo.com>
4204
4205         * docs/libs/gstreamer-libs-sections.txt:
4206         Add docs for new methods.
4207
4208 2007-06-15  Wim Taymans  <wim@fluendo.com>
4209
4210         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
4211         (gst_multi_queue_item_new):
4212         Don't use GSlice because we don't depend on >= 2.10 yet.
4213
4214 2007-06-15  Wim Taymans  <wim@fluendo.com>
4215
4216         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
4217         (update_time_level), (apply_segment), (apply_buffer),
4218         (gst_single_queue_push_one), (gst_multi_queue_item_new),
4219         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
4220         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
4221         (single_queue_underrun_cb), (single_queue_check_full):
4222         Remove debug printf.
4223
4224 2007-06-15  Wim Taymans  <wim@fluendo.com>
4225
4226         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
4227         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
4228         (gst_data_queue_set_flushing), (gst_data_queue_push),
4229         (gst_data_queue_pop), (gst_data_queue_drop_head),
4230         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
4231         * libs/gst/base/gstdataqueue.h:
4232         Various cleanups.
4233         Added methods to get the current levels and to inform the queue that the
4234         'full' limits changed.
4235
4236         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
4237         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
4238         (gst_single_queue_flush), (update_time_level), (apply_segment),
4239         (apply_buffer), (gst_single_queue_push_one),
4240         (gst_multi_queue_item_steal_object),
4241         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
4242         (gst_multi_queue_loop), (gst_multi_queue_chain),
4243         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
4244         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
4245         (gst_multi_queue_src_query), (single_queue_overrun_cb),
4246         (single_queue_underrun_cb), (single_queue_check_full),
4247         (gst_single_queue_new):
4248         Keep track of time in the queue by measuring the difference between
4249         running_time on input and output. This gives more accurate results and
4250         can compensate for segments correctly.
4251         Make a queue by default only 5 buffers deep. We will now increase the
4252         buffer size depending on the filledness of the other queues.
4253         Factor out commong flush code.
4254         Make sure we don't add additional refcounts to buffers when we can avoid
4255         it.
4256         Propagate GstFlowReturn differently.
4257         Use GSlice for intermediate GstMultiQueueItems.
4258         Keep track of EOS.
4259         Resize queues on over and underruns based on filled level of other
4260         queues.
4261         When checking if the queue is filled, prefer to measure in time if we
4262         can and fall back to bytes when no time is known.
4263
4264         * plugins/elements/gstqueue.c:
4265         Fix return value.
4266
4267 2007-06-15  Wim Taymans  <wim@fluendo.com>
4268
4269         * libs/gst/base/gstbasetransform.c:
4270         (gst_base_transform_sink_event):
4271         Work around the brokenness of the event vmethod in basetransform. Prefer
4272         to return TRUE when the subclass returned FALSE (meaning don't forward
4273         the event). 
4274
4275         * libs/gst/base/gstbasetransform.h:
4276         Clarify the docs.
4277
4278 2007-06-15  Wim Taymans  <wim@fluendo.com>
4279
4280         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
4281         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4282         (gst_base_src_default_query), (gst_base_src_get_range),
4283         (gst_base_src_start):
4284         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
4285         Improve debugging.
4286
4287 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
4288
4289         * docs/pwg/advanced-types.xml:
4290           Added more formats to caps table.
4291
4292 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
4293
4294         * tools/gst-launch.c: (main):
4295           Remove crufy code. GOption does not need this workaround.
4296
4297 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
4298
4299         * libs/gst/controller/gstcontroller.c:
4300         (gst_controlled_property_set_interpolation_mode):
4301           Fix wrong getter for enums in controller.
4302
4303 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4304
4305         * libs/gst/check/gstcheck.c: (gst_check_init):
4306           Intercept criticals and warnings in the Gst-Phonon log domain, so
4307           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
4308           well.
4309         
4310 2007-06-14  Edward Hervey  <edward@fluendo.com>
4311
4312         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
4313         Since this file doesn't include "gst.h" it will not go through the
4314         macros that disable GST_LOG if debugging was disabled.
4315
4316 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4317
4318         * libs/gst/check/Makefile.am:
4319         * libs/gst/check/gstcheck.h:
4320         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4321         * pkgconfig/gstreamer-check.pc.in:
4322           Ugly 'fix' for the controller unit test on the p5 bot: in
4323           fail_unless_equals_float() check whether the values are 'almost
4324           equal' by allowing a small absolute error, which should be good
4325           enough for our use cases (normal numbers and values close to 0).
4326           Proper fixage left to floating point arithmetic aficionados.
4327
4328 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
4329
4330         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
4331         (gst_base_sink_render_object), (gst_base_sink_get_position):
4332           Add two breaks thats where missing.
4333
4334 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4335
4336         * docs/libs/gstreamer-libs-sections.txt:
4337         * libs/gst/check/gstcheck.h:
4338           API: add fail_unless_equals_float() and assert_equals_float().
4339           Add documentation for some of the macros.
4340
4341         * tests/check/libs/controller.c: (GST_START_TEST):
4342           Use newly-added asserts.
4343
4344 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
4345
4346         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
4347           Show the caps change in the log to help spotting the case of not
4348           exactly matching caps.
4349
4350 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4351
4352         * docs/pwg/building-boiler.xml:
4353           Fix typos, spotted by Thijs Vermeir (#447190).
4354
4355 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
4356
4357         * docs/plugins/tmpl/.cvsignore:
4358         Ignore file to keep the buildbots happy
4359
4360 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
4361
4362         * docs/plugins/Makefile.am:
4363         * docs/plugins/gstreamer-plugins-docs.sgml:
4364         * docs/plugins/gstreamer-plugins-sections.txt:
4365         Pull fdsink into the docs too.
4366
4367 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
4368
4369         * libs/gst/controller/gstinterpolation.c:
4370         Actually use the new functions with min/max checks for the trigger and
4371         none interpolation modes for get() and get_value_array() instead of
4372         just the latter.
4373
4374 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
4375
4376         * libs/gst/controller/gstcontroller.c:
4377         (gst_controlled_property_free):
4378         Unset the minimum and maximum GValues when freeing the corresponding
4379         GstControllerProperty struct.
4380
4381 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
4382
4383         * libs/gst/controller/gstcontroller.c:
4384         (gst_controlled_property_new):
4385         * libs/gst/controller/gstcontrollerprivate.h:
4386         * libs/gst/controller/gstinterpolation.c:
4387         (gst_controlled_property_find_control_point_node),
4388         (interpolate_none_get), (interpolate_none_get_enum_value_array),
4389         (interpolate_none_get_string_value_array),
4390         (interpolate_trigger_get),
4391         (interpolate_trigger_get_enum_value_array),
4392         (interpolate_trigger_get_string_value_array):
4393         Protect against values larger or smaller than the minimum or maximum
4394         allowed value for the property when using values that can be compared.
4395
4396         Optimize trigger interpolator a bit by taking the last requested value
4397         into account instead of always looping through the complete list.
4398
4399         Fix coding style a bit, everywhere else we use "return foo" instead
4400         of "return (foo)".
4401         
4402         * tests/check/libs/controller.c: (GST_START_TEST),
4403         (gst_controller_suite):
4404         Add unit test for the protection against too large or too small
4405         values.
4406
4407 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
4408
4409         * docs/random/slomo/controller.txt:
4410         Add some thoughts about the future of the controller.
4411
4412 2007-06-08  Wim Taymans  <wim@fluendo.com>
4413
4414         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4415         Don't overflow in retimestamping code.
4416
4417 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
4418
4419         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
4420         Use gst_util_guint64_to_gdouble for conversions.
4421         * win32/common/libgstreamer.def:
4422         Add new exported functions.
4423
4424 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
4425
4426         * gst/gstutils.c:
4427           Small docs addition.
4428
4429 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4430
4431         * README:
4432           Remove that test line again.
4433
4434 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4435
4436         * README:
4437           Test commit mail sending.
4438
4439 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4440
4441         * configure.ac:
4442           Fix typo and test commit mail sending.
4443
4444 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4445
4446         * tests/examples/controller/audio-example.c:
4447           Improve comment and test commit mail sending.
4448
4449 2007-06-07  Wim Taymans  <wim@fluendo.com>
4450
4451         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
4452         (gst_bin_remove_func), (gst_bin_element_set_state),
4453         (bin_handle_async_start), (bin_handle_async_done),
4454         (gst_bin_handle_message_func):
4455         Add helper function to find messages.
4456         Generate the async-done messages together with the state change
4457         messages.
4458         Small cleanups in handling toplevel bins.
4459
4460 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4461
4462         * libs/gst/base/gstdataqueue.c:
4463         * libs/gst/base/gstdataqueue.h:
4464         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
4465         (gst_multi_queue_item_new), (gst_multi_queue_chain),
4466         (gst_multi_queue_sink_event):
4467         * tests/check/elements/multiqueue.c: (multiqueue_suite):
4468           Fix multiqueue leaking buffers and events when downstream or the
4469           queue are flushing. Make refcounting assumptions explicit and
4470           document them (shouldn't break existing code that uses it other than
4471           maybe leak miniobjects, but that already happens anyway). Add unit
4472           test for the most common flushing case. Fixes #423700.
4473           
4474 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
4475
4476         * libs/gst/controller/gstcontroller.c:
4477         Clarify docs: The get_all, get_value_array(s) functions
4478         don't modify the GObject properties.
4479
4480 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
4481
4482         * libs/gst/controller/gstcontroller.c:
4483         (gst_controlled_property_set_interpolation_mode),
4484         (gst_controlled_property_prepend_default),
4485         (gst_controlled_property_new), (gst_controller_set_unlocked),
4486         (gst_controller_set), (gst_controller_set_from_list),
4487         (gst_controller_unset), (gst_controller_unset_all):
4488         * libs/gst/controller/gstcontrollerprivate.h:
4489         * libs/gst/controller/gstinterpolation.c:
4490         Factor out the 'set' logic into gst_controller_set_unlocked for the
4491         gst_controller_set and gst_controller_set_from_list functions.
4492
4493         To make life of the interpolators easier always add a control point
4494         at timestamp zero with the default value.
4495
4496         In the linear interpolator make things more obvious by better variable
4497         naming (slope).
4498
4499         Implement cubic interpolation mode (by using a natural cubic spline)
4500         and map the quadratic interpolation mode to this too (as quadratic
4501         doesn't make much sense, see discussion on the list).
4502
4503         * tests/check/libs/controller.c: (GST_START_TEST),
4504         (gst_controller_suite):
4505         Add unit test for the cubic interpolation mode and check everywhere
4506         if the interpolation mode could be set as expected.
4507
4508 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4509
4510         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
4511           Don't use GLib-2.10 functions, we still depend on
4512           GLib-how-old-is-it-again-2.8.
4513
4514 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4515
4516         * docs/gst/gstreamer-sections.txt:
4517         * gst/Makefile.am:
4518         * gst/gst.c:
4519         * gst/gst.h:
4520         * gst/gstparamspecs.c: (_gst_param_fraction_init),
4521         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
4522         (_gst_param_fraction_values_cmp),
4523         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
4524         * gst/gstparamspecs.h:
4525         * gst/gstvalue.c:
4526         * tests/check/Makefile.am:
4527         * tests/check/gst/.cvsignore:
4528         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
4529         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
4530         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
4531         (GST_START_TEST), (gst_param_spec_suite):
4532           API: add GstParamSpecFraction, so elements can have fraction
4533           properties without lots of painful string parsing (#444648).
4534
4535 2007-06-05  Wim Taymans  <wim@fluendo.com>
4536
4537         * gst/gstobject.c: (gst_object_class_init):
4538         Fix signal signature.
4539
4540         * gst/gstsegment.c:
4541         Add small clarification in the api docs.
4542
4543         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
4544         States are protected with object lock.
4545
4546 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
4547
4548         * AUTHORS:
4549         I should probably be listed as an author by now.
4550
4551         * docs/random/release:
4552         Update the release doc
4553
4554 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
4555
4556         * gst/gstvalue.c:
4557           Make docs for gst_value_compare() mention return enums that
4558           actually exist.
4559
4560 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
4561
4562         * configure.ac:
4563           Back to CVS
4564
4565 === release 0.10.13 ===
4566
4567 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
4568
4569         * configure.ac:
4570           releasing 0.10.13, "With or without you"
4571
4572 2007-05-25  Wim Taymans  <wim@fluendo.com>
4573
4574         * gst/gstbin.c: (bin_handle_async_done):
4575         Make sure that the child bin stops after completing the async state
4576         change so that the parent can continue the state change to PLAYING.
4577         Fixes #441159.
4578
4579 2007-05-25  Wim Taymans  <wim@fluendo.com>
4580
4581         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4582         (unref_data), (gst_collect_pads_remove_pad),
4583         (gst_collect_pads_check_pads):
4584         Use additional refcounting to avoid crashes when dynamically adding and
4585         removing pads. Fixes #420206.
4586
4587 2007-05-24  Wim Taymans  <wim@fluendo.com>
4588
4589         * tools/gst-launch.c: (event_loop):
4590         When buffering goes from a two digit to a single digit number, make sure
4591         to remove the old second digit by writing a blank over it.
4592
4593 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
4594
4595         * libs/gst/base/gstdataqueue.c:
4596           Eliminate tabs and trailing comma in enum list; fix some typos.
4597
4598 2007-05-24  Wim Taymans  <wim@fluendo.com>
4599
4600         * tests/check/gst/gstbin.c: (GST_START_TEST):
4601         Allow refcount of 3 and 4 because some state thread might still be busy
4602         with it.
4603
4604 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
4605
4606         * plugins/elements/Makefile.am:
4607         * plugins/elements/gstmultiqueue.h:
4608         * plugins/elements/gstqueue.h:
4609           These are not installed headers, no need for padding.
4610
4611 2007-05-24  Wim Taymans  <wim@fluendo.com>
4612
4613         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4614         (gst_bin_continue_func):
4615         Enable latency for next release.
4616         Restore STATE_LOCK around recalc_state that was left out during the
4617         rewrite and could result in racy behaviour when _get_state and
4618         recalc_state are run concurrently. See #440463.
4619
4620 2007-05-23  Wim Taymans  <wim@fluendo.com>
4621
4622         * tests/check/gst/gstsystemclock.c: (store_callback),
4623         (GST_START_TEST):
4624         Improve test_async_order to also work when both timers are already
4625         expired when we get scheduled to check it.
4626
4627 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4628
4629         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
4630         (gst_bin_set_property), (gst_bin_get_property),
4631         (gst_bin_remove_func), (gst_bin_handle_message_func):
4632         * gst/gstbin.h:
4633           'private' is a c++ keyword, let's not use that in header files,
4634           otherwise c++ compilers will throw a tantrum.
4635
4636 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4637
4638         * plugins/elements/gstelements.c:
4639         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
4640         (gst_file_sink_get_current_offset):
4641         * plugins/indexers/gstindexers.c: (plugin_init):
4642           Use #ifdef for HAVE_XYZ for consistency.
4643
4644         * tests/check/Makefile.am:
4645         * tests/check/elements/.cvsignore:
4646         * tests/check/elements/filesink.c: (setup_filesink),
4647         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
4648           Add some unit tests for filesink.
4649
4650 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4651
4652         Patch by: Mark Nauwelaerts <manauw at skynet be>
4653
4654         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4655         (gst_file_sink_query), (gst_file_sink_do_seek),
4656         (gst_file_sink_get_current_offset), (gst_file_sink_render):
4657         * plugins/elements/gstfilesink.h:
4658           Fix position reporting; rename data_written member to current_pos to
4659           reflect its real meaning (fixes #412648).
4660
4661 2007-05-22  Edward Hervey  <edward@fluendo.com>
4662
4663         * docs/gst/gstreamer-sections.txt:
4664         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4665         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
4666         (gst_bin_remove_func), (gst_bin_handle_message_func):
4667         * gst/gstbin.h:
4668         Add a property for bins that handle the state change of their childs.
4669         Fixes #435880
4670
4671 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
4672
4673         * libs/gst/controller/gstinterpolation.c:
4674         Use an array of the correct type when using _get_value_array with
4675         linear interpolation.
4676
4677 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
4678
4679         * gst/gstelement.c (gst_element_requires_clock,
4680           gst_element_provides_clock, gst_element_request_pad,
4681           gst_element_class_set_details, gst_element_class_set_details_simple,
4682           gst_element_default_send_event, gst_element_abort_state,
4683           gst_element_continue_state, gst_element_set_state,
4684           gst_element_set_state_func, iterator_activate_fold_with_resync):
4685         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
4686           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
4687           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
4688           gst_pad_get_range, gst_pad_pull_range):
4689         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
4690           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
4691           GstPadActivateModeFunction, GstPadChainFunction,
4692           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
4693           GstPadFixateCapsFunction, GstPadTemplate):
4694         * gst/gstpipeline.c (gst_pipeline_change_state,
4695           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
4696           gst_pipeline_set_clock, gst_pipeline_auto_clock,
4697           gst_pipeline_get_delay):
4698           Whitespace and docs fixes.
4699
4700 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4701
4702         * libs/gst/controller/gstinterpolation.c:
4703         (interpolate_trigger_get_enum_value_array),
4704         (interpolate_trigger_get_string_value_array):
4705         Add support for retrieving value arrays when using the trigger
4706         interpolation mode. 
4707
4708 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4709
4710         * libs/gst/controller/gstcontroller.c:
4711         (gst_controller_get_value_array):
4712         * libs/gst/controller/gstcontroller.h:
4713         Clarify the docs of gst_controller_get_value_array(): The array where
4714         the values should be written to must be allocated as there seems to be
4715         no way to get the size of a random GType. This doesn't change any
4716         behaviour. Also fix some typos all over the place and remove an unused,
4717         commented function that is not necessary as g_object_set() could be
4718         used instead.
4719         * tests/check/libs/controller.c: (GST_START_TEST),
4720         (gst_controller_suite):
4721         Add unit test for gst_controller_get_value_array().
4722
4723 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
4724
4725         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4726
4727         Disable part of the gst_buffer_try_new_and_alloc test, because
4728         it can happily succeed on 64-bit systems where there's more address
4729         space available.
4730
4731 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4732
4733         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
4734         Add unit test for the improved caps checking from bug #421543.
4735
4736 2007-05-21  Wim Taymans  <wim@fluendo.com>
4737
4738         * docs/design/part-synchronisation.txt:
4739         Small addition.
4740
4741         * gst/gstbin.c: (gst_bin_query):
4742         * plugins/elements/gstqueue.c: (apply_segment):
4743         Improve debugging.
4744
4745         * gst/gstmessage.h:
4746         Improve docs.
4747
4748 2007-05-21  Wim Taymans  <wim@fluendo.com>
4749
4750         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
4751         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
4752         (gst_pad_configure_src):
4753         Added simple version of improved caps checking. It was previously
4754         assumed that a setcaps function would check the validity of the caps but
4755         people prefer us to check caps against the template automatically. 
4756         Fixes #421543.
4757
4758 2007-05-21  Wim Taymans  <wim@fluendo.com>
4759
4760         * libs/gst/base/gstbasetransform.h:
4761         Fix macro for locking/unlocking the transform lock.
4762
4763 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
4764
4765         * docs/plugins/tmpl/.cvsignore:
4766           Ignore more.
4767
4768 2007-05-18  Edward Hervey  <edward@fluendo.com>
4769
4770         * plugins/elements/gstqueue.c: (gst_queue_loop):
4771         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
4772         for the subtle art of warning a potentially blocking thread that it
4773         should check the source pad return value, and relay the information
4774         upstream.
4775
4776 2007-05-18  Edward Hervey  <edward@fluendo.com>
4777
4778         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
4779         Release the queue lock !
4780
4781 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4782
4783         * docs/libs/gstreamer-libs-sections.txt:
4784         Add the two new controller functions to the appropiate places.
4785
4786 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4787
4788         reviewed by: Stefan Kost <ensonic@users.sf.net>
4789
4790         * libs/gst/controller/gstcontroller.c:
4791         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
4792         (_gst_controller_get_property), (_gst_controller_set_property),
4793         (_gst_controller_init), (_gst_controller_class_init):
4794         * libs/gst/controller/gstcontroller.h:
4795         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
4796         (gst_object_get_control_rate), (gst_object_set_control_rate):
4797         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
4798         Add API that provides sync suggestion timestamps for elements that
4799         call gst_object_sync_values() from which those elements can subdivide
4800         their processing loop to get the best results for the controlled
4801         properties. For now it just suggests last_sync + control_rate as
4802         new timestamp but this will be improved in the future.
4803
4804         While doing that change the control-rate property to a GstClockTime
4805         from guint and change it's meaning from samples to nanoseconds as
4806         the GstController doesn't know anything about sampling rate. Strictly
4807         speaking this breaks ABI but as the control-rate property didn't do
4808         anything in the past and as such couldn't be used this should be no
4809         problem.        
4810
4811 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4812
4813         reviewed by: Stefan Kost <ensonic@users.sf.net>
4814
4815         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
4816         (gst_controller_unset_all):
4817         * libs/gst/controller/gstcontrollerprivate.h:
4818         * libs/gst/controller/gstinterpolation.c:
4819         (gst_controlled_property_find_control_point_node):
4820         Save last synced value from the list to continue searching from there
4821         in future syncs. This speeds everything up a bit.
4822         
4823 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
4824
4825         reviewed by: Stefan Kost <ensonic@users.sf.net>
4826
4827         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
4828         (gst_control_point_find), (gst_controlled_property_new),
4829         (gst_control_point_free), (gst_controlled_property_free),
4830         (gst_controller_set), (gst_controller_set_from_list),
4831         (gst_controller_unset), (gst_controller_unset_all),
4832         (gst_controller_sync_values):
4833         * libs/gst/controller/gstcontroller.h:
4834         * libs/gst/controller/gstcontrollerprivate.h:
4835         * libs/gst/controller/gstinterpolation.c:
4836         (gst_controlled_property_find_control_point_node),
4837         (interpolate_none_get), (interpolate_trigger_get):
4838         Add a new private GstControlPoint struct which "inherits" from
4839         GstTimedValue to allow different interpolators to store internal
4840         values next to each control point. From the outside everything is
4841         still a GstControlPoint so we don't loose binary compatibility.
4842         Also fixup all the GValue handling to not leak GValues or list nodes.
4843         * tests/check/libs/controller.c: (GST_START_TEST):
4844         Free the list nodes and GValues in the controller_misc test.
4845
4846 2007-05-17  Edward Hervey  <edward@fluendo.com>
4847
4848         * gst/gstsegment.c:
4849         Small doc fix.
4850
4851 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
4852
4853         * gst/gstplugin.c: (gst_plugin_load_file):
4854           If we fail to load a plugin because of unresolved symbols or missing
4855           libraries and spew a warning to stderr, we may just as well mention
4856           which plugin it was that failed to load.
4857
4858 2007-05-13  David Schleef  <ds@schleef.org>
4859
4860         * docs/Makefile.am: the gtk-doc makefile snippet correctly
4861           handles the case when ENABLE_GTK_DOC is false, and installs
4862           the prebuilt documentation.  So gtk-doc subdirs are 
4863           unconditionally enabled.  Fixes: #349099.
4864
4865 2007-05-13  David Schleef  <ds@schleef.org>
4866
4867         * gst/gstutils.h: Reword some documentation.
4868
4869 2007-05-12  David Schleef  <ds@schleef.org>
4870
4871         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
4872           do anything with the passed "module" parameter, so remove it.
4873           Allows removal of additional vestigal code.
4874
4875 2007-05-12  David Schleef  <ds@schleef.org>
4876
4877         * gst/gstplugin.c:
4878           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
4879           Switch to using g_stat() because it's more portable.
4880
4881 2007-05-12  David Schleef  <ds@schleef.org>
4882
4883         * gst/gst.c:
4884           Add GST_DISABLE_OPTION_PARSING, in order to disable option
4885           parsing for embedded systems.
4886         * gst/gstelementfactory.c:
4887           Allow gst_element_register() to be called with plugin==NULL.
4888           Did nobody notice that static elements were broken?
4889
4890 2007-05-12  Wim Taymans  <wim@fluendo.com>
4891
4892         * tools/gst-launch.c: (event_loop):
4893         Give more interesting info when buffering starts and stops.
4894         Fix case where buffering starts but we fail to update the buffering flag
4895         because the target state is not PLAYING.
4896
4897 2007-05-12  Wim Taymans  <wim@fluendo.com>
4898
4899         * plugins/elements/gstqueue.c: (gst_queue_init),
4900         (gst_queue_finalize), (update_time_level), (apply_segment),
4901         (apply_buffer), (gst_queue_locked_flush),
4902         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
4903         (gst_queue_handle_sink_event), (gst_queue_chain),
4904         (gst_queue_push_one), (gst_queue_loop):
4905         * plugins/elements/gstqueue.h:
4906         Refactor an cleanup queue a bit.
4907         Do better time level calculations that also work when the srcpad is not
4908         yet running.
4909         Remove some unneeded debug lines.
4910
4911         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
4912         Added testcase for time level measurement.
4913         Try to make some stuff more racefree.
4914
4915 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
4916
4917         * gst/gsturi.c: (gst_element_make_from_uri):
4918           Don't leak plugin feature.
4919
4920         * tests/check/Makefile.am:
4921         * tests/check/gst/.cvsignore:
4922         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
4923           Add brain-dead unit test.
4924
4925 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
4926
4927         Patch by: Jeroen Wouters <woutersj at gmail com>
4928
4929         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
4930           Treat protocol strings in a case-insensitive way (#437563).
4931
4932 2007-05-11  Michael Smith <msmith@fluendo.com>
4933
4934         * gst/gstplugin.c: (gst_plugin_load_file):
4935         * gst/gstregistry.c: (gst_registry_scan_path_level):
4936           Don't print a g_warning for any failure to load a shared object.
4937           Instead, push this down into gstplugin.c, and warn _only_ if we
4938           failed to open the module (i.e. failure to link).
4939           Avoids warnings on normal, working, non-plugin .so files.
4940
4941 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
4942
4943         * gst/gstplugin.c (gst_plugin_load_file):
4944         * gst/gstregistry.c (GST_CAT_DEFAULT,
4945           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
4946           Print a g_warning if there was an error when loading a plugins during
4947           registry scan. The shuld help beginners starting with gst-plugin
4948           template.
4949
4950 2007-05-10  Wim Taymans  <wim@fluendo.com>
4951
4952         * plugins/elements/gstqueue.c: (gst_queue_class_init),
4953         (update_time_level), (gst_queue_locked_flush),
4954         (gst_queue_handle_sink_event), (gst_queue_chain),
4955         (gst_queue_push_one), (gst_queue_loop):
4956         * plugins/elements/gstqueue.h:
4957         Be smarter when calculating the current amount of data in the queue by
4958         measuring the difference between start and end timestamps (in running
4959         time) inside the queue. Fixes #432876.
4960         API: GstQueue::pushing to notify elements that we are pushing data again
4961         since the running signal is rather broken for this purpose.
4962
4963 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
4964
4965         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
4966           gst_queue_base_init, gst_queue_init):
4967           use GST_BOILERPLATE
4968
4969 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
4970
4971         * win32/common/libgstreamer.def:
4972         Add new exported functions.
4973         * win32/vs6/grammar.dsp:
4974         Use grammar pre-generated files.
4975
4976 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
4977
4978         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
4979
4980         * gst/Makefile.am:
4981         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
4982         * gst/gstparse.h:
4983         * gst/gstutils.c: (gst_parse_bin_from_description):
4984         * gst/gstutils.h:
4985           Maintain API and ABI when --disable-parse is used. Now that
4986           we have an appropriate error code, we can just return NULL and the
4987           appropriate error when gst_parse_launch() is used despite it having
4988           been disabled (#342564).
4989
4990         * tests/check/Makefile.am:
4991         * tests/check/pipelines/.cvsignore:
4992         * tests/check/pipelines/parse-disabled.c:
4993           Make sure these functions exist and return NULL plus a GError when
4994           --disable-parse is used.
4995
4996 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
4997
4998         * tests/benchmarks/complexity.c: (main):
4999         * tests/benchmarks/mass-elements.c: (main):
5000           Set a good example and don't leak messages.
5001
5002 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
5003
5004         * docs/gst/Makefile.am:
5005         * docs/libs/Makefile.am:
5006           Correct fixxrefs options.
5007
5008         * docs/plugins/Makefile.am:
5009         * docs/plugins/gstreamer-plugins-docs.sgml:
5010         * docs/plugins/gstreamer-plugins-sections.txt:
5011         * plugins/elements/Makefile.am:
5012         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
5013         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
5014           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
5015           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
5016           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
5017           _GstCapsFilterClass, trans_class):
5018         * plugins/elements/gstelements.c (name, rank, type, _elements):
5019         * plugins/elements/gstidentity.c
5020           (gst_identity_check_imperfect_timestamp,
5021           gst_identity_check_imperfect_offset):
5022           Document capsfilter and add doc-blurb to identity.
5023
5024 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
5025
5026         * libs/gst/controller/gstcontroller.c:
5027         (gst_controlled_property_set_interpolation_mode):
5028         * libs/gst/controller/gstinterpolation.c:
5029           Don't crash if someone tries to set an interpolation mode that
5030           is invalid or that isn't supported yet. Fixes #422295.
5031
5032         * tests/check/libs/controller.c: (GST_START_TEST),
5033         (gst_controller_suite):
5034           Add a test case for the above.
5035
5036 2007-05-03  Edward Hervey  <edward@fluendo.com>
5037
5038         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5039         Properly set the last_stop position on GstSegment. This will only happen
5040         if there is a buffer to push out.
5041
5042 2007-05-03  Wim Taymans  <wim@fluendo.com>
5043
5044         * libs/gst/base/gstbasetransform.c:
5045         (gst_base_transform_buffer_alloc):
5046         always_in_place does not mean that the sink and source caps are the
5047         same! Make sure we don't blindly proxy the buffer_alloc in this case.
5048
5049 2007-05-03  Wim Taymans  <wim@fluendo.com>
5050
5051         * docs/libs/gstreamer-libs-sections.txt:
5052         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5053         (gst_base_src_default_query), (gst_base_src_get_range):
5054         * libs/gst/base/gstbasesrc.h:
5055         API: gst_base_src_query_latency(). Added method so that subclasses can
5056         easily get the latency values of the base source class.
5057
5058 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
5059
5060         * tools/gst-inspect.c (print_implementation_info):
5061         Remove 0.8 cruft.
5062
5063 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
5064
5065         * tools/Makefile.am:
5066         * tools/gst-launch.1.in:
5067           Don't create a customised man page based on the host architecture,
5068           describe the default registry path generically. That way the man
5069           page is the same for all architectures and packagers have one
5070           multilib issue less to deal with. Fixes #434926.
5071
5072 2007-05-02  Wim Taymans  <wim@fluendo.com>
5073
5074         * gst/gstpad.c:
5075         Fix documentation as spotted by rg on IRC. 
5076
5077 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
5078
5079         * gst/gstutils.c:
5080           Improve docs for gst_element_{link,unlink}.
5081
5082 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
5083
5084         * docs/design/part-events.txt:
5085         * docs/design/part-overview.txt:
5086         * gst/gstevent.c:
5087         * gst/gsturi.c:
5088         * gst/gsturi.h:
5089         * libs/gst/base/gstbasesink.c:
5090           Typo fixes; minor docs addition.
5091
5092 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
5093
5094         * docs/gst/gstreamer-sections.txt:
5095         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
5096         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
5097         * gst/gsturi.h:
5098         API: Add gst_uri_protocol_is_supported(), which checks if a sink
5099         or src that supports a given URI protocol exists.
5100
5101 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
5102
5103         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5104         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5105         Set the location to NULL if "file://" is set as URI. Otherwise
5106         some random previous URI would still be set if "file://" is
5107         set on an already used filesink/filesrc.
5108
5109 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
5110
5111         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5112         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5113         Special case the "file://" URI as as this is used by some
5114         applications to test with gst_element_make_from_uri if there's
5115         an element that supports the URI protocol.
5116         Also move the g_path_is_absolute() check for the location part
5117         of the URI to also check this for "file://localhost/bla" URIs.
5118
5119 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
5120
5121         * docs/gst/gstreamer-sections.txt:
5122         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
5123         * gst/gstbuffer.h:
5124         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
5125         (gst_buffer_suite):
5126           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
5127
5128 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
5129
5130         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
5131         (gst_registry_binary_load_pad_template),
5132         (gst_registry_binary_load_plugin),
5133         (gst_registry_binary_read_cache):
5134         * gst/gstregistrybinary.h:
5135           Implement no-mmap alternative for registry reading. Do code cleanups.
5136           Add more comments about avoiding strdups for all text data. Comments
5137           welcome.
5138
5139 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
5140
5141         * gst/gstregistrybinary.h (GstBinaryPluginElement,
5142           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
5143           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
5144           Comment structs and reformat to fix the build (that stuff should go
5145           into a priv. header).
5146
5147 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
5148
5149         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
5150         (gst_registry_binary_load_feature):
5151         * gst/gstregistrybinary.h:
5152           Refactor so that we can implement multiple features. Add support for
5153           TypeFindFactory features.
5154
5155 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
5156
5157         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
5158
5159         * configure.ac:
5160           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
5161
5162 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
5163
5164         * gst/gstbin.c: (gst_bin_element_set_state),
5165         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
5166         (bin_handle_async_done), (gst_bin_handle_message_func):
5167           Fix build with --gst-disable-gst-debug
5168
5169 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
5170
5171         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
5172           Make sure streaming has finished before calling the ::stop() vfunc,
5173           since that vfunc might clear state which is being used in the
5174           streaming thread. This fixes a race that caused crashes in
5175           audioresample when shutting down a pipeline (#420106).
5176
5177 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
5178
5179         * docs/gst/gstreamer-sections.txt:
5180           That was one byte missing.
5181
5182 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
5183
5184         * configure.ac:
5185         * docs/gst/gstreamer-sections.txt:
5186         * gst/Makefile.am:
5187         * gst/gstconfig.h.in:
5188         * gst/gstobject.c: (gst_object_class_init),
5189         (gst_signal_object_class_init):
5190         * gst/gstobject.h:
5191           2nd attempt to have a xml-less build as a joined effort of #413123
5192           and #421480.
5193
5194 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
5195
5196         * docs/design/draft-tagreading.txt:
5197           Added open issues/thoughts to draft.
5198
5199 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
5200
5201         * gst/parse/grammar.tab.pre.c:
5202         * gst/parse/grammar.tab.pre.h:
5203         * gst/parse/lex._gst_parse_yy.pre.c:
5204         Update the prebuild parser sources.
5205
5206 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
5207
5208         * gst/parse/Makefile.am:
5209         And now fix the building of the flex sources. Now everything should
5210         work as expected.
5211
5212 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
5213
5214         * gst/parse/Makefile.am:
5215         Now hopefully fix the build failures by setting proper rule
5216         dependencies and moving instead of copying.
5217
5218 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
5219
5220         * tests/benchmarks/complexity.gnuplot:
5221         * tests/benchmarks/complexity.scm:
5222         * tests/benchmarks/mass-elements.gnuplot:
5223         * tests/benchmarks/mass-elements.scm:
5224           Total licensification.
5225
5226 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
5227
5228         * gst/parse/Makefile.am:
5229           Fix the build by correcting the rule that gave wrong files to flex.
5230
5231 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
5232
5233         * tests/benchmarks/complexity.c:
5234         * tests/benchmarks/mass-elements.c:
5235           Change licence to LGPL as granted by Benjamin and Andy.
5236
5237 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
5238
5239         * gst/parse/Makefile.am:
5240         Add correct grammar.tab.h dependency if compiling without new enough
5241         flex. Fixes #431150.
5242
5243 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
5244
5245         * gst/parse/Makefile.am:
5246         Fix typo and use outdated sources if the flex/bison sources are newer
5247         than the pregenerated ones but flex is too old. Print a warning in
5248         that case. This should fix the build on the build bot.
5249
5250 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
5251
5252         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
5253         * gst/parse/Makefile.am:
5254         * gst/parse/grammar.y:
5255         * gst/parse/parse.l:
5256         Make the parser reentrant and recursively callable. This requires flex
5257         >= 2.5.31, for older versions pregenerated sources are used as we
5258         can't bump the build dependency. Finally fixes #349180.
5259
5260         * gst/gstparse.c: (gst_parse_launch):
5261         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
5262         now anyway.
5263
5264         * docs/gst/Makefile.am:
5265         * docs/gst/Makefile.am:
5266         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
5267         (__gst_parse_strfree), (__gst_parse_link_new),
5268         (__gst_parse_link_free), (__gst_parse_chain_new),
5269         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
5270         (gst_parse_element_set), (gst_parse_free_link),
5271         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
5272         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
5273         (_gst_parse_launch):
5274         * gst/parse/grammar.tab.pre.h:
5275         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
5276         (yy_get_previous_state), (yy_try_NUL_trans), (input),
5277         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
5278         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
5279         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
5280         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
5281         (_gst_parse_yypop_buffer_state),
5282         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
5283         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
5284         (yy_fatal_error), (_gst_parse_yyget_extra),
5285         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
5286         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
5287         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
5288         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
5289         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
5290         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
5291         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
5292         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
5293         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
5294         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
5295         (_gst_parse_yyfree):
5296         If the installed flex version is too old use pre-generated parser
5297         sources. These pre-generated parser sources are always updated when
5298         the actual flex/bison sources change but require everybody who wants
5299         to change something in the parser to have flex >= 2.5.31 installed.
5300
5301 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
5302
5303         * common/m4/gst-gettext.m4:
5304         * gst/gst-i18n-lib.h:
5305           Make --disable-nls to work
5306
5307 2007-04-17  Wim Taymans  <wim@fluendo.com>
5308
5309         * gst/gstconfig.h.in:
5310         Revert previous change that broke the build.
5311
5312 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
5313
5314         * configure.ac:
5315         * gst/Makefile.am:
5316         * gst/gstconfig.h.in:
5317           Drop libxml2 dependency when building with 
5318           --enable-binary-registry --disable-loadsave
5319
5320 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
5321
5322         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
5323         (gst_registry_binary_read_cache):
5324         * gst/gstregistrybinary.h:
5325           Remove unnecessary <sys/mman.h> include which broke the win32 build
5326           with MingW; move includes from header file to .c file, even if the
5327           header file isn't installed; use g_strerror() where UTF-8 strings
5328           are expected, such as in GST_DEBUG messages.
5329
5330 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5331
5332         * docs/libs/gstreamer-libs-sections.txt:
5333         Remove bogus addition for API I didn't end up keeping.
5334
5335         * libs/gst/base/gstbasesrc.h:
5336         Mention Since: 0.10.13 in the documentation.
5337
5338         Add the API keyword to the previous ChangeLog entry.
5339
5340 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5341
5342         * docs/libs/gstreamer-libs-sections.txt:
5343         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5344         (gst_base_src_default_prepare_seek_segment),
5345         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
5346         * libs/gst/base/gstbasesrc.h:
5347         Allow basesrc derived classes to execute seeks in other formats
5348         by providing a prepare_seek_segment vmethod. Sub-classes can choose
5349         to prepare the GstSegment in any format that their perform_seek method
5350         will be able to understand. The default implementation provides the
5351         old behaviour of attempting to convert the seek offsets to the 
5352         configured native format.
5353
5354         API: basesrc::prepare_seek_segment vmethod.
5355
5356 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5357
5358         * gst/gstelement.c: (gst_element_get_state_func):
5359         Don't output the same debug statement twice.
5360
5361         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
5362         (gst_adapter_peek), (gst_adapter_take_buffer):
5363         Optimise the case where we have buffers at the head of the queue that
5364         can be joined quickly (because they're contiguous sub-buffers) by
5365         merging them together rather than copying data out into new memory.
5366
5367         * gst/parse/grammar.y:
5368         * tests/check/pipelines/parse-launch.c:
5369         Fix a leak in an error path for parse_launch, and add a check 
5370         for it to the testsuite.
5371
5372 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5373
5374         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
5375           Don't deadlock when releasing a pad - gst_pad_set_active may try
5376           and take the multiqueue lock too.
5377
5378 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
5379
5380         * gst/gsterror.c: (_gst_core_errors_init):
5381         * gst/gsterror.h:
5382           API: add GST_CORE_ERROR_DISABLED (#392804).
5383
5384 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5385
5386         * docs/faq/gst-uninstalled:
5387           don't get empty paths on the PATH variables
5388         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
5389           Don't format for the uncommon terminal width of 84 characters.
5390
5391 2007-04-06  Wim Taymans  <wim@fluendo.com>
5392
5393         * gst/gstpipeline.c: (reset_stream_time),
5394         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
5395         Only try to select a different pipeline clock when we went back to
5396         PAUSED and not when we merely got flushed.
5397
5398 2007-04-05  Michael Smith  <msmith@fluendo.com>
5399
5400         * tools/gst-launch.1.in:
5401           fractions are better supported in gstreamer than ractions, so
5402           suggest using those.
5403
5404 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5405
5406         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
5407
5408         * po/LINGUAS:
5409         * po/da.po:
5410           Added Danish translation.
5411
5412 2007-04-05  Wim Taymans  <wim@fluendo.com>
5413
5414         * libs/gst/base/gstbasesink.c:
5415         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
5416         Fix leak caused when refusing newsegment after EOS.
5417
5418         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5419         (gst_fake_sink_init), (gst_fake_sink_set_property),
5420         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
5421         (gst_fake_sink_render), (gst_fake_sink_change_state):
5422         * plugins/elements/gstfakesink.h:
5423         Add num-buffers property to make the element generate EOS after a
5424         configurable amount of buffers.
5425         API: fakesink::num-buffers property.
5426
5427         * tests/check/elements/fakesink.c: (GST_START_TEST),
5428         (fakesink_suite):
5429         Fix GstBus leak in test.
5430         Test for fakesink num-buffers.
5431
5432 2007-04-05  Wim Taymans  <wim@fluendo.com>
5433
5434         * libs/gst/base/gstbasesink.c:
5435         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5436         (gst_base_sink_change_state):
5437         Don't accept anything after an EOS, return UNEXPECTED instead.
5438
5439         * tests/check/elements/fakesink.c: (GST_START_TEST),
5440         (fakesink_suite):
5441         Unit test for new EOS behaviour.
5442
5443 2007-04-05  Wim Taymans  <wim@fluendo.com>
5444
5445         * gst/gstelement.c: (gst_element_get_request_pad):
5446         Make padtemplates also work when they don't contain %s or %d.
5447
5448 2007-04-05  Wim Taymans  <wim@fluendo.com>
5449
5450         * docs/gst/gstreamer-sections.txt:
5451         * gst/gstclock.c: (gst_clock_adjust_unlocked),
5452         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
5453         * gst/gstclock.h:
5454         Improve _adjust_unlocked() so that it overflows less.
5455         Add gst_clock_unadjust_unlocked to convert from external time to
5456         internal time based on calibration.
5457         Add some more debug.
5458         API: GstClock::gst_clock_unadjust_unlocked()
5459
5460 2007-04-03  Wim Taymans  <wim@fluendo.com>
5461
5462         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
5463
5464         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
5465         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
5466         when releasing sink pad. Fixes #425400.
5467
5468 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
5469
5470         * docs/random/ensonic/dynlink.txt:
5471           More work on proposal for new core api.
5472
5473         * docs/libs/gstreamer-libs-sections.txt:
5474         * libs/gst/base/gstbasetransform.h:
5475           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
5476           
5477         * libs/gst/controller/gstcontroller.c:
5478         (on_object_controlled_property_changed),
5479         (gst_controller_sync_values),
5480         (gst_controller_set_interpolation_mode):
5481         * libs/gst/controller/gstcontroller.h:
5482           Less verbose logging add docs for unimplemented parts and correctly
5483           return when using unavailable parts.
5484
5485 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
5486
5487         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
5488         Move all the debug to the CLOCK category, and associate it with
5489         the clock object.
5490
5491 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
5492
5493         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
5494         Make take_buffer a bit quicker by removing redundant checks
5495         caused by calling gst_adapter_take.
5496
5497 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
5498
5499         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
5500           Don't leak GCond.
5501
5502         * tests/check/Makefile.am:
5503         * tests/check/elements/.cvsignore:
5504         * tests/check/elements/multiqueue.c: (setup_multiqueue),
5505         (GST_START_TEST), (multiqueue_suite):
5506           Add some dead simple unit tests for the 'multiqueue' element
5507           (some bits don't work yet and are disabled for now).
5508
5509 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
5510
5511         * gst/gstelement.c: (gst_element_get_request_pad),
5512         (gst_element_class_get_request_pad_template):
5513           Make gst_element_get_request_pad() create request pads only for
5514           request pad templates and not for, say, sometimes pad templates.
5515
5516 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
5517
5518         * docs/design/draft-klass.txt:
5519           Add example that needs more thinking.
5520         
5521         * docs/design/draft-missing-plugins.txt:
5522           More thoughts about wrapper plugins.
5523         
5524         * docs/random/ensonic/embedded.txt:
5525         * docs/random/ensonic/profiling.txt:
5526           More design work.
5527
5528 2007-03-25  Wim Taymans  <wim@fluendo.com>
5529
5530         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
5531         (gst_base_src_loop):
5532         Only push the segment events in the PLAYING state for live sources.
5533
5534 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
5535
5536         * gst/gstpipeline.c: (gst_pipeline_change_state):
5537         Modify the clock distribution path in PAUSED->PLAYING so that we 
5538         never attempt to choose a new clock unless we're actually leaving
5539         the PAUSED state for the first time. This prevents choosing a
5540         different clock when the state_change gets called for a 2nd time due
5541         to some element doing an async state change.
5542
5543 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
5544
5545         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
5546         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
5547         (gst_pad_chain_unchecked), (gst_pad_push):
5548         Revert last commit. This needs some more thoughts.
5549
5550 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
5551
5552         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
5553         (gst_pad_chain_unchecked), (gst_pad_push):
5554         Check in set_caps if the caps are compatible with the pad and remove
5555         two functions that are redundant now. Fixes #421543.
5556
5557 2007-03-22  Wim Taymans  <wim@fluendo.com>
5558
5559         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5560         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
5561         Unref some more to make valgrind happy.
5562
5563 2007-03-22  Wim Taymans  <wim@fluendo.com>
5564
5565         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
5566         (gst_system_clock_id_wait_jitter),
5567         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5568         Fix anoying regression that survived a few releases. When adding an
5569         async entry while blocking on a sync entry, the sync entry will unblock
5570         but still be busy, so it should continue to wait instead of returning
5571         _BUSY to the app.
5572         Add some comments here and there.
5573
5574         * tests/check/gst/gstsystemclock.c: (mixed_thread),
5575         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
5576         Add testcase for this.
5577
5578 2007-03-22  Wim Taymans  <wim@fluendo.com>
5579
5580         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5581         Handle errors from the clock sync better, only UNSCHEDULED indicates a
5582         WRONG_STATE and can silently pause the task. All other cases should
5583         error out.
5584
5585 2007-03-22  Wim Taymans  <wim@fluendo.com>
5586
5587         Patch by: Ville Syrjala <syrjala at sci dot fi>
5588
5589         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
5590         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
5591         Improve debugging.
5592
5593 2007-03-21  Michael Smith  <msmith@fluendo.com>
5594
5595         * docs/pwg/advanced-types.xml:
5596           Fix some errors in the typefinding docs pointed out on irc.
5597
5598 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
5599
5600         * libs/gst/base/gstbasesrc.c:
5601         Clarify FIXME comment in the face of having added unlock_stop()
5602
5603 2007-03-21  Wim Taymans  <wim@fluendo.com>
5604
5605         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
5606         Prepare for release where we warn against possible app breakage in the
5607         case of live pipelines along with an env var to enable/disable live
5608         preroll mode (GST_COMPAT=[no-]live-preroll).
5609
5610 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5611
5612         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
5613         So we should use correct constants for checking for None offset.
5614
5615 2007-03-20  Wim Taymans  <wim@fluendo.com>
5616
5617         * docs/design/part-block.txt:
5618         Mention the fact that the newly switched element should be set to at
5619         least PAUSED.
5620
5621 2007-03-20  Wim Taymans  <wim@fluendo.com>
5622
5623         * gst/gst.c:
5624         Fix compilation with registry disabled as spotted by Saur.
5625
5626 2007-03-20  Wim Taymans  <wim@fluendo.com>
5627
5628         Patch by: Olivier Crete <tester at tester dot ca>
5629
5630         * gst/gstelement.c: (gst_element_sync_state_with_parent):
5631         Look at the pending state too when syncing the element state to the
5632         parent. Fixes #420133.
5633
5634 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
5635
5636         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
5637         (gst_base_sink_change_state):
5638         * libs/gst/base/gstbasesink.h:
5639         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5640         (gst_base_src_default_event), (gst_base_src_unlock_stop),
5641         (gst_base_src_deactivate):
5642         * libs/gst/base/gstbasesrc.h:
5643         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
5644         for sub-classes to correctly clear any state they set trying to
5645         unlock, such as clearing out unlock commands from a command fd.
5646         API: basesrc::unlock_stop
5647         API: basesink::unlock_stop
5648
5649         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
5650         (gst_fd_sink_render), (gst_fd_sink_unlock),
5651         (gst_fd_sink_unlock_stop):
5652         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
5653         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
5654         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
5655
5656         Implement unlock_stop in fdsrc and fdsink.
5657         Implement seeking in fdsrc when a seekable fd is passed, as in
5658         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
5659
5660 2007-03-19  Wim Taymans  <wim@fluendo.com>
5661
5662         Patch by: Evan Nemerson <evan at coeus dash group dot com>
5663
5664         * gst/gstelement.c: (gst_element_class_init):
5665         Fix pad-added and pad-removed signal signatures so that the pad type is
5666         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
5667
5668 2007-03-19  Wim Taymans  <wim@fluendo.com>
5669
5670         * docs/gst/gstreamer-sections.txt:
5671         Add new element field and method.
5672
5673         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5674         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
5675         (gst_bin_recalc_state), (gst_bin_get_state_func),
5676         (gst_bin_element_set_state), (gst_bin_change_state_func),
5677         (gst_bin_continue_func), (bin_bus_handler),
5678         (bin_push_state_continue), (bin_handle_async_start),
5679         (bin_handle_async_done), (gst_bin_handle_message_func):
5680         Make async state changes a bit smarter by using new ASYNC_START and
5681         ASYNC_DONE messages. This reduces the number of times we run the state
5682         recalculation thread.
5683         Don't change state of element with a pending ASYNC_START message.
5684         Deprecate STATE_DIRTY messages.
5685         
5686         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
5687         (gst_element_get_state_func), (gst_element_continue_state),
5688         (gst_element_lost_state), (gst_element_set_state_func),
5689         (gst_element_change_state):
5690         * gst/gstelement.h:
5691         Keep the state that was last set by the app in a new element field.
5692         Don't allow state changes when handling an element event.
5693         Post ASYNC_START and ASYNC_DONE messages.
5694         Change lost_state so that we go to PAUSED and wait for the parent to set
5695         us to PLAYING again (so latency calculation can be performed)
5696         Export gst_element_change_state() method so that subclasses can use it.
5697         API: gst_element_change_state()
5698         API: GST_STATE_TARGET
5699
5700         * gst/gstpipeline.c: (gst_pipeline_class_init),
5701         (reset_stream_time), (gst_pipeline_change_state),
5702         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
5703         Using the new ASYNC_START message we can reset the base_time when
5704         needed. This can then be used to implement base_time redistribution in
5705         flushing seeks so that we can remove the explicit seek handling.
5706         Perform latency query and configuration when going to PLAYING.
5707
5708         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5709         (gst_base_sink_query), (gst_base_sink_change_state):
5710         Post new ASYNC_START/ASYNC_DONE messages.
5711
5712         * tests/check/generic/sinks.c: (GST_START_TEST):
5713         Fix test because the bin will not set the async element to PLAYING right
5714         away.
5715
5716         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
5717         Make the message check a little stronger.
5718         Handle ASYNC messages.
5719
5720         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
5721         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
5722         Expect ASYNC_DONE messages.
5723
5724 2007-03-19  Wim Taymans  <wim@fluendo.com>
5725
5726         * docs/gst/gstreamer-sections.txt:
5727         * gst/gstmessage.c: (gst_message_new_async_start),
5728         (gst_message_new_async_done), (gst_message_parse_info),
5729         (gst_message_parse_async_start):
5730         * gst/gstmessage.h:
5731         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
5732         support.
5733
5734 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
5735
5736         * tools/gst-inspect.c:
5737         (print_plugin_automatic_install_info_codecs):
5738           Now that we don't check for the 'Codec' keyword any longer in the
5739           klass, we shouldn't spew a warning if the klass isn't a decoder or
5740           encoder (since it might be a Source/Network, for example).
5741
5742 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
5743
5744         * tools/gst-inspect.c:
5745         (print_plugin_automatic_install_info_codecs):
5746           Don't require decoder/demuxer/depayloader elements or
5747           encoder/muxer/paylader elements to have 'Codec' as part of their
5748           factory class string when introspecting a plugin's capabilities.
5749           draft-klass.txt mentions that it might be removed in future, and
5750           flump3dec doesn't have it as part of its class string, so chances
5751           are others might also not have it.
5752
5753 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
5754
5755         * po/af.po:
5756         * po/az.po:
5757         * po/bg.po:
5758         * po/ca.po:
5759         * po/cs.po:
5760         * po/de.po:
5761         * po/en_GB.po:
5762         * po/fr.po:
5763         * po/it.po:
5764         * po/nb.po:
5765         * po/nl.po:
5766         * po/ru.po:
5767         * po/sq.po:
5768         * po/sr.po:
5769         * po/sv.po:
5770         * po/tr.po:
5771         * po/uk.po:
5772         * po/vi.po:
5773         * po/zh_CN.po:
5774         * po/zh_TW.po:
5775           Update translations from translation project
5776
5777 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
5778
5779         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
5780         (gst_child_proxy_set_property):
5781           Invert precondition check to be alike the ones in the mimiced gobject
5782           api.
5783
5784 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
5785
5786         * docs/design/draft-tagreading.txt:
5787         * docs/random/ensonic/audiobaseclasses.txt:
5788           Do some Architect work.
5789
5790         * gst/gstobject.c: (gst_object_set_name):
5791           Add a WARNING.
5792
5793         * gst/gstpad.c:
5794           Add docs that point from gst_pad_get_range to gst_pad_pull_range
5795
5796 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
5797
5798         * gst/gstsystemclock.c: (gst_system_clock_init),
5799         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
5800         Defer starting the async system clock thread until the first async
5801         wait is scheduled. Fixes #414986.
5802
5803 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
5804
5805         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
5806         (gst_single_queue_free):
5807           Fix small leak (free GstSingleQueue structure too, not only contents).
5808
5809 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
5810
5811         * gst/gstbin.c:(gst_bin_add):
5812         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
5813         * win32/common/libgstbase.def:
5814         * win32/common/libgstreamer.def:
5815         Add new exported functions.
5816
5817 2007-03-09  Wim Taymans  <wim@fluendo.com>
5818
5819         * docs/plugins/gstreamer-plugins-sections.txt:
5820         Fix GstTee docs.
5821
5822 2007-03-09  Wim Taymans  <wim@fluendo.com>
5823
5824         * docs/gst/gstreamer-sections.txt:
5825         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
5826         * gst/gstbuffer.h:
5827         Add metadata copy functions. Fixes #393099.
5828         API: gst_buffer_copy_metadata()
5829
5830         * gst/gstutils.c: (gst_buffer_stamp):
5831         * libs/gst/base/gstbasetransform.c:
5832         (gst_base_transform_prepare_output_buffer):
5833         Use new metadata copy functions.
5834
5835 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5836
5837         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5838         (gst_identity_init), (gst_identity_check_perfect),
5839         (gst_identity_check_imperfect_timestamp),
5840         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
5841         (gst_identity_set_property), (gst_identity_get_property):
5842         * plugins/elements/gstidentity.h:
5843         Separate out check-imperfect-timestamp and check-imperfect-offset.
5844         Put back check-perfect as it was to keep compatibility.
5845
5846 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
5847
5848         * gst/gstelement.c: (gst_element_dispose):
5849         There's no need to warn if VOID_PENDING is not NONE here, as
5850         long as the state is NULL it's ok, and that's checked immediately
5851         above.
5852
5853 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5854
5855         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5856         Fix check for perfect stream to ignore buffers with -1 
5857         offsets/offset ends when checking data contiguity.
5858
5859 2007-03-08  Wim Taymans  <wim@fluendo.com>
5860
5861         * tools/gst-launch.c: (event_loop):
5862         Print INFO messages.
5863
5864 2007-03-08  Wim Taymans  <wim@fluendo.com>
5865
5866         * libs/gst/base/gstbasetransform.c:
5867         (gst_base_transform_sink_eventfunc),
5868         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
5869         (gst_base_transform_activate):
5870         * libs/gst/base/gstbasetransform.h:
5871         Add support for dropping buffers with custom GstFlowReturn.
5872         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
5873         buffers or dropped buffers.
5874
5875         * docs/libs/gstreamer-libs-sections.txt:
5876         docs for new custom return code.
5877
5878         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5879         Use drop support in base class to implement drop-probability.
5880
5881 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
5882
5883         * gst/gst.c: (load_plugin_func):
5884         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
5885         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
5886         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
5887           Remove newlines at end of debug log strings.
5888
5889 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5890
5891         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5892         Only post bus message at max, once per buffer received.
5893
5894 2007-03-07  Wim Taymans  <wim@fluendo.com>
5895
5896         * docs/design/Makefile.am:
5897         * docs/design/part-synchronisation.txt:
5898         Add doc about synchronisation
5899
5900         * docs/design/draft-latency.txt:
5901         * docs/design/part-TODO.txt:
5902         * docs/design/part-clocks.txt:
5903         * docs/design/part-events.txt:
5904         * docs/design/part-gstbus.txt:
5905         * docs/design/part-gstpipeline.txt:
5906         * docs/design/part-live-source.txt:
5907         * docs/design/part-messages.txt:
5908         * docs/design/part-overview.txt:
5909         * docs/design/part-streams.txt:
5910         * docs/design/part-trickmodes.txt:
5911         Documentation updates.
5912
5913 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
5914
5915         * gstreamer.doap:
5916         Update the doap file.
5917
5918 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5919
5920         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
5921         Rename non-perfect to imperfect for Mike and for the sanctity of the
5922         language.
5923         Also make sure bus message gets emitted for data-incontiguities.
5924
5925 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5926
5927         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
5928         (gst_identity_start):
5929         * plugins/elements/gstidentity.h:
5930         Emit bus message if check-perfect is true and we encounter a
5931         non-perfect stream between 2 consecutive buffers.
5932         Fixes #415394.
5933
5934 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
5935
5936         * configure.ac:
5937         Back to CVS
5938
5939 === release 0.10.12 ===
5940
5941 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
5942
5943         * configure.ac:
5944           releasing 0.10.12, "Inevitable Demise"
5945
5946 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
5947
5948         * configure.ac:
5949          Version 0.10.11.2 (0.10.12 pre-release)
5950          Bump libtool versioning.
5951
5952 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
5953
5954         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5955           Log flow-names and not numbers.
5956
5957 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5958
5959         * configure.ac:
5960           Convert to new AG_GST style.
5961
5962 2007-02-28  Wim Taymans  <wim@fluendo.com>
5963
5964         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
5965         Don't unref query twice.
5966
5967 2007-02-28  Wim Taymans  <wim@fluendo.com>
5968
5969         * gst/gstvalue.c: (gst_value_transform_object_string),
5970         (_gst_value_initialize):
5971         Implement GstObject -> string transform so we print object names
5972         when serializing GValues containing GstObjects.
5973
5974 2007-02-28  Wim Taymans  <wim@fluendo.com>
5975
5976         * docs/gst/gstreamer-sections.txt:
5977         Add new stuff to docs.
5978
5979 2007-02-28  Wim Taymans  <wim@fluendo.com>
5980
5981         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
5982         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
5983         (gst_base_sink_change_state):
5984         Improve latency query code.
5985         Don't leak latency events.
5986
5987         * tests/check/gst/gstbin.c: (GST_START_TEST):
5988         Improve debugging.
5989
5990 2007-02-28  Wim Taymans  <wim@fluendo.com>
5991
5992         * gst/gstelement.c: (gst_element_message_full),
5993         (gst_element_get_state_func):
5994         * gst/gstelement.h:
5995         Improve docs a little. Added Since: for new macro.
5996
5997         * gst/gstobject.c: (gst_object_sink):
5998         * gst/gstpipeline.c: (gst_pipeline_change_state),
5999         (gst_pipeline_set_new_stream_time):
6000         * gst/gstpipeline.h:
6001         Improve debugging and docs.
6002
6003         * gst/gstutils.c: (gst_element_state_change_return_get_name):
6004         Improve debugging.
6005
6006 2007-02-28  Wim Taymans  <wim@fluendo.com>
6007
6008         * gst/gstelement.c: (gst_element_message_full),
6009         (gst_element_set_locked_state), (gst_element_get_state_func),
6010         (gst_element_change_state):
6011         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
6012         Documentation updates.
6013         Small code cleanups.
6014
6015         * gst/gstmessage.c: (gst_message_new_info),
6016         (gst_message_parse_info):
6017         * gst/gstmessage.h:
6018         API: gst_message_new_info()
6019         API: gst_message_parse_info()
6020         Add INFO message create and parse code.
6021
6022 2007-02-28  Wim Taymans  <wim@fluendo.com>
6023
6024         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
6025         (bin_query_latency_done):
6026         Also report the live parameter of a latency query.
6027
6028 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6029
6030         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
6031           Copy the current generic/states example from -base and adapt so
6032           we can use the exact same code everywhere.
6033           Check a STATES_IGNORE_ELEMENTS env var which can be used
6034           to ignore certain element factories for this test, which is
6035           what is being done in -base
6036         * tests/check/Makefile.am:
6037           Mention this environment variable.
6038
6039 2007-02-27  Wim Taymans  <wim@fluendo.com>
6040
6041         * docs/gst/gstreamer-sections.txt:
6042         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
6043         (gst_bus_timed_pop), (gst_bus_pop):
6044         * gst/gstbus.h:
6045         API: gst_bus_timed_pop()
6046         Implement gst_bus_timed_pop() to do a blocking timed wait for a
6047         message to arrive on the bus.
6048
6049         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
6050         (gst_bus_suite):
6051         Two unit tests for new _timed_pop() function.
6052
6053 2007-02-23  Wim Taymans  <wim@fluendo.com>
6054
6055         * gst/gstpipeline.c: (gst_pipeline_change_state),
6056         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
6057         Don't ref a NULL clock in _provide_clock_func().
6058         Don't allow an INVALID delay.
6059         Don't try to calculate base_time with an invalid start_time.
6060         Also distribute and notify a NULL clock when it was selected.
6061
6062         * tools/gst-launch.c: (event_loop):
6063         Don't crash when a NULL clock was selected in the pipeline.
6064
6065 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
6066
6067         * docs/design/Makefile.am:
6068         * docs/design/draft-missing-plugins.txt:
6069         * docs/random/draft-missing-plugins.txt:
6070           Some small updates: update plugin system identifier prefix
6071           ('gstreamer.net' to 'gstreamer'), mention our new install
6072           API in libgstbaseutils rather than libgimme-codec, add
6073           reference to the online docs.
6074
6075 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6076
6077         * win32/common/config.h:
6078           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
6079           use moap cl ci to only check in what is mentioned in the ChangeLog.
6080
6081 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6082
6083         * docs/gst/gstreamer-sections.txt:
6084         * gst/gstelement.h:
6085           Fix up documentation to link to the correct GstGError section.
6086           Add GST_ELEMENT_INFO macro since someone else added a Info message.
6087
6088 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6089
6090         * tools/gst-launch.c: (event_loop):
6091           Make sure that we actually show the important message part of a
6092           warning message.
6093           No need to check if the gerror is not NULL to free; first of all
6094           g_free accepts NULL; and second the default error handler would
6095           segfault if gerror was NULL.
6096
6097 2007-02-21  Wim Taymans  <wim@fluendo.com>
6098
6099         * docs/gst/gstreamer-sections.txt:
6100         Removed docs as well.
6101
6102 2007-02-21  Wim Taymans  <wim@fluendo.com>
6103
6104         * gst/gstmessage.c: (gst_message_parse_duration):
6105         * gst/gstmessage.h:
6106         Remove new messages for release.
6107
6108 2007-02-20  Wim Taymans  <wim@fluendo.com>
6109
6110         * docs/design/part-gstghostpad.txt:
6111         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
6112         (gst_ghost_pad_new_full):
6113         Make the ghostpad a parent of the internal pad again for better backward
6114         compatibility. Don't write code that relies on this however.
6115
6116         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
6117         (gst_pad_link_check_hierarchy):
6118         Require that parents should be GstElements in the hierarchy check.
6119
6120 2007-02-20  Wim Taymans  <wim@fluendo.com>
6121
6122         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
6123         (gst_bin_change_state_func), (bin_query_min_max_init),
6124         (bin_query_latency_fold), (bin_query_latency_done),
6125         (gst_bin_query):
6126         Improve debug info.
6127         Implement latency query.
6128
6129 2007-02-20  Wim Taymans  <wim@fluendo.com>
6130
6131         * docs/design/part-gstghostpad.txt:
6132         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
6133         (gst_ghost_pad_internal_do_activate_push),
6134         (gst_ghost_pad_internal_do_activate_pull),
6135         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6136         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
6137         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
6138         Do not set the internal pad as a parent anymore so we can avoid
6139         hierarchy linking errors when the ghostpad has no parent yet. This also
6140         fixes failed activation because of unlinked internal pads, which in
6141         turn fixes the impossible case where you have to activate a pad before
6142         you can add it to a running element.
6143         Also fix the docs.
6144
6145         * gst/gstpad.c: (pre_activate), (post_activate),
6146         (gst_pad_set_active), (gst_pad_activate_pull),
6147         (gst_pad_activate_push), (gst_pad_check_pull_range):
6148         Add some more debug info.
6149         Mark activation mode in pre_activate so that we don't try to activate in
6150         endless loops. Fixes #385084.
6151
6152 2007-02-19  Wim Taymans  <wim@fluendo.com>
6153
6154         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
6155         (gst_base_transform_check_get_range):
6156         Implement a checkgetrange function instead of relying on the default
6157         core behaviour that assumes we can operate in pull mode if we have a
6158         getrange function. First step at fixing #385084.
6159
6160 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
6161
6162         * gst/gstchildproxy.h:
6163         * libs/gst/base/gstbasesink.h:
6164         * libs/gst/base/gstbasesrc.h:
6165         * libs/gst/base/gstbasetransform.h:
6166         More docs coverage and some ChangeLog surgery (add missing names)
6167
6168 2007-02-15  Wim Taymans  <wim@fluendo.com>
6169
6170         * docs/design/part-TODO.txt:
6171         * docs/design/part-activation.txt:
6172         * docs/design/part-block.txt:
6173         * docs/design/part-buffering.txt:
6174         * docs/design/part-clocks.txt:
6175         * docs/design/part-element-source.txt:
6176         * docs/design/part-events.txt:
6177         * docs/design/part-gstbin.txt:
6178         * docs/design/part-gstbus.txt:
6179         * docs/design/part-gstpipeline.txt:
6180         * docs/design/part-live-source.txt:
6181         * docs/design/part-messages.txt:
6182         * docs/design/part-overview.txt:
6183         * docs/design/part-qos.txt:
6184         * docs/design/part-query.txt:
6185         * docs/design/part-states.txt:
6186         * docs/design/part-trickmodes.txt:
6187         Some doc updates. Start renaming from stream_time to running_time where
6188         it was used wrongly.
6189
6190 2007-02-15  Wim Taymans  <wim@fluendo.com>
6191
6192         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
6193         Answer LATENCY query.
6194
6195 2007-02-15  Wim Taymans  <wim@fluendo.com>
6196
6197         * tests/check/gst/gstevent.c: (event_probe), (test_event),
6198         (GST_START_TEST):
6199         Improve debugging.
6200
6201 2007-02-15  Wim Taymans  <wim@fluendo.com>
6202
6203         * gst/gstpad.c: (gst_pad_get_internal_links_default),
6204         (gst_pad_dispatcher):
6205         Improve debugging of default pad dispatcher and query functions.
6206
6207 2007-02-15  Wim Taymans  <wim@fluendo.com>
6208
6209         * docs/gst/gstreamer-sections.txt:
6210         Remove old unused method.
6211
6212 2007-02-13  Wim Taymans  <wim@fluendo.com>
6213
6214         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6215         Fix check
6216
6217 2007-02-13  Wim Taymans  <wim@fluendo.com>
6218
6219         * docs/design/part-seeking.txt:
6220         Some small update.
6221
6222         * gst/gstsegment.c: (gst_segment_set_seek):
6223         Revert old bogus change that should make seeking work again.
6224
6225 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
6226
6227         * docs/random/ensonic/dynlink.txt:
6228         * docs/random/ensonic/interfaces.txt:
6229         * docs/random/ensonic/receipies.txt:
6230           Possible dynamic reconnection api, plus some type fixes the other two
6231           docs.
6232
6233 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
6234
6235         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6236         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6237         Also check for an absolute path following file:// in the filesrc
6238         element. Remove redundant check and call g_path_is_absolute() on the
6239         unescaped location.
6240
6241 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
6242
6243         * docs/design/draft-klass.txt:
6244           Add existing category analysis.
6245           
6246         * gst/gstcaps.c:
6247           Fix doc example, framerate is a fraction.
6248
6249 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
6250
6251         * configure.ac:
6252         * docs/gst/Makefile.am:
6253         * docs/gst/gstreamer-sections.txt:
6254         * docs/libs/Makefile.am:
6255           Erm, forgot a bunch of --extra-dir.
6256
6257 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
6258
6259         * configure.ac:
6260         * docs/gst/Makefile.am:
6261         * docs/libs/Makefile.am:
6262         * docs/plugins/Makefile.am:
6263           Add crossreferences to glib/gobject docs.
6264
6265 2007-02-12  Wim Taymans  <wim@fluendo.com>
6266
6267         * docs/design/draft-latency.txt:
6268         Small update.
6269
6270         * docs/libs/gstreamer-libs-sections.txt:
6271         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6272         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
6273         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
6274         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
6275         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
6276         (gst_base_sink_get_position), (gst_base_sink_query),
6277         (gst_base_sink_change_state):
6278         * libs/gst/base/gstbasesink.h:
6279         API: gst_base_sink_query_latency() to let subclasses query the upstream
6280         latency.
6281         API: gst_base_sink_get_latency() to let subclasses query the configured
6282         latency in the sink.
6283         Implement query and set latency.
6284         Update some docs.
6285         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
6286         don't continue preroll when we are flushing. Fixes #405284.
6287
6288         * tests/check/pipelines/stress.c: (change_state_timeout),
6289         (quit_timeout), (GST_START_TEST), (stress_suite):
6290         Test for #405284.
6291
6292 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
6293
6294         Patch by: René Stadler <mail at renestadler de>
6295
6296         * docs/gst/gstreamer-sections.txt:
6297         * gst/gsttaglist.c: (_gst_tag_initialize):
6298         * gst/gsttaglist.h:
6299           API: add GST_TAG_REFERENCE_LEVEL (#403597).
6300
6301 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
6302
6303         * docs/libs/Makefile.am:
6304           Fix path to core docs.
6305
6306         * gst/gstbin.c: (gst_bin_get_by_interface),
6307         (gst_bin_iterate_all_by_interface):
6308           Refix docs by also renaming 'interface' to 'iface' in implementation.
6309
6310         * docs/gst/gstreamer-sections.txt:
6311         * gst/gstcaps.c:
6312         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
6313         * gst/gstchildproxy.h:
6314         * gst/gstelementfactory.c:
6315         * gst/gstpadtemplate.h:
6316         * libs/gst/controller/gstcontroller.c:
6317         (gst_controlled_property_new):
6318           Document more.
6319
6320 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
6321
6322         * gst/gstbin.h:(gst_bin_get_by_interface),
6323         (gst_bin_iterate_all_by_interface):
6324         Replace interface parameter name by iface as interface is 
6325         a reserved keyword in Visual Studio for C++ projects so it removes
6326         a build error for application developpers using VS.
6327         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
6328         Fix a bug on Windows in uri format check. Now the prefix checked
6329         is file:// and next we check if the path after file:// is absolute.
6330         * win32/common/libgstbase.def:
6331         * win32/common/libgstdataprotocol.def:
6332         * win32/common/libgstgstreamer.def:
6333         Add new exported functions.
6334
6335 2007-02-09  Andy Wingo  <wingo@pobox.com>
6336
6337         * tests/check/pipelines/simple-launch-lines.c
6338         (simple_launch_lines_suite, test_tee): Disable tee test until I
6339         have time to fix it :-(
6340
6341         * tests/check/Makefile.am (noinst_HEADERS): 
6342         * tests/check/libs/libsabi.c: 
6343         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
6344         * tests/check/gst/gstabi.c: 
6345         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
6346
6347         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
6348         tests for push and pull tee behavior.
6349
6350         * plugins/elements/gsttee.h: 
6351         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
6352         mark as deprecated as well as unimplemented. It was a crack idea.
6353         Add support for tee operating in pull mode, off by default.
6354
6355         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
6356         normal-case logs down to LOG, raise errors to WARNING.
6357         (gst_registry_xml_read_cache): Don't log before calling a function
6358         that logs.
6359
6360         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
6361         exit (registry finalize).
6362         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
6363         DEBUG log when we emit signals that people don't even have the
6364         chance to connect to.
6365         (gst_registry_scan_path_level): Less logging in the normal case.
6366
6367 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
6368
6369         Patch by: Michal Benes <michal dot benes at itonis dot tv>
6370
6371         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
6372         Correctly generate EOS for non-seekable files. We don't have a total
6373         length for them and would get an unexpected end of file if we only
6374         special-cased for regular files. (Fixes: #404569)
6375
6376 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
6377
6378         * tests/check/elements/filesrc.c: (GST_START_TEST),
6379         (filesrc_suite):
6380         Add unit test for the GstURIHandler interface in filesrc. This also
6381         tests the newly added file://localhost/foo/bar support.
6382
6383 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
6384
6385         * gst/gstelementfactory.h:
6386           The klass string is not a hierarchy. Add reference to the design doc
6387           for more information and common types.
6388
6389 2007-02-02  Wim Taymans  <wim@fluendo.com>
6390
6391         * gst/gstquery.c: (gst_query_new_latency):
6392         Remove old structure field.
6393
6394 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
6395
6396         * tools/gst-launch.1.in:
6397           Give example for network streaming (#351998)
6398
6399 2007-02-02  Wim Taymans  <wim@fluendo.com>
6400
6401         * docs/gst/gstreamer-sections.txt:
6402         Add docs for new methods.
6403
6404         * gst/gstevent.c: (gst_event_new_latency),
6405         (gst_event_parse_latency):
6406         * gst/gstevent.h:
6407         Add new LATENCY event to configure latency in a pipeline.
6408         API: gst_event_new_latency
6409         API: gst_event_parse_latency
6410
6411         * gst/gstmessage.c: (gst_message_new_buffering),
6412         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
6413         (gst_message_new_latency), (gst_message_parse_buffering),
6414         (gst_message_parse_lost_preroll):
6415         * gst/gstmessage.h:
6416         Added messages used in draft-latency.
6417         API: gst_message_new_lost_preroll
6418         API: gst_message_parse_lost_preroll
6419         API: gst_message_new_prerolled
6420         API: gst_message_new_latency
6421
6422         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
6423         (gst_query_parse_latency):
6424         * gst/gstquery.h:
6425         Implemented new latency query as in design doc.
6426         API: gst_query_new_latency
6427         API: gst_query_set_latency
6428         API: gst_query_parse_latency
6429
6430 2007-02-02  Wim Taymans  <wim@fluendo.com>
6431
6432         * docs/design/draft-latency.txt:
6433         Slight redesign to allow for dynamic latency adjustments.
6434
6435         * docs/design/part-negotiation.txt:
6436         Fix some typos.
6437
6438 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
6439
6440         reviewed by: Wim Taymans <wim@fluendo.com>
6441
6442         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6443         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6444         Allow file://localhost/foo/bar URLs and correctly fail for every other
6445         hostname that one sets. This was gnomevfssrc is linked for those if
6446         installed as it can handle it (#403172)
6447
6448 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
6449
6450         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6451
6452         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6453         (unref_data), (gst_collect_pads_add_pad_full):
6454         * libs/gst/base/gstcollectpads.h:
6455         Don't put the previously added destroy notify in the GstCollectData
6456         struct as all it's padding is already used and we don't want to break
6457         ABI. Instead put in the pad's GObject data for now. This should be
6458         cleaned up for 0.11 (#402393).
6459
6460 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
6461
6462         reviewed by: Wim Taymans <wim@fluendo.com>
6463
6464         * docs/libs/gstreamer-libs-sections.txt:
6465         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6466         (unref_data), (gst_collect_pads_add_pad),
6467         (gst_collect_pads_add_pad_full):
6468         * libs/gst/base/gstcollectpads.h:
6469         API: Add function to specify a destroy notification for custom
6470         GstCollectData when adding new pads in GstCollectPads (#402393).
6471
6472 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
6473
6474         * po/sv.po:
6475           Update Swedish translation (#378255).
6476
6477 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
6478
6479         * docs/design/draft-klass.txt:
6480           Fix the previous change, this is a list of categories and not a hierarchy.
6481
6482 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
6483
6484         * docs/design/draft-klass.txt:
6485           Add info about how to get a list of used classes.
6486
6487 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
6488
6489         * plugins/elements/gsttypefindelement.c:
6490         (gst_type_find_element_chain_do_typefinding),
6491         (gst_type_find_element_change_state):
6492           Don't leak found caps in chain function (no idea why that never
6493           showed up as a leak anywhere).
6494
6495 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
6496
6497         * gst/gstplugin.h:
6498           Fix and expand GstPluginDesc API docs.
6499
6500 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
6501
6502         * gst/gstcaps.c:
6503         * gst/gstelementfactory.c:
6504         * gst/gstpadtemplate.h:
6505           api doc fixes
6506
6507         * libs/gst/controller/gstcontroller.c:
6508         (gst_controlled_property_new):
6509         * tests/examples/controller/audio-example.c:
6510           comment fixes
6511
6512 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
6513
6514         * configure.ac:
6515           comment about refining the xml deps
6516
6517         * docs/manuals.mak:
6518           comments about moving away from jade for docs
6519         
6520         * gst/gst.c:
6521           recommit the ifdefs to use the binary registry
6522         
6523         * gst/gstbin.c: (gst_bin_change_state_func):
6524           this break is obsolete
6525
6526         * gst/gstelementfactory.h:
6527           better GST_ELEMENT_DETAILS docs, add comment about translation
6528
6529         * gst/gstinfo.h:
6530           remove eol slash
6531
6532         * gst/gstobject.c: (gst_signal_object_get_type):
6533           add G_UNLIKELY as usual
6534
6535         * gst/gstpad.c: (gst_pad_event_default):
6536           add fall trhu comment
6537
6538         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6539         (gst_registry_binary_initialize_magic),
6540         (gst_registry_binary_save_string),
6541         (gst_registry_binary_save_pad_template),
6542         (gst_registry_binary_save_feature),
6543         (gst_registry_binary_save_plugin),
6544         (gst_registry_binary_write_cache),
6545         (gst_registry_binary_check_magic),
6546         (gst_registry_binary_load_pad_template),
6547         (gst_registry_binary_load_feature),
6548         (gst_registry_binary_load_plugin),
6549         (gst_registry_binary_read_cache):
6550           comment typo and formatting
6551
6552         * gst/gstutils.c: (gst_element_state_get_name),
6553         (gst_element_state_change_return_get_name):
6554           remove obsolete breaks
6555
6556         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6557           add FIXME 0.11 and remove cpp comment
6558
6559 2007-01-29  Edward Hervey  <edward@fluendo.com>
6560
6561         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6562         Fix print statement in an even more portable way.
6563
6564 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
6565
6566         * docs/gst/gstreamer-sections.txt:
6567         * gst/gstutils.h:
6568           API: add GST_ROUND_DOWN_* macros (#401781).
6569
6570 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
6571
6572         * docs/gst/gstreamer.types.in:
6573         * gst/gstregistry.c: (gst_registry_class_init):
6574           Document registry signals and make gtk-doc pick them up (#401381).
6575
6576 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
6577
6578         * docs/pwg/building-testapp.xml:
6579           Add some audioconverts and audioresample to the pipeline, and some
6580           more comments and error handling.
6581
6582 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
6583
6584         * docs/manual/manual.xml:
6585         * docs/pwg/pwg.xml:
6586           Fix typo (#400987).
6587
6588 2007-01-26  Wim Taymans  <wim@fluendo.com>
6589
6590         * gst/gstcaps.c: (gst_static_caps_get):
6591         Init caps flags too.
6592
6593 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
6594
6595         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
6596
6597         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
6598         If not using mmap'ed files try to seek to the end instead of the
6599         start to determine whether we can seek at all. This fixes the case
6600         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
6601         seeks for everything afterwards fail. Fixes #400656
6602
6603 2007-01-25  Wim Taymans  <wim@fluendo.com>
6604
6605         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
6606         Add some refcount debugging.
6607         Make gst_static_caps_get threadsafe, which is needed when autoplugging
6608         in multiple streaming threads.
6609
6610 2007-01-25  Wim Taymans  <wim@fluendo.com>
6611
6612         Patch by: David Schleef <ds at schleef dot org>
6613
6614         * docs/libs/gstreamer-libs-sections.txt:
6615         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
6616         * libs/gst/base/gstadapter.h:
6617         API: gst_adapter_copy() that can reduce the amount of memcpy when
6618         getting data from the adapter. Fixes #388201.
6619
6620 2007-01-25  Edward Hervey  <edward@fluendo.com>
6621
6622         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6623         In print statements, "%x" is for guint. Fixes build on macosx.
6624
6625 2007-01-24  Edward Hervey  <edward@fluendo.com>
6626
6627         * plugins/elements/gstmultiqueue.c:
6628         (gst_multi_queue_loop):
6629         Small fix.
6630         (single_queue_overrun_cb), (single_queue_underrun_cb),
6631         (single_queue_check_full), (gst_single_queue_new):
6632         Implement single queue growth system.
6633         This uses the extra-size properties, and will grow single queues by
6634         that much if one goes full whereas there are others empty. This is
6635         called extra-mode in the code.
6636         When a single queue's levels go back below the initial max-size
6637         limits, it is no longer in extra-mode. This is to ensure we don't
6638         consume too much memory.
6639         Fixes #399875
6640
6641 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
6642
6643         * gst/gst.c: (gst_init_get_option_group):
6644           Make warning about late g_thread_init() calls a bit more explicit,
6645           so that it's more obvious to application developers what they need
6646           to do if a user files a bug against their application.
6647
6648 2007-01-22  Edward Hervey  <edward@fluendo.com>
6649
6650         * plugins/elements/gstmultiqueue.c:
6651         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
6652         Remove previous hack of unsetting the flushing flag for the source pad
6653         instead of activating it. Instead, fix the source pad activate function
6654         so that it no longer depends on having a parent set or not.
6655
6656 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
6657
6658         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
6659
6660         * docs/manual/basics-bus.xml:
6661           Fix example code, gst_element_unref() doesn't exist any longer.
6662
6663 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
6664
6665         Patch by: Mark Nauwelaerts <manauw at skynet be>
6666
6667         * gst/gstpad.c:
6668           Fix two docs typoes (#399094).
6669
6670 2007-01-19  Edward Hervey  <edward@fluendo.com>
6671
6672         * docs/faq/gst-uninstalled:
6673         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
6674         depending on libgstbaseutils can work in uninstalled environment.
6675
6676 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
6677
6678         * gst/gsttaglist.h:
6679         * gst/gsttagsetter.c:
6680         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
6681         statement for new tag.
6682
6683 2007-01-17  Edward Hervey  <edward@fluendo.com>
6684
6685         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
6686         When dynamically creating single queues, activate sinkpad before adding
6687         it.
6688         We should be doing the same thing for the source pad, but we can't
6689         since it would call a method which needs the parent to be set in order
6690         to work propertly. Instead of activating the source pad, we just unset
6691         the flushing flag, which is the minimal requirement for adding a pad
6692         to an element in a state greater than READY.
6693
6694 2007-01-17  Edward Hervey  <edward@fluendo.com>
6695
6696         * docs/faq/gst-uninstalled:
6697         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
6698         Mac OS X.
6699
6700 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
6701
6702         * tests/check/gst/gstabi.c:
6703         * tests/check/gst/struct_hppa.h:
6704         * tests/check/libs/libsabi.c:
6705         * tests/check/libs/struct_hppa.h:
6706           Add ABI structs for HPPA (see #393796).
6707
6708 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
6709
6710         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
6711           Actually write ABI structs to the file specified in the GST_ABI
6712           environment variable, as the message we print claims we would.
6713
6714 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6715
6716         * tests/check/gst/gsttask.c:
6717           Fix header comment.
6718
6719 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6720
6721         * gst/gsttaglist.c: (_gst_tag_initialize):
6722           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
6723           previous two entries.
6724
6725 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6726
6727         * docs/gst/gstreamer-sections.txt:
6728         * gst/gsttaglist.c: (_gst_tag_initialize):
6729         * gst/gsttaglist.h:
6730           Add tag support for beat-per-minute.
6731
6732 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6733
6734         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6735         (gst_registry_binary_initialize_magic),
6736         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
6737         (gst_registry_binary_save_pad_template),
6738         (gst_registry_binary_save_feature),
6739         (gst_registry_binary_save_plugin),
6740         (gst_registry_binary_write_cache),
6741         (gst_registry_binary_check_magic),
6742         (gst_registry_binary_load_pad_template),
6743         (gst_registry_binary_load_feature),
6744         (gst_registry_binary_load_plugin),
6745         (gst_registry_binary_read_cache):
6746         * gst/gstregistrybinary.h:
6747           Use glib types, cleanup comments, impement interfaces and uri-types.
6748
6749 2007-01-13  Andy Wingo  <wingo@pobox.com>
6750
6751         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
6752         getrange() to return buffers with other caps, while we fix
6753         demuxers and typefind, or otherwise change part-negotiation.txt.
6754
6755 2007-01-12  Andy Wingo  <wingo@pobox.com>
6756
6757         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
6758         Factor start/stop into this private function instead of partially
6759         in activate functions and partially in the change_state function.
6760         Fixes setup before the element has changed from READY->PAUSED, as
6761         is the case in pull-mode pipelines.
6762         (gst_base_transform_sink_activate_push)
6763         (gst_base_transform_src_activate_pull): Refactor to use
6764         gst_base_transform_activate().
6765         (gst_base_transform_change_state): Removed, not needed any more.
6766
6767         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
6768         Truncate before fixating.
6769         
6770         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
6771         Don't set_caps() if the result of fixating is ANY, as it's not
6772         supported, and not necessary in the case of a link with no
6773         template caps on either side. Fixes tests/check/libs/basesrc in
6774         some pull-mode tests.
6775
6776         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
6777         (gst_base_transform_init, gst_base_transform_sink_activate_push)
6778         (gst_base_transform_src_activate_pull): 
6779         Track the activation mode.
6780         (gst_base_transform_setcaps): In pull mode, when activating the
6781         src pad, after activating the sink pad, activate the sink pad's
6782         peer, as discussed in part-negotiation.txt.
6783
6784         * libs/gst/base/gstbasesrc.h: 
6785         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
6786         vmethod, as in basesink.
6787
6788         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
6789
6790         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
6791         mode, first proxy the setcaps to the peer pad.
6792         (gst_base_sink_pad_fixate): Add a fixate function that calls the
6793         new fixate vmethod.
6794         (gst_base_sink_default_activate_pull): Rename from
6795         gst_base_sink_activate_pull.
6796         (gst_base_sink_negotiate_pull): New function, performs negotiation
6797         in pull mode before calling ::activate_pull().
6798         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
6799         vmethod instead of the default implementation. I have no idea how
6800         this worked before. Negotiate before calling activate_pull.
6801
6802         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
6803         sink pads in pull mode. In addition to being correct, fixes
6804         filesrc ! decodebin ! identity ! fakesink.
6805         (gst_pad_get_range, gst_pad_pull_range): Don't call
6806         gst_pad_set_caps() if the caps changes; instead error out with
6807         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
6808
6809 2007-01-12  Andy Wingo  <wingo@pobox.com>
6810
6811         * docs/design/part-negotiation.txt: Update with more policy.
6812
6813 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
6814
6815         * libs/gst/check/gstbufferstraw.h:
6816         * libs/gst/check/gstcheck.h:
6817           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
6818           belongs.
6819
6820 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
6821
6822         * tests/check/Makefile.am:
6823         * tests/check/gst/.cvsignore:
6824         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
6825         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
6826         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
6827         (GST_START_TEST), (gst_tag_setter_suite):
6828           Add minimal unit test for beforementioned GstTagSetter bug.
6829
6830 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
6831
6832         Patch by: René Stadler <mail at renestadler dot de>
6833
6834         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
6835           gst_tag_list_merge() returns a new list, so it's not the best idea
6836           to ingore its return value. Effectively meant that tags could only
6837           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
6838           Also add function guard to require a non-NULL taglist as input (has
6839           always been so due to gst_tag_list_copy(), just making it explicit).
6840
6841 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6842
6843         * docs/random/draft-missing-plugins.txt:
6844           Some additions: mention new API that is supposed to be used at the
6845           various stages; short blob about new gst-inspect introspection
6846           option; mention potential future problem with plugins that have
6847           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
6848
6849 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6850
6851         * tools/gst-inspect.c:
6852         (print_plugin_automatic_install_info_codecs),
6853         (print_plugin_automatic_install_info_protocols),
6854         (print_plugin_automatic_install_info), (main):
6855         Add --print-plugin-auto-install-info option to gst-inspect, so we can
6856         introspect plugin files and get machine-parsable output that corresponds
6857         to the last bit of the missing-plugin installer string (small gotcha:
6858         doesn't take into account ranks).
6859
6860 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
6861
6862         * configure.ac:
6863         * docs/gst/gstreamer-sections.txt:
6864         * gst/Makefile.am:
6865         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
6866         (gst_registry_lookup_locked):
6867         * gst/gstregistry.h:
6868         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6869         (gst_registry_binary_initialize_magic),
6870         (gst_registry_binary_save_string),
6871         (gst_registry_binary_save_pad_template),
6872         (gst_registry_binary_save_feature),
6873         (gst_registry_binary_save_plugin),
6874         (gst_registry_binary_write_cache),
6875         (gst_registry_binary_check_magic),
6876         (gst_registry_binary_load_pad_template),
6877         (gst_registry_binary_load_feature),
6878         (gst_registry_binary_load_plugin),
6879         (gst_registry_binary_read_cache):
6880         * gst/gstregistrybinary.h:
6881         * gst/gstregistryxml.c: (load_feature),
6882         (gst_registry_xml_read_cache):
6883           commit binary registry (disabled by default, see #359653)
6884
6885 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
6886
6887         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
6888           Fix 'make check' too.
6889
6890 2007-01-10  Andy Wingo  <wingo@pobox.com>
6891
6892         * docs/design/part-negotiation.txt: Fix a typo, add a couple
6893         notes.
6894         
6895         * docs/design/part-negotiation.txt: Update with, um, one way that
6896         pull-mode negotiation might work?
6897
6898         * gst/gstpad.h: 
6899         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
6900         that the pad must be a src pad; makes sense to call it the other
6901         way in pull mode, and the logic is symmetric anyway.
6902
6903 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
6904
6905         * plugins/elements/gstfilesink.c:
6906           Include <stdio.h> for fseeko().
6907
6908 2007-01-10  Wim Taymans  <wim@fluendo.com>
6909
6910         * gst/gstevent.c:
6911         * gst/gstevent.h:
6912         Reserve LATENCY event.
6913
6914 2007-01-09  Wim Taymans  <wim@fluendo.com>
6915
6916         * docs/design/draft-latency.txt:
6917         Updates.
6918
6919 2007-01-09  Wim Taymans  <wim@fluendo.com>
6920
6921         * docs/design/draft-latency.txt:
6922         Updates.
6923
6924         * gst/gstelement.h:
6925         * gst/gststructure.c:
6926         * gst/gsttrace.c:
6927         Small typo fixes.
6928
6929 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
6930
6931         * tests/check/.cvsignore:
6932           Ignore test-registry.xml as well.
6933
6934 2007-01-09  Wim Taymans  <wim@fluendo.com>
6935
6936         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
6937         unref data at the end when we are done with the pad.
6938
6939 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
6940
6941         * docs/gst/gstreamer-sections.txt:
6942         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
6943         (init_post), (gst_deinit), (gst_update_registry):
6944         * gst/gst.h:
6945           API: add gst_update_registry() (#391296).
6946
6947         * tests/check/Makefile.am:
6948         * tests/check/gst/gstregistry.c:
6949         * tests/check/gst/.cvsignore:
6950           Simple unit test for the above.
6951
6952 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
6953
6954         * gst/gstregistry.c: (gst_registry_scan_path_level):
6955           Plugin extension on HP-UX is .sl, add that to the list of approved
6956           plugin extensions (see #393796).
6957
6958         * tests/check/gst/gstpad.c: (GST_START_TEST):
6959           ulong => gulong. Fixes compilation with HP-UX compiler.
6960
6961         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
6962           Fix compilation if valgrind headers are not available.
6963
6964 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
6965
6966         * win32/common/libgstreamer.def: 
6967           Add new exported function.
6968         * win32/vs6/libgstbase.dsp: 
6969           Add gstdataqueue.c to the build.
6970         * win32/vs6/libgstcoreelements.dsp:
6971           Add gstmultiqueue.c to the build.
6972         
6973 2007-01-06  Andy Wingo  <wingo@pobox.com>
6974
6975         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
6976         activate_pull(), providing for a way to specialize the process of
6977         spawning a thread to pull on the sink pad. There is a default
6978         implementation.
6979
6980         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
6981         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
6982         (gst_base_sink_init): Renamed pad activation functions (inserting
6983         "_pad" in their names). Refactor to use the new activate_pull
6984         vmethod, as appropriate.
6985         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
6986         default activate_pull function to start a task pulling from the
6987         sink pad, as before.
6988
6989         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
6990         on the pads if necessary, as in push()/chain(). Update docs.
6991         Shouldn't affect existing pull() usage as it is currently only
6992         being used on buffers without caps.
6993
6994 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
6995
6996         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
6997         (init_pre):
6998           Call g_thread_init() first thing in gst_init() / gst_check_init().
6999           When initialisation is done via gst_init_get_option_group() and
7000           GOption parsing, issue a warning if the GLib thread system has not
7001           been initialised yet by the time gst_init_get_option_group() is
7002           called, as it's quite likely other GLib functions such as
7003           g_option_context_new() have been called already then, and
7004           g_thread_init() must be called before any other GLib function. The
7005           application in question must be fixed in that case, since memory
7006           corruption might happen otherwise.
7007           We issue the warning because even if the GLib folks decide to work
7008           around the problem on their end in future, this is still an issue
7009           with all GLib versions >= 2.10.0, so we should warn until we depend
7010           on a GLib version we know to be safe.
7011           Update documentation as well.
7012           Closes bug #391278.
7013
7014 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
7015
7016         * tools/gst-inspect.c: (main):
7017         * tools/gst-launch.c: (main):
7018         * tools/gst-typefind.c: (main):
7019         * tools/gst-xmlinspect.c: (main):
7020           Call g_thread_init() really really early, before any other GLib
7021           function (see #342564 and recent discussion on gtk-devel-list).
7022
7023 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
7024
7025         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
7026
7027         * gst/gst_private.h:
7028         * gst/gstconfig.h.in:
7029         * gst/gstinfo.h:
7030           On win32, all the __declspec stuff for symbol exporting is
7031           apparently only needed with MSVC, but doesn't work with MingW.
7032           Fixes compilation with MingW and #391909.
7033
7034 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
7035
7036         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
7037           Change some GST_ERROR_OBJECT that aren't really errors to
7038           GST_WARNING_OBJECT in order to reduce terminal spam.
7039
7040 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
7041
7042         * tests/check/Makefile.am:
7043           disable test again, as there seem to be still race problems
7044
7045 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
7046
7047         * tests/check/Makefile.am:
7048         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7049         (GST_START_TEST), (queue_suite):
7050           enable queue test again, add tests for the leaky behaviour
7051
7052 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
7053
7054         * configure.ac:
7055         * tests/examples/Makefile.am:
7056           Compile adapter test/example only if the required headers are
7057           available (fixes #391915).
7058
7059 2007-01-01  David Schleef  <ds@schleef.org>
7060
7061         * gst/gstplugin.c:
7062           Restore the previous signal handler for SIGSEGV instead of
7063           setting to default, since we may have stolen it away from
7064           someone.  (i.e., Mono)
7065
7066 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
7067
7068         * docs/random/draft-missing-plugins.txt:
7069           Some small additions and clarifications.
7070
7071 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
7072
7073         * gst/gstregistryxml.c: (gst_registry_save_escaped):
7074           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
7075           since that can lead to random memory corruptions and crashes
7076           (may or may not be related to #383244, #386711, and #386711).
7077
7078 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7079
7080         * tests/check/.cvsignore:
7081         * tests/check/Makefile.am:
7082           sync .cvsignome and CLEANFILES
7083
7084 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7085
7086         * tests/check/Makefile.am:
7087           fix distcheck
7088
7089 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7090
7091         * docs/design/part-states.txt:
7092           two tiny additional comments
7093         
7094         * gst/gststructure.c:
7095           doc fixing
7096
7097         * tests/check/Makefile.am:
7098         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7099         (GST_START_TEST):
7100           disable test for now, unless it gets fixed
7101
7102 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7103
7104         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7105         (GST_START_TEST):
7106           fix race in underrun test
7107
7108 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7109
7110         * tests/check/elements/.cvsignore:
7111           ignore more
7112
7113         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7114         (GST_START_TEST):
7115           try to narrow test failure
7116
7117 2006-12-21  David Schleef  <ds@schleef.org>
7118
7119         * plugins/elements/gstfakesrc.c:
7120           Use g_random_int_range(), since it produces better random
7121           numbers in a range than almost-correct floating point code.
7122
7123 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7124
7125         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
7126         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7127         (gst_check_teardown_sink_pad):
7128           do not automatically (de)activate pads
7129
7130         * tests/check/Makefile.am:
7131         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7132         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
7133           add new, yet simple tests for queue
7134
7135         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
7136         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
7137         * tests/check/elements/filesrc.c: (cleanup_filesrc),
7138         (GST_START_TEST):
7139         * tests/check/elements/identity.c: (cleanup_identity):
7140           consistent pad (de)activation
7141
7142 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
7143
7144         Patch by: Sebastian Dröge  <slomo ubuntu com>
7145
7146         * libs/gst/base/gstcollectpads.c:
7147           Fix two doc typos (#387866).
7148
7149 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
7150
7151         * docs/manual/advanced-dparams.xml:
7152           Fix typo (g_object_control_properties() doesn't exist).
7153
7154 2006-12-19  Edward Hervey  <edward@fluendo.com>
7155
7156         * gst/gstsegment.c: (gst_segment_set_seek):
7157         Fine tune the cases where the segment start/stop values are really
7158         updated.
7159         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7160         Add tests for the return values of gst_segment_set_seek().
7161
7162 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
7163
7164         * gst/gst.c:
7165           Docs typo fix.
7166
7167         * plugins/elements/gstqueue.c: (gst_queue_class_init),
7168         (gst_queue_init):
7169           Fix incorrect documentation and flesh it out a bit more.
7170           Set default values for the max properties on the GParamSpec as well,
7171           so it shows up correctly in gst-inspect.
7172
7173 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
7174
7175         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
7176           Correct docs of queue, add more detail and crosslink it more.
7177
7178 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
7179
7180         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7181           Print additional debug info when the stream isn't perfectly
7182           timestamped; don't try to use invalid durations.
7183
7184 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
7185
7186         * docs/design/Makefile.am:
7187           Dist new design docs.
7188
7189 2006-12-16  Wim Taymans  <wim@fluendo.com>
7190
7191         Patch by: Sjoerd Simons <sjoerd at luon dot net>
7192
7193         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
7194         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
7195         (gst_collect_pads_stop), (gst_collect_pads_event),
7196         (gst_collect_pads_chain):
7197         * libs/gst/base/gstcollectpads.h:
7198         Add refcounting to the collectpads data so we can track when it's safe
7199         to free the data. Fixes #383382.
7200
7201 2006-12-15  Wim Taymans  <wim@fluendo.com>
7202
7203         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
7204         (gst_collect_pads_remove_pad):
7205         Automatically activate/deactivate pads when they are added to a
7206         started/stoped collectpads.
7207
7208 2006-12-15  Wim Taymans  <wim@fluendo.com>
7209
7210         * gst/gstelement.c: (gst_element_add_pad):
7211         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
7212         * gst/gstpad.c: (gst_pad_init):
7213         Set pads to FLUSHING when they are created. Check, warn and fix when a
7214         demuxer adds an inactive pad to itself when running. Fixes #339326.
7215
7216 2006-12-15  Wim Taymans  <wim@fluendo.com>
7217
7218         * gst/gstelement.c: (gst_element_class_init),
7219         (gst_element_default_send_event), (gst_element_send_event),
7220         (gst_element_default_query), (gst_element_query):
7221         Expose default element send_event and query handling as vmethods that
7222         subclasses can chain up to.
7223
7224 2006-12-15  Wim Taymans  <wim@fluendo.com>
7225
7226         * gst/gstelement.c: (gst_element_set_state_func):
7227         Small documentation fixes.
7228
7229 2006-12-15  Wim Taymans  <wim@fluendo.com>
7230
7231         * docs/design/draft-latency.txt:
7232         Checked in draft for handling latency in pipelines.
7233
7234 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7235
7236         * Makefile.am:
7237         * gstreamer.doap:
7238         * gstreamer.spec.in:
7239           adding .doap file
7240
7241 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
7242
7243         * gst/gst.c: (init_pre), (init_post):
7244           init_pre() and init_post() might be called via our GOptionGroup or
7245           from gst_init(), and we should skip both of them if we've already
7246           been initialised, otherwise we will init some things twice or add
7247           two default log functions.
7248
7249 2006-12-13  Edward Hervey  <edward@fluendo.com>
7250
7251         * docs/manual/basics-bus.xml:
7252         No, gst_main_loop does not exist. Its g_main_loop.
7253         Discovered by somebody who abused the copy-paste technique of coding :)
7254
7255 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
7256
7257         * gst/gstghostpad.c:
7258           Log ghostpad debug stuff to the GST_PADS category as well rather
7259           than just to the default category.
7260
7261 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
7262
7263         * configure.ac:
7264         * gst/gst.c: (init_pre):
7265           Add some basic system details such as OS and architecture
7266           to the debug output if possible, courtesy of uname().
7267
7268 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7269
7270         * docs/gst/running.xml:
7271           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
7272           environment variables.
7273
7274 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
7275
7276         * tests/check/gst/gstbin.c: (GST_START_TEST):
7277         It is acceptable to have a refcount of 2 or 3 at this point in the
7278         test, because the pipeline might be just posting its state_change
7279         message. The next line then waits for that message to appear using
7280         bus_poll, so that should be fine too.
7281
7282 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
7283
7284         * gst/gst.c: (ensure_current_registry_forking):
7285         Ignore EINTR when reading from the child registry pipe.
7286         Explicitly ignore the return value from close, since it makes no
7287         difference.
7288
7289         * gst/gstminiobject.c: (gst_mini_object_ref),
7290         (gst_mini_object_unref):
7291         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
7292
7293         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
7294         When removing cached plugins, remove their features too, so they're
7295         not visible after they've disappeared.
7296
7297         * gst/gstutils.c: (prepare_link_maybe_ghosting):
7298         In the unlikely case that we are linking pads with no parents, don't
7299         crash trying to get the non-existent parent bin.
7300
7301         * gst/parse/grammar.y:
7302         Output debug in the PIPELINE category
7303
7304 2005-03-08  Wim Taymans  <wim@fluendo.com>
7305
7306         Patch by: René Stadler <mail at renestadler dot de>
7307
7308         * gst/gstclock.c: (gst_clock_new_periodic_id):
7309         Reject invalid clock times for interval of periodic ids.
7310         Fixes ##383506.
7311
7312 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
7313
7314         * gst/gstelementfactory.c: (gst_element_factory_create):
7315         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7316         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
7317         * tools/gst-inspect.c: (print_element_info):
7318         Fix refcounting of gst_plugin_feature_load to match the docs. 
7319         Fixes: #380129
7320
7321 2006-12-07  Wim Taymans  <wim@fluendo.com>
7322
7323         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
7324         (gst_base_sink_get_position):
7325         Improve debugging of events.
7326
7327 2006-12-07  Wim Taymans  <wim@fluendo.com>
7328
7329         Patch by: René Stadler <mail at renestadler dot de>
7330
7331         * gst/gstclock.c: (gst_clock_id_wait):
7332         Make period ids add the interval to the origial requested time instead
7333         of the possibly updated time which can be wrong when there are multiple
7334         waiters for the same id. Fixes #382592.
7335
7336         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
7337         (gst_system_clock_id_wait_jitter_unlocked),
7338         (gst_system_clock_id_wait_jitter):
7339         Fix restart in the async notify thread when an async entry is added to
7340         the front of the list. Fixes #381492. 
7341
7342         * tests/check/gst/gstsystemclock.c: (store_callback),
7343         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
7344         Added test for multiple async waits.
7345         Added test for async wait order.
7346
7347 2006-12-07  Wim Taymans  <wim@fluendo.com>
7348
7349         * gst/gstbin.c: (gst_bin_query):
7350         Add some more docs about the POSITION query.
7351
7352 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
7353
7354         * configure.ac:
7355         Bump version nano - back to CVS.
7356
7357 === release 0.10.11 ===
7358
7359 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
7360
7361         * configure.ac:
7362           releasing 0.10.11, "Love never runs on time"
7363
7364 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
7365
7366         * win32/common/libgstbase.def:
7367         * win32/common/libgstreamer.def:
7368         * win32/vs8/libgstbase.vcproj:
7369         * win32/vs8/libgstcoreelements.vcproj:
7370         * win32/vs8/libgstreamer.vcproj:
7371         Fix compilation on win32 under VS8
7372         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7373         Partially fixes #381175
7374
7375 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7376
7377         * gst/gstvalue.c: (gst_value_compare_fraction):
7378         If someone is foolish enough to compare 2 fractions with denominator =
7379         0, return UNORDERED rather than aborting.
7380
7381 2006-11-28  Edward Hervey  <edward@fluendo.com>
7382
7383         * libs/gst/base/Makefile.am:
7384         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
7385         (gst_data_queue_base_init), (gst_data_queue_class_init),
7386         (gst_data_queue_init), (gst_data_queue_new),
7387         (gst_data_queue_cleanup), (gst_data_queue_finalize),
7388         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
7389         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
7390         (gst_data_queue_is_empty), (gst_data_queue_is_full),
7391         (gst_data_queue_set_flushing), (gst_data_queue_push),
7392         (gst_data_queue_pop), (gst_data_queue_drop_head),
7393         (gst_data_queue_set_property), (gst_data_queue_get_property):
7394         * libs/gst/base/gstdataqueue.h:
7395         New GstDataQueue object for threadsafe queueing. Most useful for
7396         elements that need some queueing functionnality.
7397         * docs/libs/gstreamer-libs-docs.sgml:
7398         * docs/libs/gstreamer-libs-sections.txt:
7399         Insert documentation for GstDataQueue
7400         * plugins/elements/Makefile.am:
7401         * plugins/elements/gstelements.c:
7402         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
7403         (gst_multi_queue_class_init), (gst_multi_queue_init),
7404         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7405         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
7406         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
7407         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7408         (gst_multi_queue_loop), (gst_multi_queue_chain),
7409         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7410         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
7411         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
7412         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
7413         (wake_up_next_non_linked), (compute_next_non_linked),
7414         (single_queue_overrun_cb), (single_queue_underrun_cb),
7415         (single_queue_check_full), (gst_single_queue_new):
7416         * plugins/elements/gstmultiqueue.h:
7417         New multiqueue element, using GstDataQueue. Used for queuing multiple
7418         streams.
7419         Closes #344639 and #347785
7420
7421 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
7422
7423         * docs/pwg/advanced-types.xml:
7424           add more missing type details
7425
7426         * tools/gst-run.c: (main):
7427           remove unused variable
7428
7429 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
7430
7431         * docs/libs/Makefile.am:
7432         * docs/libs/gstreamer-libs.types:
7433           add types of base classes to enable gobject specific stuff in the docs
7434
7435         * docs/random/ensonic/embedded.txt:
7436           more ideas about isolating platform specific things
7437
7438 2006-11-20  Wim Taymans  <wim@fluendo.com>
7439
7440         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
7441
7442         * libs/gst/check/gstcheck.h:
7443         Fix compilation and running against 0.9.4. Fixes #377332.
7444
7445 2006-11-20  Wim Taymans  <wim@fluendo.com>
7446
7447         * gst/gstsegment.c: (gst_segment_set_seek),
7448         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
7449         (gst_segment_to_running_time):
7450         Fix boundary checking in to_running_time() and to_stream_time().
7451         Fixes #377183.
7452
7453         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7454         stream and running time can now be calculated for the complete
7455         clipped segment.
7456
7457 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
7458
7459         * gst/gstpad.c: (gst_pad_push_event):
7460           Can't access event structure after giving away ownership of
7461           the event.
7462
7463 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
7464
7465         * docs/random/ensonic/embedded.txt:
7466         * docs/random/ensonic/profiling.txt:
7467         * docs/random/ensonic/receipies.txt:
7468           more thinking
7469
7470 2006-11-13  Wim Taymans  <wim@fluendo.com>
7471
7472         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7473
7474         * gst/gstpad.c:
7475         Fix documentation for gst_pad_dispatcher. Fixes #374475.
7476
7477 2006-11-13  Wim Taymans  <wim@fluendo.com>
7478
7479         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
7480
7481         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7482         Store new length in segment duration so we don't keep on calling the
7483         potentially expensize get_size() call. Fixes #370865.
7484
7485 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
7486
7487         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
7488
7489         * win32/common/libgstreamer.def:
7490           Add two missing symbols (#366492).
7491
7492 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
7493
7494         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
7495         (gst_adapter_take_buffer):
7496         Fix format string to use all its arguments.
7497         Remove useless >= check on a guint
7498
7499 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7500
7501         * tests/examples/adapter/.cvsignore:
7502         Ignore build file as commanded by the build-bot
7503
7504 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7505
7506         * tests/examples/adapter/Makefile.am:
7507         * tests/examples/adapter/adapter_test.c: (run_test_take),
7508         (run_test_take_buffer), (run_tests), (main):
7509
7510         Add new files from the previous commit
7511
7512 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7513
7514         * Makefile.am:
7515         * configure.ac:
7516         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
7517         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
7518         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
7519         * libs/gst/base/gstadapter.h:
7520         * tests/check/libs/adapter.c: (create_and_fill_adapter),
7521         (GST_START_TEST), (gst_adapter_suite):
7522         * tests/examples/Makefile.am:
7523         Do some optimisation work in GstAdapter to avoid copies in more cases.
7524         It could still do slightly better by merging buffers when
7525         gst_buffer_is_span_fast is true, but is already faster. 
7526
7527         Also, avoid traversing a single-linked list to append each incoming 
7528         buffer inside the adapter.
7529
7530         Add simple test app that times the adapter behaviour in different
7531         situations, and extend the unit test to check that bytes enter and
7532         exit the adapter in their original order.
7533
7534 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7535
7536         * docs/random/draft-missing-plugins.txt:
7537           Update: use element message instead of adding a new message
7538           type to the core; don't provide GStreamer API to initiate the
7539           plugin download, just provide API to compose the strings needed
7540           and let an external libgimmestuff handle the rest.
7541
7542 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
7543
7544         * tools/gst-inspect.c: (print_element_properties_info):
7545         Print a string instead of 'unknown type' for GValueArray properties
7546
7547 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
7548
7549         * docs/random/draft-missing-plugins.txt:
7550         More small fixes.
7551
7552 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7553
7554         * tests/examples/typefind/typefind.c: (type_found), (main):
7555           Make typefind element example work again (#371894); add a
7556           license header.
7557
7558 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7559
7560         * docs/random/draft-missing-plugins.txt:
7561           Commit initial draft about how to deal with missing plugins,
7562           needs work (API too).
7563
7564 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
7565
7566         * docs/pwg/advanced-types.xml:
7567           documents the new caps elements (see #363118)
7568
7569 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
7570
7571         * gst/gstplugin.c: (gst_plugin_load_file):
7572         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
7573         (gst_file_src_map_region), (gst_file_src_start):
7574         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
7575         (gst_file_index_commit):
7576           Use g_strerror() instead of strerror() - we want UTF-8.
7577
7578 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
7579
7580         Patch by: Peter Kjellerstedt <pkj at axis com>
7581
7582         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7583           Another printf fix (#371493).
7584
7585 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7586
7587         * tests/check/gst/gsttag.c:
7588           relicence (okay with author=company)
7589
7590 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7591
7592         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7593         (gst_pad_push_event):
7594           Enhance debug and improve docs
7595         
7596         * gst/gsturi.c:
7597           Fix docs
7598
7599 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7600
7601         * docs/random/ensonic/distributed.txt:
7602         * docs/random/ensonic/profiling.txt:
7603           more ideas
7604
7605 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7606
7607         * docs/gst/gstreamer-sections.txt:
7608           add new API and fix the build
7609           
7610         * gst/gstbin.c: (gst_bin_recalc_state):
7611         * gst/gstelement.c: (gst_element_message_full),
7612         (gst_element_get_state_func), (gst_element_set_state_func):
7613           use new API and improve logging
7614         
7615         * gst/gstutils.c: (gst_element_state_change_return_get_name):
7616         * gst/gstutils.h:
7617           API: add function to get StateChangereturn names to improve logs 
7618
7619 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7620
7621         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7622           I'm considering shooting the next person to put strerror stuff
7623           in the translateable part of the message.
7624
7625 2006-11-03  Wim Taymans  <wim@fluendo.com>
7626
7627         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7628         Get the type and printf conversion specifiers right.
7629
7630 2006-11-03  Wim Taymans  <wim@fluendo.com>
7631
7632         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7633
7634         * gst/gstpad.c: (gst_pad_init), (pre_activate),
7635         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
7636         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
7637         Some small cleanups. Improve debugging.
7638         * gst/gstpad.h:
7639         Signal all waiting threads with a broadcast instead of just one.
7640         Fixes #369942.
7641
7642 2006-11-03  Wim Taymans  <wim@fluendo.com>
7643
7644         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
7645         (gst_fd_src_create):
7646         Add some debugging. 
7647         Only update fd when it's different from the old.
7648
7649 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7650
7651         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
7652           Printf fixes for PPC/OSX, take two (#369366).
7653
7654 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7655
7656         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
7657
7658         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
7659         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7660         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
7661           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
7662           don't cast to long long for portability reasons, but use
7663           GLib's types instead.
7664
7665 2006-10-30  Michael Smith  <msmith@fluendo.com>
7666
7667         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
7668           Get the arguments to lseek() the right way around.
7669           Fixes 367677.
7670
7671 2006-10-30  Wim Taymans  <wim@fluendo.com>
7672
7673         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
7674
7675         * gst/gstinfo.h:
7676         _declspec should be __declspec (two underscores, not one). Fixes 366572.
7677
7678 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
7679
7680         Patch by: Kjartan Maraas  <kmaraas at gnome org>
7681
7682         * docs/design/part-MT-refcounting.txt:
7683         * docs/random/wtay/capsnego2-docs:
7684         * gst/gstclock.c:
7685         * gst/gstxml.c:
7686           Typo fixes (#366212).
7687
7688 2006-10-28  Wim Taymans  <wim@fluendo.com>
7689
7690         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7691
7692         * gst/gst.c:
7693         * win32/common/libgstbase.def:
7694         * win32/common/libgstreamer.def:
7695         * win32/vs8/libgstbase.vcproj:
7696         * win32/vs8/libgstcontroller.vcproj:
7697         Add needed entries in .def files.
7698         Use HAVE_UNISTD_H.
7699         Rearrange def files in vs8 solutions. Fixes #366286.
7700
7701 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
7702
7703         * win32/common/gstconfig.h:
7704           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
7705           hand-made win32 gstconfig.h. Fixes #366321.
7706
7707 2006-10-27  Wim Taymans  <wim@fluendo.com>
7708
7709         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
7710         (gst_ghost_pad_new_full):
7711         Make acceptcaps return TRUE when we don't have a target, just like
7712         setcaps does.
7713
7714 2006-10-27  Wim Taymans  <wim@fluendo.com>
7715
7716         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7717         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
7718
7719 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
7720
7721         * gst/gststructure.c: (gst_structure_id_set_value):
7722           If someone tries to set a non-UTF8 string field on a structure,
7723           don't just print a warning, but also ignore the request and do
7724           not change/add that field to the structure.
7725
7726         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7727           Test for the above.
7728
7729 2006-10-25  David Schleef  <ds@schleef.org>
7730
7731         * gst/gstinfo.c:
7732           g_hash_table_insert() needs a cast to a non-const pointer duh.
7733
7734 2006-10-25  David Schleef  <ds@schleef.org>
7735
7736         * gst/gstinfo.c:
7737         * gst/gstinfo.h:
7738           Change name parameter of _gst_debug_register_funcptr to const
7739           to reflect the constness of its use in the function as well
7740           as to quiet a gcc warning.
7741
7742 2006-10-25  Edward Hervey  <edward@fluendo.com>
7743
7744         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7745         Don't push the buffer if it's empty.
7746         Closes #363095
7747
7748 2006-10-24  Wim Taymans  <wim@fluendo.com>
7749
7750         * gst/gstevent.h:
7751         Add small comment.
7752
7753         * libs/gst/base/gstbasetransform.c:
7754         (gst_base_transform_sink_eventfunc):
7755         Debug segment values *after* updating them as this is more
7756         interesting.
7757
7758 2006-10-23  Wim Taymans  <wim@fluendo.com>
7759
7760         * docs/design/part-events.txt:
7761         Update some docs.
7762
7763         * docs/design/part-block.txt:
7764         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
7765         (gst_pad_push_event):
7766         Revert BLOCKING patch, it tries to be smart without really having a
7767         clear idea what or how. So, now we discard all FLUSHING events again on
7768         a blocking pad. Should fix gnonlin again.
7769
7770 2006-10-23  Wim Taymans  <wim@fluendo.com>
7771
7772         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7773
7774         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
7775         (gst_base_src_start), (gst_base_src_activate_push):
7776         Make sure size is always initialized. Fixes #364388.
7777
7778 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
7779
7780         * docs/random/ensonic/distributed.txt:
7781           add some ideas about doing distributed processing
7782
7783         * docs/random/ensonic/profiling.txt:
7784           get_rusage look promising
7785
7786 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
7787
7788         * docs/manual/basics-helloworld.xml:
7789           Add a cast in example to fix compile warning
7790
7791 2006-10-18  Wim Taymans  <wim@fluendo.com>
7792
7793         * gst/gstsegment.c: (gst_segment_set_last_stop),
7794         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
7795         Relax arg checking again, -1 is allowed.
7796
7797 2006-10-18  Wim Taymans  <wim@fluendo.com>
7798
7799         * gst/gstsegment.c: (gst_segment_set_last_stop),
7800         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
7801         _set_last_stop() must be with a value != -1
7802         A _TYPE_SET to -1 means seek to 0.
7803         Calc last_stop correctly for negative rates.
7804         Make sure we work with positive durations when updating a segment.
7805
7806 2006-10-18  Wim Taymans  <wim@fluendo.com>
7807
7808         * docs/design/part-live-source.txt:
7809         * gst/gstclock.h:
7810         Small docs fixes.
7811
7812 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
7813
7814         * gst/gstbuffer.h:
7815           Add an explicit cast to GstBuffer** to keep old code that added an
7816           explicit cast to GstMiniObject** for gst_mini_object_replace()
7817           compiling without warning.
7818
7819 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
7820
7821         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
7822           check for validity of dates
7823
7824 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
7825
7826         * docs/gst/gstreamer-sections.txt:
7827           Forgot this one, makes gtk-doc shut up.
7828
7829 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
7830
7831         Patch by: Peter Kjellerstedt <pkj at axis com>
7832
7833         * gst/gstobject.h:
7834           Don't define xmlNodePtr to gpointer if the core was built with
7835           --disable-loadsave and --disable-registry, this will break
7836           applications that want to use libxml2 but are buildling against a
7837           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
7838           instead so we don't have to mess with the libxml2 namespace
7839           (#361675).
7840
7841 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
7842
7843         * gst/gstbuffer.h:
7844           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
7845           type-punned pointer warnings.
7846
7847 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
7848
7849         * gst/gstelement.h:
7850           Add casts to the correct return type to state <=> state transition
7851           macros.
7852
7853 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
7854
7855         * docs/design/part-live-source.txt:
7856           describe howto handle latency
7857         
7858         * docs/random/ensonic/profiling.txt:
7859           more ideas
7860
7861         * tools/gst-plot-timeline.py:
7862           fix log parsing for solaris, remove unused function
7863
7864 2006-10-16  Wim Taymans  <wim@fluendo.com>
7865
7866         * docs/design/part-trickmodes.txt:
7867         * gst/gstevent.c:
7868         Update some docs regarding reverse playback.
7869
7870 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
7871
7872         Patch by: Marcus Granado  <mrc dot gran at gmail com>
7873
7874         * win32/vs8/grammar.vcproj:
7875           Error out with a warning if glib-genmarshal.exe is not in path,
7876           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
7877
7878 2006-10-13  Wim Taymans  <wim@fluendo.com>
7879
7880         * gst/gstsegment.c: (gst_segment_set_seek):
7881         When seeking to stop -1, set last_stop (current position) to the
7882         duration of the segment.
7883
7884 2006-10-13  Wim Taymans  <wim@fluendo.com>
7885
7886         * gst/gstelement.h:
7887         Clarify _NO_PREROLL a bit more.
7888
7889         * gst/gstevent.c:
7890         Fix docs.
7891
7892         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
7893         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
7894         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
7895         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
7896         due to wrong locking order. Fixes #361769.
7897         Remove some redundant/misplaced checks in pad_block.
7898
7899         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
7900         For negative rates, count backwards from the duration.
7901
7902 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
7903
7904         * gst/gsterror.c: (_gst_library_errors_init):
7905           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
7906           up with something better).
7907
7908 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
7909
7910         * win32/vs6/libgstreamer.dsp:
7911         * win32/vs7/libgstreamer.vcproj:
7912         * win32/vs8/libgstreamer.vcproj:
7913           Don't reference glib-compat.c which is currently not used and not
7914           disted; add gstquark.c which was recently added. Fixes #361730.
7915
7916 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
7917
7918         * win32/common/libgstbase.def:
7919         * win32/common/libgstcontroller.def:
7920         * win32/common/libgstreamer.def:
7921           Add gst_caps_merge() and a bunch of other recently-added functions.
7922           Fixes #361732.
7923
7924 2006-10-11  Wim Taymans  <wim@fluendo.com>
7925
7926         * docs/plugins/gstreamer-plugins.args:
7927         * docs/plugins/inspect/plugin-coreelements.xml:
7928         * docs/plugins/inspect/plugin-coreindexers.xml:
7929         Update element args.
7930
7931         * gst/gstsystemclock.c:
7932         Small comment update.
7933
7934         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
7935         (gst_tee_request_new_pad), (gst_tee_release_pad),
7936         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
7937         (gst_tee_sink_activate_pull):
7938         * plugins/elements/gsttee.h:
7939         Some tee loving:
7940         Add default property defines.
7941         Implement release pad function.
7942         Give properties better blubs etc.
7943         Activate pads before adding them to a running tee.
7944         Do simple buffer_alloc on the first requested pad.
7945         Post error when activation fails.
7946
7947 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
7948
7949         * gst/gst.c: (ensure_current_registry_forking):
7950           Check return value of write() to make compiler happy.
7951
7952 2006-10-11  Wim Taymans  <wim@fluendo.com>
7953
7954         Patch by: Sjoerd Simons <sjoerd at luon dot net>
7955
7956         * plugins/elements/gstqueue.c: (gst_queue_chain):
7957         Recheck queue filledness after signalling the overrun when we're about
7958         to leak downstream because we released the lock when emitting the signal
7959         and the queue could be empty again. Fixes #352345.
7960
7961 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
7962
7963         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
7964           Fix refcounting here too, just like we did for _new_valist() a few
7965           days ago (#357180) (thanks to René Stadler). Also remove all those
7966           'Since: 0.9' from the gtk-doc blobs.
7967
7968         * tests/check/libs/controller.c: (controller_refcount_new_list),
7969         (gst_controller_suite):
7970           Unit test for the above.
7971
7972 2006-10-10  Wim Taymans  <wim@fluendo.com>
7973
7974         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
7975
7976         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
7977         (gst_pad_save_thyself):
7978         Update some docs.
7979         Write pad direction in XML output. Fixes #345496.
7980
7981 2006-10-10  Wim Taymans  <wim@fluendo.com>
7982
7983         Patch by: René Stadler <mail at renestadler dot de>
7984
7985         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
7986         (gst_controller_new_list), (_gst_controller_dispose),
7987         (_gst_controller_finalize), (_gst_controller_class_init):
7988         Take ref to controlled object so that it cannot disappear. 
7989         Fixes #357432.
7990
7991 2006-10-10  Wim Taymans  <wim@fluendo.com>
7992
7993         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
7994         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7995         (gst_check_teardown_sink_pad):
7996         Activate/deactivate pads in setup/teardown respectively.
7997
7998 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7999
8000         Patch by: Josep Torra Valles <josep@fluendo.com>
8001
8002         * gst/Makefile.am:
8003         Cast values when making gstenumtypes.h.  This pacifies Forte
8004         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
8005         in the enumeration.
8006
8007 2006-10-09  Wim Taymans  <wim@fluendo.com>
8008
8009         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
8010         Rename some more @cur to @start to fix docs. 
8011
8012         * gst/gstsegment.c: (gst_segment_set_seek):
8013         Fix typo.
8014         time and start must always stay in sync as defined in design doc.
8015
8016         * gst/gsttaglist.c: (gst_tag_list_is_empty):
8017         Rename param to fix docs.
8018
8019         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8020         Check that start and time are in sync.
8021
8022         * tests/check/pipelines/parse-launch.c:
8023         (gst_parse_test_element_change_state):
8024         Activate pad before adding to the element.
8025
8026 2006-10-09  Wim Taymans  <wim@fluendo.com>
8027
8028         * docs/design/part-qos.txt:
8029         Fix typo.
8030
8031         * gst/gstevent.c:
8032         * gst/gstevent.h:
8033         Update seek event docs regarding negative rates.
8034         Rename @cur to @start. 
8035
8036         * gst/gstsegment.c: (gst_segment_set_seek):
8037         * gst/gstsegment.h:
8038         Update set_seek docs regarding negative rates.
8039         Correctly update last_stop to @stop when dealing with negative
8040         rates.
8041         Rename @cur to @start. 
8042
8043         * tests/check/gst/gstpad.c: (GST_START_TEST):
8044         Activate pads before trying to use them.
8045
8046         * tests/check/gst/gstsegment.c: (GST_START_TEST),
8047         (gst_segment_suite):
8048         Add simple check for segments and negative rates.
8049
8050 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
8051
8052         * gst/gsttaglist.c: (gst_tag_list_is_empty):
8053         * gst/gsttaglist.h:
8054         * docs/gst/gstreamer-sections.txt:
8055           API: add gst_tag_list_is_empty() (#360467).
8056
8057         * tests/check/gst/gsttag.c: (GST_START_TEST):
8058           And a test case.
8059
8060 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8061
8062         * gst/gstmessage.h:
8063         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
8064         a value that doesn't fit on enumeration.
8065
8066 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8067
8068         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8069         Remove local debugging system and use Gstreamer's instead.
8070
8071 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8072
8073         Patch by: Josep Torra Valles <josep@fluendo.com>
8074
8075         * common/m4/gst-error.m4:
8076         Disable warning of statement not reached on Forte.
8077         * gst/gstmessage.h:
8078         Fix warning on Forte (value doesn't fit on enumeration).
8079         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
8080         Fix warning on Forte (value doesn't fit on enumeration).
8081         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8082         DEBUG macro says it takes minimum of 2 args and so Forte
8083         complains about the use with just 1 arg.
8084         * plugins/elements/gstfdsink.c:
8085         * plugins/elements/gstfdsrc.c:
8086         * plugins/elements/gstfilesink.c:
8087         * plugins/elements/gstfilesrc.c:
8088         Use correct return type for the uri handler implementations.
8089
8090         All these fix warnings in Forte.  Fixes bug #360860.
8091
8092 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
8093
8094         * gst/gstelement.h:
8095           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
8096           format string, so don't use G_GNUC_PRINTF for those versions.
8097
8098 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
8099
8100         * gst/gsttaglist.c: (gst_is_tag_list):
8101         * gst/gsttaglist.h:
8102           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
8103
8104         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8105           Small test for the above.
8106
8107 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
8108
8109         * gst/gsttaglist.h:
8110           Less tabs, more spaces.
8111
8112 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
8113
8114         * gst/gstinfo.h:
8115           Those two function declarations do actually belong there, revert
8116           commit from yesterday that turned them intro macros.
8117
8118 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8119
8120         Patch by: Josep Torra Valles <josep@fluendo.com>
8121
8122         * gst/gst.c: (gst_init_get_option_group):
8123         Fix empty declaration and type mismatch.
8124         * gst/gstbin.c: (gst_bin_change_state_func):
8125         Fix type mismatch.
8126         * gst/gstelement.c: (gst_element_continue_state),
8127         (gst_element_set_state_func), (gst_element_change_state),
8128         (gst_element_change_state_func):
8129         Fix type mismatches.
8130         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
8131         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
8132         Cast as appropriate.
8133         * gst/gstobject.c: (gst_class_signal_connect):
8134         Cast as appropriate.  The function pointer parameter really
8135         has the wrong type but would break API if we change it.
8136         * gst/gstquery.c:
8137         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
8138         order of including string.h.
8139         * gst/gstutils.c: (gst_element_state_get_name):
8140         Remove unreachable line.
8141         * gst/gstxml.c: (gst_xml_parse_doc):
8142         Fix type mismatch.
8143         All these caught by Forte.
8144
8145 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8146
8147         Patch by: Josep Torra Valles <josep@fluendo.com>
8148
8149         * common/m4/gst-error.m4:
8150         Fixed bug #360151.
8151         We need to disable warnings on Forte for empty declarations
8152         due to gst-indent adding ;s to lines that just use macros
8153         where the macro actually doesn't need a ; at end to end
8154         statement.
8155
8156 2006-10-06  Wim Taymans  <wim@fluendo.com>
8157
8158         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8159         (gst_file_sink_close_file), (gst_file_sink_event),
8160         (gst_file_sink_render):
8161         Add some FIXME for the NEWSEGMENT handling.
8162
8163 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8164
8165         * gst/parse/grammar.y:
8166         Remove static function gst_parse_element_lock as all it does
8167         is return.  Looks like cruft from 0.8.
8168
8169 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8170
8171         Patch by: Josep Torra Valles <josep@fluendo.com>
8172
8173         * common/m4/gst-error.m4:
8174         * configure.ac:
8175         * libs/gst/net/Makefile.am:
8176         Fix a compilation issue with Forte on Solaris.  inet_aton is in
8177         libresolv.
8178
8179 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
8180
8181         * gst/gstpad.c: (pre_activate):
8182         * gst/gstregistry.c: (gst_registry_scan_path_level):
8183         * gst/gstregistryxml.c: (load_plugin):
8184         * libs/gst/controller/gstcontroller.c:
8185         (gst_controlled_property_set_interpolation_mode):
8186         * libs/gst/dataprotocol/dataprotocol.c:
8187         (gst_dp_packet_from_event_1_0):
8188         * libs/gst/net/gstnetclientclock.c:
8189         (gst_net_client_clock_observe_times):
8190         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
8191           Printf fixes.
8192
8193 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
8194
8195         * configure.ac:
8196         * docs/gst/gstreamer-sections.txt:
8197         * gst/gstconfig.h.in:
8198         * gst/gstelement.h:
8199         * gst/gstinfo.h:
8200           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
8201           whether we can use G_GNUC_PRINTF in other header files and at
8202           least check the printf format/arguments of debug messages and
8203           GST_ELEMENT_ERROR messages when the printf extension is not
8204           being used.
8205           Replace more tabs with spaces in gstinfo.h and remove two spurious
8206           function declarations in GST_DISABLE_DEBUG part with macros.
8207
8208 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
8209
8210         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
8211           More docs for the sync-message signal (mention that it is not
8212           emitted by default); log message structures of messages posted on
8213           the bus as well.
8214
8215 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
8216
8217         * gst/gst.c: (ensure_current_registry_forking):
8218         Use a pipe pair to receive status results from the forked child, and
8219         ignore the result from waitpid. Fixes #355499
8220
8221 2006-10-02  Wim Taymans  <wim@fluendo.com>
8222
8223         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
8224         (gst_ghost_pad_suite):
8225         Fix leak in check.
8226
8227 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
8228
8229         * gst/gstpad.c:
8230           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
8231
8232 2006-10-02  Edward Hervey  <edward@fluendo.com>
8233
8234         * docs/design/part-block.txt:
8235         Further explain the use of flushing on blocked pads.
8236         * docs/gst/gstreamer-sections.txt:
8237         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
8238         (gst_pad_push_event):
8239         * gst/gstpad.h:
8240         Added new GstPadFlag : GST_PAD_BLOCKING.
8241         Adds the notion of pads really blocking, which enables to properly
8242         handle FLUSH_START/FLUSH_STOP events on blocked pads.
8243         Fixes #358999
8244         API: gst_pad_is_blocking()
8245         API: GST_PAD_IS_BLOCKING() macro
8246         API: GST_PAD_BLOCKING GstPadFlag
8247         
8248 2006-10-02  Wim Taymans  <wim@fluendo.com>
8249
8250         Patch by: mrcgran <mrc.gran at gmail dot com>
8251
8252         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
8253         Filter the proxied caps against the padtemplate if we have one.
8254
8255         * gst/gstquery.c: (gst_query_new_segment):
8256         Add include for gstinfo.h so that compilation with
8257         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
8258
8259 2006-10-02  Wim Taymans  <wim@fluendo.com>
8260
8261         Patch by: Alessandro Decina  <alessandro at nnva org>
8262
8263         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
8264         (gst_file_sink_set_location), (gst_file_sink_open_file),
8265         (gst_file_sink_close_file), (gst_file_sink_event),
8266         (gst_file_sink_render):
8267         Set file to NULL when closing filesink so that we can set a new filename
8268         in READY. Fixes #358613.
8269
8270 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
8271
8272         Patch by: Alessandro Decina  <alessandro at nnva org>
8273
8274         * gst/gstevent.c: (_gst_event_copy):
8275           Fix gst_mini_object_make_writable() and gst_event_copy() for events
8276           with event structures by setting the parent refcount address of the
8277           copied structure to the address of the refcount member of the newly
8278           copied event rather than the address of the refcount member of the
8279           original event. Fixes #358737.
8280
8281         * tests/check/gst/gstevent.c: (GST_START_TEST):
8282           Unit test for the above.
8283
8284 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
8285
8286         * docs/design/Makefile.am:
8287           Dist some more files.
8288
8289 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8290
8291         * tests/check/libs/controller.c: (GST_START_TEST),
8292         (gst_controller_suite):
8293           Add test for the previous fix; add some more tests
8294           for correct refcounting behaviour; fix a few leaks
8295           in test cases; call gst_controller_init() at start
8296           of all tests.
8297
8298 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8299
8300         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8301         (gst_controller_set_from_list):
8302           Don't g_return_val_if_fail() on timed values with invalid timestamps
8303           inside a critical section without unlocking the mutex. Spotted by
8304           René Stadler. (#357617)
8305           Also, fix up refcounting properly: when returning an existing
8306           controller, we should increase the reference only once and not
8307           once per property and when trying to control a property again
8308           we should also increase the refcount.
8309
8310 2006-09-29  Wim Taymans  <wim@fluendo.com>
8311
8312         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8313         * libs/gst/net/gstnettimeprovider.c:
8314         (gst_net_time_provider_thread):
8315         Stop reading commands when EOF as well.
8316
8317         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
8318         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
8319         * plugins/elements/gstidentity.c: (gst_identity_class_init):
8320         Unify description of the dump property.
8321
8322 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8323
8324         * tests/examples/manual/.cvsignore:
8325         OK, so it's actually cvsignore that needs changing. Stop laughing.
8326
8327 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8328
8329         * tests/examples/manual/Makefile.am:
8330         Gah, declare vars *before* using them
8331
8332 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8333
8334         * gst/gst.c: (init_pre), (scan_and_update_registry),
8335         (ensure_current_registry_nonforking),
8336         (ensure_current_registry_forking), (ensure_current_registry),
8337         (init_post), (gst_debug_help), (gst_deinit):
8338         * gst/gst_private.h:
8339         * gst/gstregistry.c: (gst_registry_finalize),
8340         (gst_registry_remove_features_for_plugin_unlocked),
8341         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8342         (gst_registry_scan_path),
8343         (_priv_gst_registry_remove_cache_plugins),
8344         (_priv_gst_registry_cleanup):
8345         * gst/gstregistry.h:
8346         Re-commit the registry changes, along with an extra fix:
8347           When a cached plugin is encountered at a different file path,
8348           update the stored path in the registry cache so that the parent
8349           process knows where it actually is now when it re-reads the registry
8350           cache. Fixes the thing that broke distcheck with the previous commit.
8351
8352         * tests/check/Makefile.am:
8353         Clean up files named 'core' too when running make clean.
8354
8355         * tests/examples/manual/Makefile.am:
8356         Set up a registry path for running these tests, and clean it properly
8357         for distcheck.
8358
8359 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8360
8361         * configure.ac:
8362         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
8363         want gmodule-no-export-2.0.pc instead so that we don't drag in
8364         --export-dynamic on every project that links to GStreamer.
8365
8366         Also, make our export regex only match the start of symbols, rather 
8367         than any symbol that contains '_gst' somewhere.
8368
8369         * libs/gst/check/Makefile.am:
8370         The libgstcheck we build does however need export-dynamic, as it
8371         produces some symbols that don't match our _gst... style regex.
8372         Fixes: #318031
8373
8374 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
8375
8376         * gst/gst.c: (init_pre), (scan_and_update_registry),
8377         (ensure_current_registry_nonforking),
8378         (ensure_current_registry_forking), (ensure_current_registry),
8379         (init_post), (gst_debug_help), (gst_deinit):
8380         * gst/gst_private.h:
8381         * gst/gstregistry.c: (gst_registry_finalize),
8382         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8383         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
8384         (_gst_registry_cleanup):
8385         * gst/gstregistry.h:
8386           Revert previous change until I figure out why it breaks distcheck.
8387
8388 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
8389
8390         * gst/gst.c: (init_pre), (scan_and_update_registry),
8391         (ensure_current_registry_nonforking),
8392         (ensure_current_registry_forking), (ensure_current_registry),
8393         (init_post), (gst_debug_help), (gst_deinit):
8394
8395           Make init_pre and init_post take the full complement of GOptionFunc
8396           args so they can return useful GErrors. Make the registry updating
8397           functions do so.
8398
8399           Call _priv_gst_registry_remove_cache_plugins after scanning files to
8400           ensure that the registry we're about to write out doesn't contain
8401           stale information about old-deleted plugin files.
8402
8403           Make _priv_gst_registry_remove_cache_plugins return a boolean so
8404           that deletion of plugin files is considered a registry change.
8405
8406         * gst/gst_private.h:
8407         * gst/gstregistry.c: (gst_registry_finalize),
8408         (gst_registry_remove_features_for_plugin_unlocked),
8409         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8410         (gst_registry_scan_path),
8411         (_priv_gst_registry_remove_cache_plugins),
8412         (_priv_gst_registry_cleanup):
8413         * gst/gstregistry.h:
8414         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
8415         by adding _priv prefix, so that they won't appear in the global
8416         symbol table. They still do atm though because of #318031. Move the
8417         prototypes to gst_private.h
8418
8419         When removing a plugin, remove all features for that plugin too. 
8420         Fixes #340878.
8421
8422 2006-09-27  Wim Taymans  <wim@fluendo.com>
8423
8424         * docs/random/moving-plugins:
8425         Make it clear that the "compiled-in descriptions" really mean
8426         the element details.
8427
8428         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8429         (gst_base_sink_wait_preroll):
8430         Update docs.
8431
8432         * docs/libs/gstreamer-libs-sections.txt:
8433         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
8434         (gst_base_src_get_range), (gst_base_src_activate_push):
8435         * libs/gst/base/gstbasesrc.h:
8436         Added function to block while waiting for PLAYING, this function
8437         is used by live sources that block on the clock.
8438         API: gst_base_src_wait_playing()
8439
8440 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8441
8442         Patch by: Peter Kjellerstedt <pkj at axis com>
8443
8444         * Makefile.am:
8445           gst-element-check.m4 is generated and should therefore be
8446           copied from the build dir rather than the source dir (#357593).
8447           'make distcheck' hasn't noticed this because we were disting
8448           the file as well, so stop doing that.
8449
8450 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8451
8452         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8453           Add some tests for gst_caps_intersect().
8454
8455         * tools/gst-launch.c: (event_loop):
8456           Print all buffering percentages we get, even the 100% one.
8457
8458 2006-09-26  Wim Taymans  <wim@fluendo.com>
8459
8460         * tools/gst-inspect.c: (print_element_properties_info),
8461         (print_signal_info):
8462         Fix printing of flags to match the look of enums.
8463
8464 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8465
8466         * gst/gstelementfactory.c:
8467           Fix typo in docs blurb.
8468
8469 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8470
8471         * gst/gsturi.c: (search_by_entry):
8472           Don't assert/crash here if a uri handler doesn't return any
8473           supported protocols. The list of protocols could be generated
8474           dynamically at runtime or at plugin registration, and an error
8475           in the underlying library shouldn't be fatal (#353301).
8476
8477 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8478
8479         * gst/gstinfo.c:
8480           Fix warning if HAVE_PRINTF_EXTENSION is undefined
8481           (spotted by Peter Kjellerstedt).
8482
8483 2006-09-23  Wim Taymans  <wim@fluendo.com>
8484
8485         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
8486
8487         * libs/gst/base/gstbasesrc.c:
8488         (gst_base_src_default_check_get_range), (gst_base_src_start),
8489         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8490         (gst_base_src_change_state):
8491         Match _start/_stop calls in the activate functions. Remove redundant
8492         _stop call from the state change function. Fixes #356910.
8493         Turn failure DEBUG into ERROR. 
8494
8495 2006-09-22  Wim Taymans  <wim@fluendo.com>
8496
8497         * docs/design/part-buffering.txt:
8498         * gst/gstmessage.c: (gst_message_new_buffering),
8499         (gst_message_parse_buffering):
8500         Update docs about buffering.
8501
8502         * docs/design/part-trickmodes.txt:
8503         Fix typo.
8504
8505 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
8506
8507         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8508         (gst_controller_new_list):
8509           Ref instances when returning them again (fixes #357180)
8510
8511 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
8512
8513         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
8514           Don't forget to release proxy lock when there's an error.
8515
8516 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
8517
8518         * gst/gstcaps.h:
8519           Add extra initialisers for Caps things, to fix some plugin warnings
8520           when using -Wextra
8521
8522 2006-09-18  Wim Taymans  <wim@fluendo.com>
8523
8524         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
8525           Also set template on the internal pad so that a getcaps from the 
8526           target pad returns the template caps.
8527
8528 2006-09-18  Wim Taymans  <wim@fluendo.com>
8529
8530         * gst/gstelement.c: (gst_element_post_message),
8531         (gst_element_dispose):
8532         Use _DEBUG_OBJECT some more.
8533
8534         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8535         Avoid typechecks.
8536
8537         * tools/gst-launch.c: (main):
8538         If the toplevel element is not a GstPipeline, it must be put in a
8539         pipeline so that a bus and clock is selected.
8540
8541 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
8542
8543         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
8544           JITTER, RATE, and LATENCY query should be handled by the
8545           default case and not by the CONVERT query code.
8546
8547 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
8548
8549         * gst/gstformat.c: (gst_format_register):
8550           Fix locking order (must take lock before using n_values).
8551
8552         * gst/gstvalue.c: (gst_value_serialize_enum),
8553         (gst_value_deserialize_enum_iter_cmp),
8554         (gst_value_deserialize_enum):
8555           Fix serialisation/deserialisation of custom registered GstFormats.
8556
8557         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8558           Unit test for custom format serialisation/deserialisation.
8559
8560 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
8561
8562         * docs/pwg/building-boiler.xml:
8563         * plugins/elements/gstcapsfilter.c:
8564         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
8565         section.
8566
8567 2006-09-16  Edward Hervey  <edward@fluendo.com>
8568
8569         * libs/gst/base/gstbasetransform.c:
8570         (gst_base_transform_buffer_alloc):
8571         Check if requested caps are the same as the sinks caps IF
8572         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
8573         is FALSE.
8574         This fixes the renegotiation issues stated in #352827.
8575
8576 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8577
8578         * configure.ac:
8579         * docs/manual/advanced-autoplugging.xml:
8580         * tests/examples/Makefile.am:
8581         * tests/examples/manual/.cvsignore:
8582         * tests/examples/manual/Makefile.am:
8583         * tests/examples/manual/extract.pl:
8584           Extract the manual examples again like we used to do.
8585           Fix one of them.
8586
8587 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8588
8589         * win32/common/config.h:
8590           update for version
8591
8592 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
8593
8594         * gst/gsterror.c:
8595           Documents how to receive errors.
8596
8597 2006-09-15  Wim Taymans  <wim@fluendo.com>
8598
8599         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
8600         (event_loop), (main):
8601         Added some comments here and there.
8602         Post an application message when an interrupt is caught instead of doing
8603         an uncontrolled state change.
8604         Clean up the event loop.
8605         Handle buffering messages, pause/resume the pipeline.
8606         Make shutdown because of an interrupt more reliable.
8607
8608 2006-09-15  Wim Taymans  <wim@fluendo.com>
8609
8610         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8611         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
8612         (gst_base_sink_preroll_object):
8613         Make sure that our internal state is correct when we commit our state
8614         asynchronously. This solves a race where a state change to PLAYING
8615         could cause the sink to remain blocked in preroll in some situations.
8616
8617 2006-09-15  Wim Taymans  <wim@fluendo.com>
8618
8619         * tools/gst-inspect.c: (print_element_properties_info),
8620         (print_signal_info):
8621         List flags as hex so it's easier to deal with.
8622
8623 2006-09-15  Wim Taymans  <wim@fluendo.com>
8624
8625         * docs/libs/gstreamer-libs-sections.txt:
8626         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
8627         (gst_base_sink_do_sync):
8628         * libs/gst/base/gstbasesink.h:
8629         Expose logic to wait for preroll so that subclasses such as audiosink
8630         can also use this method.
8631         API: gst_base_sink_wait_preroll()
8632
8633 2006-09-15  Wim Taymans  <wim@fluendo.com>
8634
8635         * gst/gstobject.c: (gst_object_set_parent):
8636         * gst/gstpipeline.c: (do_pipeline_seek):
8637         Small cleanups in docs and code.
8638
8639         * gst/gstsegment.c: (gst_segment_clip):
8640         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8641         if stop == start and start is in the segment, no clipping should be
8642         done. Also add a test for this.
8643
8644 2006-09-15  Wim Taymans  <wim@fluendo.com>
8645
8646         * docs/design/part-buffering.txt:
8647         * docs/gst/gstreamer-sections.txt:
8648         * gst/gstmessage.c: (gst_message_new_buffering),
8649         (gst_message_parse_buffering):
8650         * gst/gstmessage.h:
8651         Added methods to create and parse BUFFERING messages.
8652         Added preliminary docs about buffering.
8653         API: gst_message_new_buffering
8654         API: gst_message_parse_buffering
8655
8656 2006-09-06  Wim Taymans  <wim@fluendo.com>
8657
8658         * gst/gstbin.c:
8659         Update documentation.
8660
8661         * gst/gstelement.c: (gst_element_class_init),
8662         (gst_element_release_request_pad), (gst_element_set_clock),
8663         (gst_element_get_index), (gst_element_add_pad),
8664         (gst_element_remove_pad), (gst_element_get_random_pad),
8665         (gst_element_send_event), (gst_element_get_query_types),
8666         (gst_element_query), (gst_element_post_message),
8667         (gst_element_message_full), (gst_element_continue_state),
8668         (gst_element_lost_state), (gst_element_save_thyself),
8669         (gst_element_restore_thyself):
8670         Documentation updates.
8671         Rename last bit of the new-pad -> pad-added signal rename.
8672         Fix the case where an element query would only work if the source
8673         pad was linked.
8674         Avoid some useless type checking in message handling.
8675
8676         * gst/gstevent.c:
8677         * gst/gstevent.h:
8678         * gst/gstutils.c:
8679         Documentation updates.
8680
8681 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8682
8683         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
8684           add an INFO line for when we actually update the fd
8685
8686 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8687
8688         * configure.ac:
8689           back to TRUNK
8690
8691 === release 0.10.10 ===
8692
8693 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
8694
8695         * configure.ac:
8696           releasing 0.10.10, "Pais"
8697
8698 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
8699
8700         * docs/manual/advanced-position.xml:
8701           Fix typo in sample code.
8702
8703 2006-09-05  Wim Taymans  <wim@fluendo.com>
8704
8705         * libs/gst/net/gstnetclientclock.c: (inet_aton),
8706         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
8707         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
8708         * libs/gst/net/gstnetclientclock.h:
8709         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
8710         * libs/gst/net/gstnettimepacket.h:
8711         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
8712         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
8713         (gst_net_time_provider_thread), (gst_net_time_provider_new):
8714         * libs/gst/net/gstnettimeprovider.h:
8715         Make stuff compile on windows. Fixes #345295.
8716
8717 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8718
8719         * gst/gst.c: (ensure_current_registry_forking):
8720           Print better details when child was terminated by signal.
8721
8722 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8723
8724         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
8725           Print a warning rather than g_assert() if a plugin feature
8726           is a URI handler but returns no protocols (#353976).
8727
8728 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
8729
8730         * docs/random/moving-plugins:
8731         Fix two typos.         
8732
8733 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8734
8735         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
8736           Fix locking order, handle NULL function values properly.
8737
8738         * gst/gstinfo.h:
8739           Fix docs.
8740
8741         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
8742           Initialise variable before using it and fix debug statement to
8743           print the address of the function rather than the address of the
8744           variable on the stack holding the address of the function.
8745
8746 2006-09-01  Wim Taymans  <wim@fluendo.com>
8747
8748         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
8749         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
8750         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
8751         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
8752         (gst_ghost_pad_parent_unset),
8753         (gst_ghost_pad_internal_do_activate_push),
8754         (gst_ghost_pad_internal_do_activate_pull),
8755         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8756         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8757         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
8758         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
8759         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
8760         (gst_ghost_pad_new_no_target_from_template),
8761         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
8762         More cleanups.
8763         Avoid needless typechecking in macros.
8764         Since the internal pad is always present and never changes, there is
8765         no need to locking or ref when retrieving it.
8766         Improve debugging a bit.
8767         Handle link errors when setting the target. Fixes #341029.
8768
8769 2006-09-01  Wim Taymans  <wim@fluendo.com>
8770
8771         * docs/libs/gstreamer-libs-sections.txt:
8772         * docs/plugins/gstreamer-plugins-sections.txt:
8773         Fix docs some more.
8774
8775         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
8776         (gst_collect_pads_event):
8777         * libs/gst/base/gstcollectpads.h:
8778         Documentation updates.
8779         Free queued buffer when removing a pad.
8780
8781 2006-08-31  Michael Smith  <msmith@fluendo.com>
8782
8783         * gst/gstutils.c: (gst_element_link_pads),
8784         (gst_element_link_pads_filtered):
8785           Ensure that we set a capsfilter to NULL if we failed to link it
8786           when doing filtered linking, to avoid criticals.
8787
8788           No need to check for unreffing srcpad, which is explicly NULLed
8789           above (a trivial code cleanup).
8790
8791 2006-08-31  Wim Taymans  <wim@fluendo.com>
8792
8793         * docs/design/part-gstghostpad.txt:
8794         Update ascii art in documentation.
8795
8796         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
8797         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
8798         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
8799         (gst_ghost_pad_internal_do_activate_push),
8800         (gst_ghost_pad_internal_do_activate_pull),
8801         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
8802         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
8803         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
8804         (gst_ghost_pad_set_target):
8805         Small cleanups and leak fixes.
8806         Remove some checks now that the internal pad is never NULL.
8807         Fix the case where linking pads without a target would create nasty
8808         criticals. Fixes #341029.
8809         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
8810         value of _set_target().
8811
8812         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
8813         (gst_ghost_pad_suite):
8814         Some more tests for creating and linking untargeted ghostpads.
8815
8816 2006-08-31  Edward Hervey  <edward@fluendo.com>
8817
8818         * docs/gst/gstreamer-sections.txt:
8819         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
8820         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
8821         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
8822         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
8823         (gst_ghost_pad_new_from_template),
8824         (gst_ghost_pad_new_no_target_from_template):
8825         * gst/gstghostpad.h:
8826         Refactored *_new() functions.
8827         Templates are now used as a g_object_new() parameter.
8828         Use template in _do_getcaps() if we don't have a target.
8829         Small documentation cleanups.
8830         Added two new constructors:
8831         gst_ghost_pad_new_from_template()
8832         gst_ghost_pad_new_no_target_from_template()
8833         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
8834         (gst_ghost_pad_suite):
8835         Added tests for new ghostpad instanciation functions.
8836
8837         API additions: gst_ghost_pad_new_from_template,
8838         gst_ghost_pad_new_no_target_from_template
8839
8840 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
8841
8842         * docs/random/ensonic/profiling.txt:
8843           Ideas about qos profiling.
8844
8845 2006-08-29  Wim Taymans  <wim@fluendo.com>
8846
8847         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
8848         Code cleanups.
8849         Fix memleak.
8850
8851 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
8852
8853         * gst/gstxml.c:
8854           Improve and detypofy docs.
8855
8856         * tests/check/Makefile.am:
8857         * tests/check/gst/.cvsignore:
8858         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
8859           Add a basic test suite for GstXML.
8860
8861 2006-08-29  Wim Taymans  <wim@fluendo.com>
8862
8863         * gst/gstelement.c: (activate_pads), (clear_caps),
8864         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
8865         Clear the pad caps when the element shut down all of the pads and
8866         is not streaming data that could modify the caps. 
8867         Fixes #352958.
8868
8869 2006-08-28  Michael Smith  <msmith@fluendo.com>
8870
8871         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8872           Revert previous change; I misunderstood single-segment mode.
8873
8874 2006-08-28  Michael Smith  <msmith@fluendo.com>
8875
8876         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8877           Unset DISCONT on buffers when using single-segment mode.
8878
8879 2006-08-28  Wim Taymans  <wim@fluendo.com>
8880
8881         * gst/gstcaps.c: (gst_caps_merge_structure):
8882         * gst/gstcaps.h:
8883         Fix docs and indentation again.
8884
8885         * tests/check/gst/gstquery.c: (GST_START_TEST):
8886         Fix leak in tests and add some more tests.
8887
8888 2006-08-28  Edward Hervey  <edward@fluendo.com>
8889
8890         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8891         Inform GstSegment of the last stop position in order for the current
8892         segment to have a proper duration if it doesn't have a specific stop
8893         position from which a duration could be calculated.
8894         This bug was noticeable when a non-flushing, non-update new segment was
8895         followed by another segment (all buffers from the new segment were being
8896         dropped).
8897
8898 2006-08-28  Wim Taymans  <wim@fluendo.com>
8899
8900         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
8901         Small comment update.
8902
8903         * plugins/elements/gstidentity.c: (gst_identity_class_init),
8904         (gst_identity_transform_ip):
8905         Drop-probability is broken, mention this in the code with a 
8906         FIXME and also in the property description.
8907         Make silent also be silent about the drop messages.
8908
8909 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
8910
8911         * docs/manual/appendix-win32.xml:
8912           Remove mention of popt, we don't depend on that any
8913           longer (#353136). Add some comments pointing out that
8914           this section is slightly outdated.
8915
8916 2006-08-28  Wim Taymans  <wim@fluendo.com>
8917
8918         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
8919
8920         * gst/gstquery.c: (gst_query_new_segment):
8921         * tests/check/gst/gstquery.c: (GST_START_TEST):
8922         Initialize variables when creating a new segment query.
8923         Fixes #353121.
8924
8925 2006-08-28  Wim Taymans  <wim@fluendo.com>
8926
8927         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
8928
8929         * gst/gstelement.c: (gst_element_get_bus):
8930         * tests/check/gst/gstelement.c: (GST_START_TEST):
8931         Check for NULL before _reffing the bus. Fixes #353122.
8932
8933 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
8934
8935         * docs/manual/basics-bus.xml:
8936           Docs update: fix wrong callback return value explanation; add
8937           some lines about the implicit relationship between main loop
8938           and main context; remove duplicate main loop variable declaration.
8939
8940 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
8941
8942         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8943           Don't leak caps in unit test; add a few more simple
8944           checks. 
8945
8946 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
8947
8948         * docs/gst/gstreamer-sections.txt:
8949         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
8950         (gst_caps_structure_is_subset), (gst_caps_merge),
8951         (gst_caps_merge_structure):
8952         * gst/gstcaps.h:
8953         * libs/gst/base/gstbasetransform.c:
8954         (gst_base_transform_transform_caps):
8955         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8956           implement caps merging (fixes #352580)
8957
8958 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
8959
8960         * tools/Makefile.am:
8961         * tools/gst-plot-timeline.py:
8962           add debug-log plotting developer tool (#340674)
8963
8964 2006-08-23  Wim Taymans  <wim@fluendo.com>
8965
8966         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
8967         (gst_pad_stop_task):
8968         Improve debugging for task functions.
8969
8970         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
8971         (gst_task_start), (gst_task_pause), (gst_task_join):
8972         Make sure that the task function started and finished after a 
8973         join(). 
8974         Don't try to push the task function on the threadpool multiple
8975         times.
8976         Improve the g_warning message with some useful suggestions
8977         about how to fix the problem. 
8978
8979 2006-08-23  Wim Taymans  <wim@fluendo.com>
8980
8981         * gst/gstutils.c: (gst_pad_proxy_getcaps):
8982         Handle RESYNC correctly in _proxy_getcaps.
8983
8984 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
8985
8986         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
8987         (gst_xml_parse_memory), (gst_xml_get_element):
8988           Chain up to parent class in dispose function and also
8989           unref the elements in the toplevel_elements GList.
8990           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
8991           Always return a reference in gst_xml_get_element() rather
8992           than only sometimes.
8993
8994         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
8995           Don't leak GstXml object.
8996
8997 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
8998
8999         * docs/gst/gstreamer-sections.txt:
9000         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
9001         (gst_caps_merge):
9002         * gst/gstcaps.h:
9003         * libs/gst/base/gstbasetransform.c:
9004         (gst_base_transform_transform_caps):
9005           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
9006           in a better way
9007
9008 2006-08-21  Edward Hervey  <edward@fluendo.com>
9009
9010         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
9011         Implement GObject::dispose virtual method in GstXML so we can free the
9012         top_elements GList.
9013
9014 2006-08-21  Wim Taymans  <wim@fluendo.com>
9015
9016         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
9017         (gst_buffer_create_sub):
9018         Copy duration/offset_end/caps when creating a subbuffer of the
9019         complete parent.
9020         Make the subbuffer read-only when we make the metadata writable for
9021         now. Fixes #351768.
9022
9023         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
9024         Added check for metadata copy when creating subbuffers.
9025
9026 2006-08-21  Edward Hervey  <edward@fluendo.com>
9027
9028         * libs/gst/base/gstbasetransform.c:
9029         (gst_base_transform_buffer_alloc):
9030         Only call downstream buffer_alloc if transform element is passthrough
9031         or always_in_place. Closes #350449.
9032
9033 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
9034
9035         * ChangeLog:
9036           ChangeLog surgery to add comments to previous changes
9037
9038 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
9039
9040         * gst/gst.c:
9041           Add comments
9042
9043         * gst/gstpad.c: (gst_pad_set_active):
9044           Be more verbose in the log
9045
9046         * libs/gst/base/gstbasetransform.c:
9047         (gst_base_transform_transform_caps):
9048           Simplify caps to get rid of duplicates, fixes #345444
9049
9050 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
9051
9052         * gst/gstvalue.c:
9053         * gst/gstvalue.h:
9054           Use these optimizations only internally.
9055
9056 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
9057
9058         * gst/gstvalue.c: (gst_value_compare_list),
9059         (gst_value_compare_fraction_range),
9060         (gst_value_intersect_fraction_fraction_range),
9061         (gst_value_intersect_fraction_range_fraction_range),
9062         (gst_value_subtract_fraction_fraction_range),
9063         (gst_value_subtract_fraction_range_fraction_range),
9064         (gst_value_get_compare_func), (gst_value_compare),
9065         (gst_value_compare_with_func):
9066         * gst/gstvalue.h:
9067           Saves the expensive lookup of the compare function in many cases
9068          (#345444)
9069
9070 2006-08-18  Edward Hervey  <edward@fluendo.com>
9071
9072         * tests/check/gst/gstinfo.c: (gst_info_suite):
9073         Disable test that require gstdebug if it wasn't built in core.
9074
9075 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
9076
9077         * docs/random/ensonic/logging.txt:
9078           update ideas
9079           
9080         * gst/gstinfo.c: (gst_debug_log_default):
9081           reorder fields, save some columns, add optional color codes for log
9082           levels
9083
9084 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
9085
9086         * docs/random/ensonic/logging.txt:
9087           add ideas about making the logs a bit more useful
9088
9089 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
9090
9091         * docs/pwg/advanced-events.xml:
9092         * docs/pwg/titlepage.xml:
9093           Update for 0.10 API (#340627). Add myself
9094           to authors list.
9095
9096 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
9097
9098         * docs/libs/gstreamer-libs-docs.sgml:
9099         * docs/libs/gstreamer-libs-sections.txt:
9100         * libs/gst/check/gstbufferstraw.c:
9101           Make gstcheck stuff show up in docs (still needs to
9102           be documented properly though).
9103
9104 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
9105
9106         * docs/gst/gstreamer-sections.txt:
9107         * gst/Makefile.am:
9108         * gst/gst.c: (init_post):
9109         * gst/gst_private.h:
9110         * gst/gstquark.c: (_priv_gst_quarks_initialize):
9111         * gst/gstquark.h:
9112         * gst/gstquery.c: (gst_query_new_position),
9113         (gst_query_set_position), (gst_query_parse_position),
9114         (gst_query_new_duration), (gst_query_set_duration),
9115         (gst_query_parse_duration), (gst_query_new_convert),
9116         (gst_query_set_convert), (gst_query_parse_convert),
9117         (gst_query_new_segment), (gst_query_set_segment),
9118         (gst_query_parse_segment), (gst_query_new_seeking),
9119         (gst_query_set_seeking), (gst_query_parse_seeking):
9120         Add internal helpers for pre-registering quarks from static strings
9121         and using the quark values directly instead of looking them up when
9122         creating and parsing queries. Can be used for event construction too.
9123         Closes #350432.
9124
9125 2006-08-16  Wim Taymans  <wim@fluendo.com>
9126
9127         * gst/gstbin.c:
9128         Fix bogus docs.
9129
9130 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
9131
9132         * gst/gstutils.c: (gst_util_set_value_from_string):
9133           Fix memleak (#351502).
9134
9135         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9136           Add unit test for most of gst_util_set_value_from_string()
9137           (not that one would want to encourage use of this function).
9138
9139 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
9140
9141         * libs/gst/check/gstcheck.h:
9142           Use const gchar * variables in fail_unless_equals_string
9143           macro to avoid compiler warnings (and don't use tabs for
9144           indenting).
9145
9146 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
9147
9148         * tools/gst-launch.c: (print_tag):
9149           More space on the left for the tag names, to cater
9150           for the 'extended comment' tag (not touching the
9151           string for the first line since it's translated).
9152
9153 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
9154
9155         * libs/gst/check/gstcheck.h:
9156           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
9157           print something when they fail.
9158
9159 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
9160
9161         * docs/gst/gstreamer-sections.txt:
9162         * gst/gsttaglist.c: (_gst_tag_initialize):
9163         * gst/gsttaglist.h:
9164           API: add GST_TAG_EXTENDED_COMMENT (#350935).
9165           Also change merge function for GST_TAG_COMMENT to
9166           use_first.
9167
9168 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
9169
9170         * gst/gstinfo.c: (gst_debug_print_object):
9171           Make GST_PTR_FORMAT print messages as well.
9172
9173         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
9174         (GST_START_TEST), (gst_info_suite):
9175           More tests.
9176
9177 2006-08-14  Edward Hervey  <edward@fluendo.com>
9178
9179         * gst/gstelementfactory.c: (gst_element_register):
9180         If the GstElementClass doesn't have a GstElementDetails with all fields
9181         filled up correctly (longname, description AND author), then error out
9182         nicely instead of crashing.
9183
9184 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
9185
9186         * gst/gststructure.c:
9187           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
9188
9189         * gst/gstvalue.h:
9190           Expand on the difference between arrays and lists as we use them.
9191           
9192 2006-08-14  Wim Taymans  <wim@fluendo.com>
9193
9194         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
9195         If the parent state change function failed, don't assume we can safely
9196         stop the source, this will be done when the pads are deactivated.
9197
9198 2006-08-14  Wim Taymans  <wim@fluendo.com>
9199
9200         * gst/gstbuffer.c:
9201         * gst/gsttask.c: (gst_task_join):
9202         Small doc updates.
9203
9204         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9205         (gst_pad_stop_task):
9206         When pad (de)activation failed for some reason, restore the old
9207         activation mode and set the pad to flushing instead of assuming the
9208         pad is deactivated.
9209         If the _task_join() failed, reinstall the task on the pad so that it can
9210         be stopped later and return an error.
9211
9212 2006-08-11  Andy Wingo  <wingo@pobox.com>
9213
9214         * configure.ac:
9215         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
9216         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
9217         is only for users of API that don't want to see deprecated
9218         functions in the headers; people that want to compile out
9219         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
9220         CFLAGS. Fixes the build of multifdsink, or will soon..
9221
9222 2006-08-11  Wim Taymans  <wim@fluendo.com>
9223
9224         * docs/gst/gstreamer-sections.txt:
9225         Add GstClockClass vmethod docs.
9226
9227         * gst/gstcaps.h:
9228         Mark #endif with comment for associated #if
9229
9230         * gst/gstclock.c: (gst_clock_id_wait):
9231         * gst/gstclock.h:
9232         Add vmethod wait_jitter to avoid an unneeded _get_time() for
9233         most clock implementations.
9234         Document vmethods.
9235         Flesh out docs about resolution methods.
9236         API: GstClockClass::wait_jitter
9237
9238         * gst/gstsystemclock.c: (gst_system_clock_class_init),
9239         (gst_system_clock_async_thread),
9240         (gst_system_clock_id_wait_jitter_unlocked),
9241         (gst_system_clock_id_wait_jitter):
9242         Use base class wait_jitter variant for improved performance
9243         due to less clock polling.
9244
9245 2006-08-11  Edward Hervey  <edward@fluendo.com>
9246
9247         * gst/gst.c: (gst_init_check), (init_post):
9248         Set gst as being initialized before scanning/updating the registry,
9249         since there might be my python plugin loader that calls gst_init() and
9250         we don't want to loop back in.
9251         Closes #350879
9252
9253 2006-08-11  Wim Taymans  <wim@fluendo.com>
9254
9255         * docs/design/part-qos.txt:
9256         Bring docs in line with the code. Mostly the sign of the jitter was
9257         wrong in the docs. Fixes #349943.
9258
9259         * gst/gstclock.c:
9260         Fix the docs for the jitter.
9261
9262         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
9263         (gst_event_parse_tag), (gst_event_new_buffer_size),
9264         (gst_event_parse_buffer_size), (gst_event_parse_qos),
9265         (gst_event_new_seek), (gst_event_parse_seek),
9266         (gst_event_new_navigation):
9267         Make sure the GstStructure has no parent when creating custom
9268         events.
9269         Add some more argument checking so that we avoid 0.0 rates.
9270         Flesh out the docs for the QoS event some more.
9271
9272 2006-08-11  Wim Taymans  <wim@fluendo.com>
9273
9274         * docs/gst/gstreamer-sections.txt:
9275         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9276         (ensure_current_registry_forking), (ensure_current_registry),
9277         (parse_one_option), (parse_goption_arg), (gst_deinit),
9278         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
9279         * gst/gst.h:
9280         Doc updates.
9281         Added API and command line option to disable registry forking in
9282         addition to the environment variable.
9283         Constify some static arrays.
9284         Added some more debug.
9285         Don't deinit twice.
9286         API: gst_registry_fork_is_enabled()
9287         API: gst_registry_fork_set_enabled()
9288         API: --gst-disable-registry-fork command line option
9289         Fixes #348918.
9290
9291 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
9292
9293         * gst/gst.c: (gst_init):
9294           Fix typo in error message.
9295
9296 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
9297
9298         * libs/gst/controller/gstcontroller.h:
9299           fix ABI size-correction
9300
9301         * tests/check/libs/gdp.c: (gst_dp_suite):
9302           make tests that use deprecated API conditional
9303
9304 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
9305
9306         * docs/libs/gstreamer-libs-sections.txt:
9307         * libs/gst/controller/gstcontroller.c:
9308         (_gst_controller_get_property), (_gst_controller_set_property),
9309         (_gst_controller_init), (_gst_controller_class_init):
9310         * libs/gst/controller/gstcontroller.h:
9311         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
9312         (gst_object_set_control_rate):
9313           API: add gst_object_{s,g}et_control_rate(), add private data section,
9314           fix docs
9315
9316         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
9317         * libs/gst/dataprotocol/dataprotocol.h:
9318           add deprecation guards to make gtk-doc happy and allow disabling cruft
9319
9320 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
9321
9322         * tests/check/Makefile.am:
9323         * tests/check/gst/.cvsignore:
9324           Let's enable the new unit test as well.
9325
9326 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9327
9328         * configure.ac:
9329         * docs/gst/gstreamer-sections.txt:
9330         * gst/gstconfig.h.in:
9331         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
9332         (_gst_info_printf_extension_ptr),
9333         (_gst_info_printf_extension_segment):
9334           API: add GST_SEGMENT_FORMAT, which is a printf extension we
9335           register that lets us easily dump GstSegments into debug
9336           logs (#350419).
9337
9338         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
9339         (info_segment_format_printf_extension), (gst_info_suite):
9340           Add simple unit test that logs a bunch of different segments (not
9341           valgrinded at the moment because of leaks in
9342           gst_debug_add_log_function).
9343
9344 2006-08-09  Edward Hervey  <edward@fluendo.com>
9345
9346         * libs/gst/base/gstbasetransform.c:
9347         (gst_base_transform_buffer_alloc):
9348         Even if we can't figure out the proper format to request downstream,
9349         call buffer_alloc() downstream with the input parameters without setting
9350         the caps on the srcpad. This will force negotiation in the chain
9351         function.
9352         Closes #350449
9353
9354 2006-08-08  Edward Hervey  <edward@fluendo.com>
9355
9356         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
9357         Unlinking from a pad without a target is now a perfectly valid case
9358         which should NOT raise an assertion.
9359         This case would happen if a linked ghostpad its target set to NULL after
9360         it was previously linked.
9361
9362 2006-08-08  Edward Hervey  <edward@fluendo.com>
9363
9364         * tests/check/libs/gdp.c:
9365         Also comment out the test (see below).
9366
9367 2006-08-08  Edward Hervey  <edward@fluendo.com>
9368
9369         * tests/check/libs/gdp.c: (gst_dp_suite):
9370         Use the architecture information from config.h and not gcc macros
9371         in order to properly disable a test that fails on PPC64.
9372
9373 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
9374
9375         * gst/gstelement.c: (gst_element_remove_pad):
9376           Don't crash printing the warning if the pad has no parent.
9377
9378 2006-08-02  Wim Taymans  <wim@fluendo.com>
9379
9380         * libs/gst/dataprotocol/dataprotocol.c:
9381         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
9382         (gst_dp_crc), (gst_dp_header_payload_length),
9383         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
9384         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
9385         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
9386         (gst_dp_event_from_packet), (gst_dp_validate_header),
9387         (gst_dp_validate_payload):
9388         Make debug category static
9389         Constify the crc table.
9390         Do some more arg checking in public functions.
9391         Fix some docs and do some small cleanups.
9392
9393         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
9394         Add some more checks to see if GDP deals with bogus input.
9395
9396 2006-07-31  Wim Taymans  <wim@fluendo.com>
9397
9398         * gst/gstvalue.c: (gst_value_compare_list):
9399         Fix GstValueList comparison code. Fixes #347293.
9400
9401         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9402         Check to test GstValueList comparison.
9403
9404 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
9405
9406         * gst/gstelementfactory.c: (gst_element_factory_create):
9407         Remove unnecessary ref/unref pair
9408
9409         * gst/parse/grammar.y:
9410         Make sure to free the parse buffer on all code paths.
9411         Move a g_free up to the error handler where it's easier to see.
9412
9413         * tests/check/gst/gstevent.c: (test_event):
9414         Extending timeout for downstream travelling events to 10 seconds to
9415         hopefully avoid intermittent failure on the buildbots.
9416
9417         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
9418         Don't manually set the state of the src element - it will happen as a
9419         natural consequence of the pipeline changing state, and that way it
9420         will do it in the right order too.
9421
9422 2006-07-31  Wim Taymans  <wim@fluendo.com>
9423
9424         * libs/gst/base/gstbasetransform.c:
9425         (gst_base_transform_buffer_alloc):
9426         Use OBJECT_LOCK and refcounting to get the pad caps in the
9427         buffer_alloc function because the caps could change while we are
9428         busy with them. Fixes #349105
9429
9430 2006-07-31  Wim Taymans  <wim@fluendo.com>
9431
9432         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
9433         Protect _PAD_CAPS with OBJECT_LOCK.
9434
9435 2006-07-31  Wim Taymans  <wim@fluendo.com>
9436
9437         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
9438         (gst_pad_get_property), (gst_pad_activate_pull),
9439         (gst_pad_activate_push), (gst_pad_set_blocked_async),
9440         (gst_pad_set_activate_function),
9441         (gst_pad_set_activatepull_function),
9442         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
9443         (gst_pad_set_getrange_function),
9444         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
9445         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
9446         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
9447         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
9448         (gst_pad_set_acceptcaps_function),
9449         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
9450         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
9451         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
9452         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
9453         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
9454         (gst_pad_configure_sink), (gst_pad_configure_src),
9455         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
9456         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
9457         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
9458         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
9459         (gst_pad_send_event):
9460         Use _DEBUG_OBJECT when it makes sense.
9461         Protect GST_PAD_CAPS with the OBJECT_LOCK.
9462         Small cleanups and code reflows.
9463         Avoid caps refcounting in _accept_caps.
9464         Refactor alloc_buffer so that the code performed on the peer is in a
9465         separate function. Also if the pad does not implement a buffer alloc
9466         function, we should still check if the pad is flushing before falling
9467         back to the default allocator.
9468
9469 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
9470
9471         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9472         Make all uses of identity and fakesink have silent=true to avoid
9473         serialising every passing data structure, which is breaking tests
9474         on FC4 for some unknown reason.
9475
9476 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
9477
9478         * gst/parse/Makefile.am:
9479         * gst/parse/grammar.y:
9480         * gst/parse/parse.l:
9481           Reverted previous patch as it required to bump the flex dependency to
9482           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
9483
9484 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
9485
9486         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
9487
9488         * gst/parse/Makefile.am:
9489         * gst/parse/grammar.y:
9490         * gst/parse/parse.l:
9491           push & pop the state of the lexer for reentrant use case
9492           Fixes #349180
9493
9494 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
9495
9496         * libs/gst/base/gstbasesrc.h:
9497           Note in the docs that the ::newsegment vfunc is not actually used by
9498           GstBaseSrc.
9499
9500 2006-07-28  Wim Taymans  <wim@fluendo.com>
9501
9502         * libs/gst/base/gstcollectpads.c:
9503         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
9504         (gst_collect_pads_clear), (gst_collect_pads_flush),
9505         (gst_collect_pads_event), (gst_collect_pads_chain):
9506         When flushing a pad, also clear the queued buffer so that we don't
9507         accidentally use it when we shouldn't.
9508         Fix leaks by inreffing incomming buffer.
9509         Flush out queued buffers in case of errors.
9510         Fixes #347452.
9511
9512 2006-07-28  Wim Taymans  <wim@fluendo.com>
9513
9514         * docs/random/phonon-gst:
9515         Random notes about a Phonon backend.
9516
9517 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
9518
9519         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9520         Extra debug output
9521         * tests/check/libs/gdp.c: (gst_dp_suite):
9522         Take a whack at fixing the ppc compile using a different define to
9523         disable the broken test.
9524
9525         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9526         Remove excess g_print()
9527
9528 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
9529
9530         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
9531         Oops, meant to uncomment this line too to dampen the noise a bit.
9532
9533 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
9534
9535         * gst/parse/grammar.y:
9536         * gst/parse/parse.l:
9537         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
9538         (GST_START_TEST), (parse_suite):
9539         Fix some of the leaks exposed by extending the parse-launch testsuite,
9540         and move the 3 I can't figure out into a separate test that won't run
9541         the pipelines unless the appropriate line is uncommented.
9542
9543 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
9544
9545         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9546           Requesting 0 bytes before the end of the file should result in
9547           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
9548           unit test.
9549
9550 2006-07-27  Wim Taymans  <wim@fluendo.com>
9551
9552         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
9553         Fix useless assert, a uint is always positive.
9554
9555         * gst/gststructure.c: (gst_structure_nth_field_name),
9556         (gst_structure_foreach), (gst_structure_map_in_place):
9557         Check input arguments for public functions to avoid obvious crashes.
9558
9559         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
9560         * plugins/elements/gstfakesink.h:
9561         Do less useless typechecking.
9562
9563 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
9564
9565         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
9566           Do not use mmap() by default since there are a number of error
9567           conditions that we would like to handle in a non-fatal way that
9568           will result in a SIGBUS if we use mmap(). Examples: external
9569           devices (USB harddrive, portable music player) being unplugged
9570           while in use; file on mounted CD/DVD that can't be read because
9571           the medium is partly damaged. Fixes #348455 and #348475.
9572
9573 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
9574
9575         * gst/gstquery.h:
9576         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
9577         rates are a gdouble
9578
9579 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
9580
9581         * gst/gstregistry.c:
9582           Move big documentation comment into class section header, so that it
9583           appears in the API docs.
9584
9585 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9586
9587         * docs/gst/gstreamer-sections.txt:
9588         Oops. Commit the docs additions too for new API.
9589         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
9590
9591 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9592
9593         * gst/gststructure.c: (gst_structure_id_set),
9594         (gst_structure_id_set_valist):
9595         * gst/gststructure.h:
9596         Add API for setting values into structures without performing
9597         a quark lookup, if the appropriate quark is already known.
9598
9599         API: gst_structure_id_set
9600         API: gst_structure_id_set_valist
9601
9602         * gst/parse/grammar.y:
9603         * gst/parse/parse.l:
9604         Remove some dead code shown by the coverage information.
9605         Don't throw a critical g_warning when encountering a syntax error,
9606         just warn and let the normal error path handle it.
9607
9608         * plugins/elements/gstelements.c:
9609         Bump the rank of filesink up to PRIMARY so that it is preferred over
9610         gnomevfssink for file:// sink uri's
9611
9612         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
9613         (GST_START_TEST), (run_delayed_test),
9614         (gst_parse_test_element_base_init),
9615         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
9616         (gst_parse_test_element_change_state),
9617         (gst_register_parse_element), (parse_suite):
9618         Beef up the tests for parse syntax to check that more error cases
9619         fail as they are supposed to. Increases the test coverage a bit.
9620
9621 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
9622
9623         * docs/manual/basics-elements.xml:
9624           Fix gst_element_link() example.
9625
9626         * gst/gstutils.c:
9627           Mention in API docs that one should usually gst_bin_add()
9628           elements to a bin or pipeline before doing the linking.
9629           
9630 2006-07-26  Wim Taymans  <wim@fluendo.com>
9631
9632         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
9633         (gst_subbuffer_get_type), (gst_buffer_create_sub):
9634         Avoid function call for known types by keeping the buffer and
9635         subbuffer GType global.
9636
9637         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9638         Random silly optimisations in read() path.
9639
9640 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9641
9642         * tools/gst-launch.c: (main):
9643           If the top-level of the parse is a normal bin, it doesn't do the
9644           right logic to run as a top-level element, so place it inside a
9645           pipeline.
9646
9647 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
9648
9649         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
9650           Remove superfluous g_object_notify() calls, GObject does
9651           that for us automatically.
9652
9653 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
9654
9655         * gst/gstinfo.h:
9656           on Win32, use dllspec to export the debug category symbols
9657
9658 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
9659
9660         * gst/gsttaglist.c: (_gst_tag_initialize):
9661           Allow more than one GST_TAG_IMAGE per taglist.
9662
9663 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9664
9665         * gst/gstminiobject.c:
9666           update docs
9667         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
9668         (gst_fd_src_create):
9669           log recurring events at LOG level
9670           add more debug for when the fd gets set
9671
9672 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
9673
9674         * gst/gstparse.c: (gst_parse_launch):
9675           Also remove reentrance checks if flex is MT safe (#348179)
9676          Fix my empty ChangeLog entry below
9677
9678 2006-07-21  Andy Wingo  <wingo@pobox.com>
9679
9680         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
9681
9682         * libs/gst/check/Makefile.am
9683         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
9684         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
9685         * libs/gst/check/gstbufferstraw.h:
9686         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
9687         functions, thus proving I am still a GStreamer haxor. OK I wrote
9688         them a long time ago, but anyways.
9689
9690 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
9691
9692         * configure.ac:
9693         * gst/gstparse.c: (gst_parse_launch):
9694           Check for flex version and omit mutex if we have a MT save flex
9695           (fixes #348179)
9696
9697 2006-07-21  Wim Taymans  <wim@fluendo.com>
9698
9699         * gst/gstparse.c: (gst_parse_launch):
9700         Protect recursive calls to _parse with a recursive mutex
9701         and busy flag.
9702
9703 2006-07-21  Wim Taymans  <wim@fluendo.com>
9704
9705         * tests/check/gst/gstpad.c: (GST_START_TEST):
9706         Fix leak in test.
9707
9708 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
9709
9710         * gst/gstparse.c: (gst_parse_launch):
9711           Do not hang on recursive usage of gst_parse_launch()
9712
9713 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
9714
9715         * gst/gsttaglist.c:
9716           Add some more docs, comments and FIXME 0.11s here and there
9717           and also fix some typos.
9718
9719 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
9720
9721         * gst/gstsegment.h:
9722           Convert tabs to spaces for better readability. 
9723
9724 2006-07-20  Edward Hervey  <edward@fluendo.com>
9725
9726         * tests/check/libs/gdp.c: (gst_dp_suite):
9727         the test_buffer test fails at line 140 on ppc64 at the following
9728         check:
9729         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
9730                 GST_BUFFER_FLAG_IN_CAPS),
9731                 "GST_BUFFER_IN_CAPS flag should have been copied !");
9732         See bug #348114 for more details.
9733
9734 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
9735
9736         * docs/pwg/advanced-scheduling.xml:
9737         * gst/gstpad.c:
9738           Fix typos (#348000).
9739
9740 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
9741
9742         * docs/pwg/intro-basics.xml:
9743           Fix wrong links (#347927).
9744
9745 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
9746
9747         * gst/gstregistry.h:
9748         * gst/gstregistryxml.c: (load_feature),
9749         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
9750         * win32/common/config.h:
9751           make --disable-index work (#342564)
9752
9753 2006-07-18  Wim Taymans  <wim@fluendo.com>
9754
9755         Patch by: Peter Kjellerstedt <pkj at axis dot com>
9756
9757         * gst/Makefile.am:
9758         * gst/gsttrace.h:
9759         The attached patch adds two missing defines to gsttrace.h when tracing
9760         is disabled.  It also corrects one existing define.
9761         Fixes #347756.
9762
9763 2006-07-17  Wim Taymans  <wim@fluendo.com>
9764
9765         * docs/gst/gstreamer-sections.txt:
9766         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
9767         * gst/gst.h:
9768         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
9769         Add two functions to check and change the SIGSEGV behaviour
9770         when loading plugins.
9771         Don't mess with the SIGSEGV handler when we were told not to.
9772         Fixes #347794.
9773         API: gst_segtrap_is_enabled
9774         API: gst_segtrap_set_enabled
9775
9776 2006-07-14  Wim Taymans  <wim@fluendo.com>
9777
9778         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
9779         * tests/check/elements/filesrc.c: (GST_START_TEST):
9780         Revert fix for regression in #347408 after release.
9781
9782 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
9783
9784         Patch by: Antoine Tremblay <hexa00 at gmail com>
9785
9786         * gst/gstutils.c: (gst_element_unlink):
9787           Free iterator when done (#347311).
9788
9789         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9790           And add a test case for this.
9791
9792 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
9793
9794         * configure.ac:
9795         Bump nano back to CVS
9796
9797 === release 0.10.9 ===
9798
9799 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
9800
9801         * configure.ac:
9802           releasing 0.10.9, "On the road again"
9803
9804 2006-07-13  Wim Taymans  <wim@fluendo.com>
9805
9806         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
9807         * tests/check/elements/filesrc.c: (GST_START_TEST):
9808         Revert pull-0 fix for release. Disable check. Fixes #347408.
9809
9810 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9811
9812         * libs/gst/dataprotocol/dataprotocol.c:
9813         (gst_dp_event_from_packet_1_0):
9814           Fixes #347337: failure to deserialize event packets with
9815           empty payload (only event type)
9816
9817 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9818
9819         * gst/Makefile.am:
9820           do not install a .c file in the header directory
9821
9822 2006-07-13  Edward Hervey  <edward@fluendo.com>
9823
9824         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
9825         GhostPad no longer implicitely use the padtemplates of the targets.
9826         Fixes #347384
9827
9828 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
9829
9830         * gst/gstvalue.c: (gst_value_compare_list),
9831         (gst_value_compare_array), (_gst_value_initialize):
9832         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9833         Make GstValueArray comparison be order dependent as designed.
9834         Add checks for value lists and value array comparisons.
9835         Fixes #347221
9836
9837 2006-07-11  Edward Hervey  <edward@fluendo.com>
9838
9839         * gst/gstbin.c: (activate_pads),
9840         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
9841         (gst_bin_change_state_func):
9842         (de)activate src pads before calling state_change on the childs.
9843         This is to avoid the case where a src ghostpad is blocked (holding the
9844         stream lock), which would block the deactivation of the ghostpad's
9845         target pad.
9846         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
9847         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
9848         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
9849         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
9850         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
9851         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
9852         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
9853         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
9854         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
9855         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
9856         (gst_ghost_pad_class_init),
9857         (gst_ghost_pad_internal_do_activate_push),
9858         (gst_ghost_pad_internal_do_activate_pull),
9859         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9860         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9861         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
9862         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
9863         GhostPads now create their internal GstProxyPad at creation (and not
9864         when they're linked, as it was being done previously).
9865         The internal and target pads are linked straight away.
9866         The data will also travel through the other pad in order to make
9867         pad blocking and probes non-hackish (the probe/block now really happens
9868         on the GhostPad and not on the target).
9869         * gst/gstpad.c: (gst_pad_set_blocked_async),
9870         (gst_pad_link_prepare), (gst_pad_push_event):
9871         Remove previous ghostpad cruft.
9872         * gst/gstutils.c: (gst_pad_add_data_probe),
9873         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
9874         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
9875         (gst_pad_remove_buffer_probe):
9876         Remove previous ghost pad cruft.
9877         Added more detailed debug statements.
9878         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
9879         Fix the testsuite for refcounting changes.
9880         The comments about who has references were correct, but the refcount
9881         being checked wasn't the same (!?!).
9882
9883         Fixes #341029
9884
9885 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
9886
9887         * docs/gst/gstreamer-sections.txt:
9888         * gst/gstconfig.h.in:
9889         More docs for configuration options, add docs to gtk-doc.
9890
9891 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
9892
9893         * gst/Makefile.am:
9894         * gst/gstconfig.h.in:
9895         * win32/common/config.h:
9896         Fix build when disabling tracing (fixes #344016). Also start to document
9897         the defines that disable the sub-systems.
9898
9899 2006-07-10  Edward Hervey  <edward@fluendo.com>
9900
9901         * gst/gst.c: (ensure_current_registry_forking):
9902         let's make valgrind happy...
9903
9904 2006-07-09  Wim Taymans  <wim@fluendo.com>
9905
9906         * gst/gstelement.c: (activate_pads),
9907         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
9908         Better pad activation code: Reset the collect value too on resync.
9909         Add some comments.
9910
9911 2006-07-09  Wim Taymans  <wim@fluendo.com>
9912
9913         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
9914         (gst_pad_activate_push):
9915         Use some more macros where it makes sense.
9916         Allow pad mode switching instead of asserting. When a pad
9917         is activated in one mode and we activate it in another, 
9918         deactivate it first before activating it in a different mode.
9919         Fixes #329198.
9920
9921 2006-07-08  Andy Wingo  <wingo@pobox.com>
9922
9923         * tools/gst-launch.c (main): Handle err == NULL.
9924
9925         * gst/gst.c (init_post, ensure_current_registry)
9926         (ensure_current_registry_forking)
9927         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
9928         factoring out the registry scanning into separate functions. Don't
9929         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
9930         Better environment var name/interface suggestions accepted.
9931
9932 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9933
9934         * gst/gstobject.c: (gst_object_set_name_default),
9935         (gst_object_set_name):
9936           Random micro-optimisation: don't use a hash table
9937           with strings as keys and the usual strdup/strcmp
9938           involved, but rather just use the GQuark of the
9939           type name as key, since it needs to be looked up
9940           anyway to get the type name string.
9941
9942         * tests/check/gst/gstobject.c: (GST_START_TEST):
9943           Fix various leaks.
9944
9945 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9946
9947         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
9948         (gst_bin_iterate_all_by_interface):
9949           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
9950           GTypes are gulongs and thus the top 4 bytes might be cut
9951           off on some platforms when doing GPOINTER_TO_INT, leading
9952           to invalid GTypes and bad things happening (see RH bug #179654).
9953           Also add a check to make sure the type passed in is really
9954           an interface type.
9955
9956 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9957
9958         * .cvsignore:
9959           Ignore more.
9960
9961 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
9962
9963         * Makefile.am:
9964         * configure.ac:
9965         * gst-element-check.m4:
9966         * gst-element-check.m4.in:
9967           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
9968           instead of the unversioned gst-inspect (#324176, #168659).
9969
9970 2006-07-06  Wim Taymans  <wim@fluendo.com>
9971
9972         * gst/gstmessage.h:
9973         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
9974         warnings.
9975
9976 2006-07-06  Wim Taymans  <wim@fluendo.com>
9977
9978         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9979         (gst_base_src_wait), (gst_base_src_update_length),
9980         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
9981         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
9982         (gst_base_src_loop), (gst_base_src_start),
9983         (gst_base_src_activate_pull):
9984         Update docs.
9985         blocksize == 0 now means the default blocksize when working in push
9986         based mode.
9987         Remove some pointless asserts in _wait function.
9988         Fix offset/length calculations and EOS handling. We can now pull 0
9989         bytes as well, which is allowed.
9990         use _check_get_range() to decide if we can operate in _pull based
9991         mode.
9992         Fix refcounting leak when check_get_range function was not 
9993         implemented.
9994         API GstBaseSrc::blocksize range can be 0 too now (default)
9995
9996         * tests/check/elements/filesrc.c: (GST_START_TEST),
9997         (filesrc_suite):
9998         Added check to test _get_range() behaviour.
9999
10000 2006-07-06  Wim Taymans  <wim@fluendo.com>
10001
10002         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
10003         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
10004         (gst_pad_pull_range):
10005         * gst/gstpad.h:
10006         Lots of comments and docs added to the pad functions.
10007         Flesh out the expected behaviour of the get_range() functions.
10008
10009 2006-07-06  Wim Taymans  <wim@fluendo.com>
10010
10011         * gst/gstbus.h:
10012         * gst/gstclock.h:
10013         * gst/gstevent.h:
10014         * gst/gstiterator.h:
10015         * gst/gstpad.h:
10016         * gst/gstplugin.h:
10017         * gst/gsttask.h:
10018         Remove comma at end of enumerator list. 
10019
10020 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
10021
10022         * win32/common/libgstbase.def:
10023         * win32/common/libgstdataprotocol.def:
10024         * win32/common/libsgtreamer.def:
10025         Add new exported functions.
10026
10027 2006-07-05  Wim Taymans  <wim@fluendo.com>
10028
10029         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
10030         Add some more docs here and there.
10031
10032 2006-07-05  Wim Taymans  <wim@fluendo.com>
10033
10034         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
10035         (gst_base_sink_loop), (gst_base_sink_get_position):
10036         When operating in pull mode update the offset so that we
10037         read sequentially.
10038
10039 2006-07-05  Wim Taymans  <wim@fluendo.com>
10040
10041         * gst/gstregistryxml.c: (read_string):
10042         Avoid strdup. (will happen in libxml, but hey!)
10043
10044         * gst/gsturi.c:
10045         Add some more docs.
10046
10047 2006-07-05  Wim Taymans  <wim@fluendo.com>
10048
10049         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
10050         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
10051         (gst_buffer_suite):
10052         No point in checking if the size of the subbuffer > 0, the
10053         code handles it correclty as demonstrated by unit test.
10054         Also add a unit test for the zero sized _new_and_alloc and
10055         _copy. Fixes #346663.
10056
10057 2006-07-05  Wim Taymans  <wim@fluendo.com>
10058
10059         * libs/gst/base/gstbasetransform.c:
10060         (gst_base_transform_prepare_output_buffer),
10061         (gst_base_transform_buffer_alloc),
10062         (gst_base_transform_handle_buffer):
10063         Make sure the buffer we pass to transform_ip has a refcount of
10064         1 and thus is writable. Fixes #343196
10065
10066 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
10067
10068         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
10069         (gst_file_src_init), (gst_file_src_set_property),
10070         (gst_file_src_get_property), (gst_file_src_map_region):
10071         * plugins/elements/gstfilesrc.h:
10072         Add "sequential" property, off by default, to use madvise and hint
10073         to the kernel that sequential access is desired.
10074         Touch all retrieved pages by default to ensure they are pulled
10075         into memory. (Closes #345720)
10076
10077 2006-07-03  Wim Taymans  <wim@fluendo.com>
10078
10079         * docs/design/part-block.txt:
10080         * docs/design/part-dynamic.txt:
10081         Small docs updates.
10082
10083 2006-07-03  Wim Taymans  <wim@fluendo.com>
10084
10085         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
10086         (gst_caps_unref), (gst_static_caps_get),
10087         (gst_caps_append_structure):
10088         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
10089         Use GSlice when the glib we build against is >= 2.10
10090
10091 2006-07-03  Wim Taymans  <wim@fluendo.com>
10092
10093         * gst/gstelement.c: (gst_element_pads_activate):
10094         Small cleanup in pad activation code.
10095
10096 2006-07-03  Wim Taymans  <wim@fluendo.com>
10097
10098         Patch by: Peter Kjellerstedt <pkj at axis dot com>
10099
10100         * gst/gst-i18n-app.h:
10101         * gst/gst-i18n-lib.h:
10102         * tools/gst-inspect.c: (print_signal_info):
10103         The attached patch will make the inclusion of gettext.h unconditional in
10104         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
10105         libintl.h in tools/gst-inspect.c.
10106         This allows use of --disable-nls again and fixes #344642.
10107
10108 2006-07-03  Edward Hervey  <edward@fluendo.com>
10109
10110         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
10111         Implement pad blocking on events according to part-block.txt.
10112         More comments on behaviour.
10113         * tests/check/gst/gstevent.c: (test_event):
10114         Send event to peer pad of blocked pad (else it will block).
10115
10116 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10117
10118         * libs/gst/check/gstcheck.c: (gst_check_message_error),
10119         (gst_check_run_suite):
10120           if we get the wrong message, give us the types as string
10121         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10122           Fix a translatable
10123         * tests/check/elements/filesrc.c: (GST_START_TEST):
10124           add a test for trying to open a non-existing file
10125
10126 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10127
10128         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10129           add a test for adding self
10130
10131 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10132
10133         * libs/gst/check/gstcheck.h:
10134           add some assert_ as alias for fail_unless_*
10135         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
10136           increase test coverage
10137
10138 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10139
10140         * Makefile.am:
10141           include lcov.mak for lcov coverage generation
10142         * tools/Makefile.am:
10143           add to CLEANFILES
10144
10145 2006-07-02  Edward Hervey  <edward@fluendo.com>
10146
10147         * tests/check/elements/.cvsignore:
10148         moaping
10149
10150 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10151
10152         * configure.ac:
10153           don't set CFLAGS and friends for gcov, done from GST_GCOV now
10154         * tests/check/Makefile.am:
10155           clean up gcov files
10156
10157 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10158
10159         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
10160           remove gst_caps_simplify; it was not declared and not used
10161           and deprecated in 0.8
10162
10163 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10164
10165         * docs/faq/gst-uninstalled:
10166           don't put empty paths on PYTHONPATH
10167         * docs/gst/gstreamer-sections.txt:
10168           remove some symbols that are not there
10169
10170 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10171
10172         * gst/gstcaps.c: (gst_caps_compare_structures):
10173           whitespace fixes
10174         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
10175         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10176           add more tests
10177
10178 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10179
10180         * libs/gst/dataprotocol/Makefile.am:
10181           build dataprotocol test by linking to the lib, instead of
10182           compiling the source, so we get coverage
10183         * tests/check/Makefile.am:
10184         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
10185         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
10186           add a test for filesrc
10187
10188 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10189
10190         * tests/check/gst/gststructure.c: (GST_START_TEST),
10191         (gst_structure_suite):
10192           Push coverage from 59.04% to 70.00%
10193
10194 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10195
10196         * tests/check/Makefile.am:
10197           gst-inspect every element; this makes sure that we also get
10198           coverage on element's get/set functions
10199
10200 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10201
10202         * configure.ac:
10203           set CFLAGS and friends to -O0 if gcov is being used
10204           add GCOV LIBS
10205         * gst/Makefile.am:
10206         * libs/gst/base/Makefile.am:
10207         * libs/gst/check/Makefile.am:
10208         * libs/gst/controller/Makefile.am:
10209         * libs/gst/dataprotocol/Makefile.am:
10210         * libs/gst/net/Makefile.am:
10211         * plugins/elements/Makefile.am:
10212         * plugins/indexers/Makefile.am:
10213           add makefile rules to generate gcov data and clean up
10214         * tests/check/Makefile.am:
10215           add a coverage target that generates an html overview
10216           of coverage data
10217
10218 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10219
10220         * tests/check/elements/fakesink.c:
10221         * tests/check/elements/fakesrc.c:
10222         * tests/check/elements/fdsrc.c:
10223         * tests/check/elements/identity.c:
10224         * tests/check/generic/sinks.c: (gst_sinks_suite):
10225         * tests/check/generic/states.c:
10226         * tests/check/gst/gst.c:
10227         * tests/check/gst/gstabi.c:
10228         * tests/check/gst/gstbin.c:
10229         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
10230         * tests/check/gst/gstbus.c: (gst_bus_suite):
10231         * tests/check/gst/gstcaps.c: (GST_START_TEST):
10232         * tests/check/gst/gstelement.c:
10233         * tests/check/gst/gstevent.c: (gst_event_suite):
10234         * tests/check/gst/gstghostpad.c:
10235         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
10236         * tests/check/gst/gstmessage.c: (gst_message_suite):
10237         * tests/check/gst/gstminiobject.c:
10238         * tests/check/gst/gstobject.c:
10239         * tests/check/gst/gstpad.c:
10240         * tests/check/gst/gstpipeline.c:
10241         * tests/check/gst/gstplugin.c:
10242         * tests/check/gst/gstquery.c: (gst_query_suite):
10243         * tests/check/gst/gstsegment.c: (gst_segment_suite):
10244         * tests/check/gst/gststructure.c:
10245         * tests/check/gst/gstsystemclock.c:
10246         * tests/check/gst/gsttag.c:
10247         * tests/check/gst/gsttask.c: (gst_task_suite):
10248         * tests/check/gst/gstutils.c:
10249         * tests/check/gst/gstvalue.c:
10250         * tests/check/libs/adapter.c:
10251         * tests/check/libs/basesrc.c:
10252         * tests/check/libs/collectpads.c:
10253         * tests/check/libs/controller.c:
10254         * tests/check/libs/gdp.c: (gst_dp_suite):
10255         * tests/check/libs/gstnetclientclock.c:
10256         * tests/check/libs/gstnettimeprovider.c:
10257         * tests/check/libs/libsabi.c: (libsabi_suite):
10258         * tests/check/libs/typefindhelper.c:
10259         * tests/check/pipelines/cleanup.c:
10260         * tests/check/pipelines/parse-launch.c:
10261         * tests/check/pipelines/simple-launch-lines.c:
10262         * tests/check/pipelines/stress.c: (stress_suite):
10263           use the new macro
10264
10265 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10266
10267         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
10268         * libs/gst/check/gstcheck.h:
10269           create a macro and function so that the simple unit test
10270           case can be just one macro to create main()
10271
10272 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
10273
10274         * gst/gstbin.c: (gst_bin_restore_thyself):
10275         * gst/gstxml.c: (gst_xml_make_element):
10276           Fix deserialisation from XML. Set parent manually
10277           instead of using gst_bin_add(), since gst_bin_add()
10278           will unlink all pads of the element being added.
10279           Fixes #341667.
10280
10281 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
10282
10283         Patch by: Peter Kjellerstedt <pkj at axis com>
10284
10285         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
10286           Fix missing g_strdup() and double free when using the
10287           --gst-plugin-load command line option (#346097).
10288
10289 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
10290
10291         * gst/gstinfo.c:
10292           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
10293
10294         * libs/gst/net/gstnetclientclock.c:
10295         * libs/gst/net/gstnettimeprovider.c:
10296           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
10297
10298 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
10299
10300         * docs/manual/advanced-dataaccess.xml:
10301           Fix buffer probe example compilation in
10302           ADM (#345708).
10303         
10304 2006-06-22  Edward Hervey  <edward@fluendo.com>
10305
10306         * gst/gstelement.c: (gst_element_pads_activate):
10307         We need to deactivate src pads first and then sink pads.
10308         The reason is the src pads might be blocking while holding the streaming
10309         lock, so we need to deactivate them first so that deactivating the sink
10310         pads doesn't block (since it will require the streaming lock).
10311
10312 2006-06-22  Wim Taymans  <wim@fluendo.com>
10313
10314         * libs/gst/base/gstbasetransform.c:
10315         (gst_base_transform_buffer_alloc):
10316         Forgot to remove two unneeded unrefs.
10317         Simplify a check _is_equal allready checks the obvious case.
10318
10319 2006-06-22  Wim Taymans  <wim@fluendo.com>
10320
10321         * docs/design/part-block.txt:
10322         Some docs about what pad_block should do.
10323
10324 2006-06-22  Wim Taymans  <wim@fluendo.com>
10325
10326         * gst/gstcaps.c: (gst_caps_replace):
10327         Fix crasher when passed NULL. Doc clarification.
10328         Optimize for the trivial case.
10329
10330         * gst/gstpipeline.c: (gst_pipeline_change_state):
10331         Small cleanups.
10332
10333         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10334         Small documentation cleanup.
10335
10336         * libs/gst/base/gstbasetransform.c:
10337         (gst_base_transform_buffer_alloc):
10338         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
10339         is what we need and it avoids a whole lot of redundant 
10340         refcount operations.
10341
10342 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
10343
10344         Patch by: Philip Jägenstedt  <philip at lysator liu se>
10345
10346         * docs/manual/advanced-dataaccess.xml:
10347           Fix 'Embedding static elements' section to use
10348           GST_PLUGIN_DEFINE_STATIC (#345607).
10349
10350 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
10351
10352         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
10353           Attempt to 'fix' spuriously failing test case: it seems like the
10354           timeout of half a second is simply too small when the system is under
10355           load otherwise, and the timeout doesn't really seem to serve any
10356           particular purpose here. Give the pipeline a few seconds to preroll
10357           first, and then give it another half a second to go from PAUSED to
10358           PLAYING and marshal the message into the main thread.
10359
10360 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
10361
10362         * tools/gst-feedback-m.m:
10363           Don't only use unversioned tools, try versioned tools as well
10364           (#345086).
10365
10366 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
10367
10368         * gst/gstbus.c: (gst_bus_class_init):
10369           Fix some typos, make docs more explicit.
10370
10371 2006-06-20  Wim Taymans  <wim@fluendo.com>
10372
10373         * tests/check/gst/gstghostpad.c: (block_callback),
10374         (GST_START_TEST), (gst_ghost_pad_suite):
10375         Added some more ghostpad tests, mainly blocking
10376         and probes.
10377
10378 2006-06-16  Wim Taymans  <wim@fluendo.com>
10379
10380         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
10381         (gst_file_sink_close_file), (gst_file_sink_do_seek),
10382         (gst_file_sink_event), (gst_file_sink_render):
10383         * plugins/elements/gstfilesink.h:
10384         Check if we can seek in the file instead of assuming
10385         we always can. Post an error when we are asked to seek in a
10386         non-seekable file (like a fifo). Fixes #343312.
10387         Some cleanups.
10388
10389 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
10390
10391         * tools/gst-launch.1.in:
10392           Un-garble (fourcc) bit in filtered caps section.
10393
10394 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
10395
10396         * docs/manual/advanced-autoplugging.xml:
10397         * docs/manual/basics-helloworld.xml:
10398         * docs/manual/highlevel-components.xml:
10399           Don't leak bus reference in sample code.
10400
10401 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
10402
10403         * autogen.sh:
10404           Add default for new --enable-plugin-docs switch.
10405
10406         * configure.ac:
10407           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
10408           Fixes #344039.
10409
10410         * docs/Makefile.am:
10411           Use new ENABLE_PLUGIN_DOCS conditional.
10412
10413 2006-06-14  Wim Taymans  <wim@fluendo.com>
10414
10415         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
10416         Make it clear with a FIXME and a real define what the #if 0
10417         previously disabled.
10418
10419 2006-06-14  Wim Taymans  <wim@fluendo.com>
10420
10421         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10422         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
10423         * libs/gst/base/gstbasetransform.c:
10424         (gst_base_transform_sink_eventfunc):
10425         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
10426         Don't randomly and silently reset a segment when the format 
10427         changes as this is a bug somewhere upstream. Fixes #330379.
10428
10429 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
10430
10431         Patch by: Wouter Paesen  <wouter at kangaroot net>
10432
10433         * libs/gst/controller/gstcontroller.c:
10434         (gst_controlled_property_new):
10435           Fix controlling of float properties (#344849).
10436
10437         * tests/check/libs/controller.c:
10438         (gst_test_mono_source_get_property),
10439         (gst_test_mono_source_set_property),
10440         (gst_test_mono_source_class_init), (GST_START_TEST):
10441           While we're at it, add some float stuff to unit test.
10442
10443 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10444
10445         * docs/README:
10446         * docs/images/gdp-header.svg:
10447           add a gdp image
10448         * docs/libs/Makefile.am:
10449         * docs/libs/gdp-header.png:
10450         * libs/gst/dataprotocol/dataprotocol.c:
10451           add it to the API docs
10452         * docs/manual/intro-motivation.xml:
10453           fix typo
10454
10455 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
10456
10457         * gst/gst.c: (scan_and_update_registry), (init_post):
10458           If the fork()'ed child process can't write the updated registry cache
10459           file to disk for some reason, make it exit with a failure exit code,
10460           so that the parent can then re-scan the plugins itself and update the
10461           registry structures in memory and work with that (rather than failing
10462           when creating elements because seemingly no plugins are available).
10463           Refactor registry scanning code into separate function for this and
10464           also separate fork() and non-fork() code paths. Fixes #344748.
10465
10466 2006-06-13  Wim Taymans  <wim@fluendo.com>
10467
10468         * docs/manual/advanced-dataaccess.xml:
10469         Fix wrong PluginDesc. Fixes #344755.
10470
10471 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
10472
10473         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
10474           Fix silly bug that prevented us from creating
10475           ~/.gstreamer-0.10 and writing the registry in one
10476           go (the first call to g_mkstemp() would overwrite the
10477           placeholder in the template string, so the second call
10478           to g_mkstemp() after creating the missing directory
10479           would then error out with 'invalid argument').
10480
10481 2006-06-13  Edward Hervey  <edward@fluendo.com>
10482
10483         * gst/gst.c: (init_post):
10484         Free string.
10485
10486 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10487
10488         * gst/glib-compat-private.h:
10489         * gst/glib-compat.c:
10490         * gst/glib-compat.h:
10491         * gst/gstvalue.c: (gst_value_serialize_flags):
10492           remove GLib 2.6 compatibility code
10493
10494 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
10495
10496         * gst/parse/Makefile.am:
10497           Fix build with 'make -j N' even more (#340016).
10498
10499 2006-06-12  Wim Taymans  <wim@fluendo.com>
10500
10501         * docs/gst/gstreamer-sections.txt:
10502         Fix docs.
10503
10504 2006-06-12  Wim Taymans  <wim@fluendo.com>
10505
10506         * gst/gstsegment.c: (gst_segment_set_duration),
10507         (gst_segment_set_last_stop), (gst_segment_set_seek),
10508         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
10509         (gst_segment_to_running_time), (gst_segment_clip):
10510         Use G_UNLIKELY to help the compiler a bit.
10511
10512 2006-06-12  Wim Taymans  <wim@fluendo.com>
10513
10514         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
10515
10516         * gst/gstevent.c: (gst_event_get_type):
10517         * gst/gstmessage.c:
10518         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
10519         (gst_pad_push):
10520         constify quark registration strings. Fixes #344115
10521         Avoid unneeded type checking is _pad_push() by internally
10522         calling gst_pad_chain_unchecked().
10523
10524 2006-06-12  Wim Taymans  <wim@fluendo.com>
10525
10526         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
10527         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
10528         (gst_subbuffer_finalize), (gst_buffer_create_sub),
10529         (gst_buffer_is_span_fast), (gst_buffer_span):
10530         Init _type for consistency.
10531         Use _FLAGS macro to avoid type check.
10532         Avoid unneeded type checks in subbufer code.
10533
10534 2006-06-12  Wim Taymans  <wim@fluendo.com>
10535
10536         * gst/gst.c: (gst_debug_help):
10537         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
10538         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
10539         (gst_plugin_feature_list_free):
10540         * gst/gstregistry.c: (gst_registry_add_plugin),
10541         (gst_registry_add_feature), (gst_registry_plugin_filter),
10542         (gst_registry_feature_filter), (gst_registry_find_plugin),
10543         (gst_registry_find_feature), (gst_registry_get_plugin_list),
10544         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
10545         * gst/gstregistryxml.c: (load_feature),
10546         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
10547         * gst/gstminiobject.c: (gst_mini_object_unref),
10548         (gst_mini_object_replace), (gst_value_mini_object_free),
10549         (gst_value_mini_object_copy):
10550         Use _CAST macros to avoid unneeded type checking.
10551         Added some more G_UNLIKELY.
10552
10553 2006-06-12  Wim Taymans  <wim@fluendo.com>
10554
10555         * gst/gstbuffer.h:
10556         Avoid unneeded type checking.
10557         API: GST_BUFFER_IS_DISCONT
10558
10559         * gst/gstminiobject.h:
10560         Avoid type check in flag accessor.
10561
10562         * gst/gstelementfactory.h:
10563         * gst/gstplugin.h:
10564         * gst/gstpluginfeature.h:
10565         Add _CAST macros.
10566         API: GST_ELEMENT_FACTORY_CAST
10567         API: GST_PLUGIN_CAST
10568         API: GST_PLUGIN_FEATURE_CAST
10569
10570 2006-06-12  Wim Taymans  <wim@fluendo.com>
10571
10572         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
10573         (gst_object_unref):
10574         Add G_UNLIKELY in type registration.
10575         Avoid type check in _ref/_unref since that is also
10576         done in glib.
10577
10578 2006-06-12  Wim Taymans  <wim@fluendo.com>
10579
10580         * gst/gsterror.c: (gst_g_error_get_type):
10581         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10582         (gst_static_pad_template_get_type):
10583         * gst/gsttaglist.c: (gst_tag_list_get_type):
10584         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
10585         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
10586         * gst/gsturi.c: (gst_uri_handler_get_type):
10587         * gst/gstvalue.c: (gst_date_get_type):
10588         * gst/gstxml.c: (gst_xml_get_type):
10589         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
10590         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
10591         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
10592         Add G_UNLIKELY in type registration.
10593
10594 2006-06-12  Wim Taymans  <wim@fluendo.com>
10595
10596         * tools/gst-inspect.c: (print_signal_info):
10597         Properly print enum values.
10598
10599 2006-06-12  Wim Taymans  <wim@fluendo.com>
10600
10601         * gst/gstinfo.c: (gst_debug_set_active),
10602         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
10603         * gst/gstinfo.h:
10604         Add some G_[UN]LIKELY.
10605         Maintain __gst_debug_min to avoid formatting the arguments of
10606         debug messages that will be dropped anyway to avoid a lot of 
10607         overhead from the debugging system.
10608
10609 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10610
10611         * po/POTFILES.in:
10612         * po/POTFILES.skip:
10613           add missing files containing translatable strings, tell intltool about
10614           one exception
10615
10616 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10617
10618         * tests/check/libs/.cvsignore:
10619         add test-binary to ignore list
10620
10621 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10622
10623         * docs/libs/gstreamer-libs-docs.sgml:
10624         reorder (put dp into a chapter) and indent
10625
10626 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10627
10628         * configure.ac:
10629           back to HEAD
10630
10631 === release 0.10.8 ===
10632
10633 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
10634
10635         * configure.ac:
10636           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
10637
10638 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10639
10640         * gst/gst.c: (init_post):
10641           move pid declaration to declaration block
10642
10643 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10644
10645         * gst/gst.c: (init_post):
10646           use _exit() instead of exit() in our forked child; this ensures
10647           that none of the registered exit handlers from whatever is using
10648           GStreamer get executed.  This fixes gnome-mixer-applet failing
10649           to load, because ORBit would shut down.
10650           Spotted by: Edward Hervey  <edward@fluendo.com>
10651           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
10652           Fixes #344474
10653
10654 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10655
10656         * configure.ac:
10657           back to TRUNK
10658
10659 === release 0.10.7 ===
10660
10661 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
10662
10663         * configure.ac:
10664           releasing 0.10.7, "Soepeke, ik zie ou"
10665
10666 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10667
10668         * configure.ac:
10669         * po/af.po:
10670         * po/az.po:
10671         * po/bg.po:
10672         * po/ca.po:
10673         * po/cs.po:
10674         * po/de.po:
10675         * po/en_GB.po:
10676         * po/fr.po:
10677         * po/it.po:
10678         * po/nb.po:
10679         * po/nl.po:
10680         * po/ru.po:
10681         * po/sq.po:
10682         * po/sr.po:
10683         * po/sv.po:
10684         * po/tr.po:
10685         * po/uk.po:
10686         * po/vi.po:
10687         * po/zh_CN.po:
10688         * po/zh_TW.po:
10689         * win32/common/config.h:
10690           0.10.6.2 prerelease
10691
10692 2006-06-07  Wim Taymans  <wim@fluendo.com>
10693
10694         * gst/gstindex.c: (gst_index_gtype_resolver):
10695         * tools/gst-xmlinspect.c: (print_plugin_info):
10696         Fix leak spotted by coverity checker. Fixes #343827
10697         Fix another other leak found by paolo borelli.
10698
10699 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10700
10701         * libs/gst/dataprotocol/dataprotocol.c:
10702         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
10703         (gst_dp_version_get_type), (gst_dp_init),
10704         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
10705         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
10706         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
10707         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
10708         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
10709         (gst_dp_packetizer_free):
10710         * libs/gst/dataprotocol/dataprotocol.h:
10711           API: add a GstDPPacketizer object, and create/free functions
10712           API: add GstDPVersion enum
10713           Add 1.0 event function that uses the string serialization
10714           Serialize more useful buffer flags
10715           Fixes #343988
10716
10717 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10718
10719         * tests/check/Makefile.am:
10720         * tests/check/gst/gstabi.c:
10721         * tests/check/gst/struct_ppc64.h:
10722         * tests/check/libs/libsabi.c:
10723         * tests/check/libs/struct_ppc64.h:
10724           add ppc64 structure sizes
10725
10726 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10727
10728         * tests/check/Makefile.am:
10729         * tests/check/gst/gstabi.c:
10730         * tests/check/gst/struct_x86_64.h:
10731         * tests/check/libs/libsabi.c:
10732         * tests/check/libs/struct_x86_64.h:
10733           generate and add structure size lists for x86_64
10734
10735 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10736
10737         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10738         * libs/gst/check/gstcheck.h:
10739           factor out the method from tests that checks size of structures,
10740           and add code to generate the header containing these sizes
10741         * tests/check/gst/gstabi.c: (GST_START_TEST):
10742         * tests/check/gst/struct_i386.h:
10743         * tests/check/libs/libsabi.c: (GST_START_TEST):
10744         * tests/check/libs/struct_i386.h:
10745           use it
10746
10747 2006-06-06  Michael Smith  <msmith@fluendo.com>
10748
10749         * gst/gstsegment.h:
10750           Don't use c++-style comments, fixes #343929
10751
10752 2006-06-05  Edward Hervey  <edward@fluendo.com>
10753
10754         * gst/gst.c:
10755         plugin_paths is not used if we build without registry support.
10756
10757         * gst/gstsegment.c: (gst_segment_copy): 
10758         _copy() was always returning NULL...
10759
10760 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10761
10762         * libs/gst/dataprotocol/dataprotocol.c:
10763         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10764         (gst_dp_packet_from_event):
10765           factor out CRC code
10766
10767 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10768
10769         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
10770           make sure we unset caps
10771
10772 2006-06-02  Michael Smith  <msmith@fluendo.com>
10773
10774         * libs/gst/check/gstcheck.c: (gst_check_init),
10775         (gst_check_chain_func):
10776         * libs/gst/check/gstcheck.h:
10777           Add a cond/mutex to the check support lib, signal this whenever we
10778           add to the buffers list. This will allow tests to not busy-wait on
10779           the buffer-list.
10780
10781 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10782
10783         * libs/gst/dataprotocol/dataprotocol.c:
10784         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
10785         (gst_dp_packet_from_event):
10786           factor out some common header init code
10787
10788 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10789
10790         * docs/libs/gstreamer-libs-sections.txt:
10791         * docs/libs/tmpl/gstdataprotocol.sgml:
10792         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
10793         * libs/gst/dataprotocol/dataprotocol.h:
10794           API: make gst_dp_crc() public
10795
10796 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
10797
10798         * plugins/indexers/gstindexers.c: (plugin_init):
10799         conditionally register fileindexer (fixes #343598)
10800
10801 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
10802
10803         * gst/gsttagsetter.h:
10804         Can't cast ifaces to a class
10805
10806         * libs/gst/net/gstnetclientclock.h:
10807         * libs/gst/net/gstnettimeprovider.h:
10808         * plugins/elements/gstfakesink.h:
10809         * plugins/elements/gstfakesrc.h:
10810         * plugins/elements/gstfdsink.h:
10811         * plugins/elements/gstfdsrc.h:
10812         * plugins/elements/gstfilesink.h:
10813         * plugins/elements/gstfilesrc.h:
10814         * plugins/elements/gstidentity.h:
10815         * plugins/elements/gstqueue.h:
10816         * plugins/elements/gsttee.h:
10817         * plugins/indexers/gstfileindex.c:
10818         * plugins/indexers/gstmemindex.c:
10819         * tests/old/examples/plugins/example.h:
10820         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
10821
10822 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10823
10824         * libs/gst/dataprotocol/dataprotocol.c:
10825         (gst_dp_header_from_buffer):
10826           make sure we zero the whole ABI-compatible area
10827
10828 2006-06-01  Wim Taymans  <wim@fluendo.com>
10829
10830         Patch by: Alessandro Decina <alessandro at nnva dot org>
10831
10832         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
10833         Make sure the EOS flag is cleared from pads after a flush
10834         or stop. Fixes #343538.
10835
10836         * tests/check/libs/collectpads.c: (GST_START_TEST),
10837         (gst_collect_pads_suite):
10838         Added test for collectpads reusage after EOS.
10839
10840 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
10841
10842         * gst/gst.c:
10843          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
10844         * win32/common/libgstbase.def:
10845          export gst_collect_pads_set_flushing
10846         * win32/common/libgstreamer.def:
10847          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
10848          gst_value_fraction_multiply
10849         * win32/vs6/gst_inspect.dsp:
10850          add a link to intl.lib
10851
10852 2006-05-30  Wim Taymans  <wim@fluendo.com>
10853
10854         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
10855         (gst_collect_pads_chain):
10856         Handle the case where a pad is removed from the collection
10857         that could cause the other pads to become collectable.
10858
10859 2006-05-30  Wim Taymans  <wim@fluendo.com>
10860
10861         * gst/gstelement.c:
10862         Clarify the use of _release_request_pad() and
10863         _get_request_pad() a bit better.
10864
10865         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
10866         (gst_adapter_take_buffer):
10867         Fix some doc and comment typos.
10868
10869 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10870
10871         * docs/gst/gstreamer-sections.txt:
10872         * docs/libs/gstreamer-libs-sections.txt:
10873           add declared symbols
10874
10875 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
10876
10877         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
10878         Add debug that can be enabled using a #define at the top of the file,
10879         for dumping stats about how late/early we were when waking up from
10880         waiting on the clock.
10881
10882 2006-05-30  Wim Taymans  <wim@fluendo.com>
10883
10884         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
10885         When rebuilding the pad list, don't leak the previous list.
10886
10887 2006-05-30  Wim Taymans  <wim@fluendo.com>
10888
10889         Patch by: Lutz Mueller <lutz at topfrose dot de>
10890
10891         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10892         (gst_base_src_get_query_types), (gst_base_src_update_length):
10893         Publish supported query types.
10894         Update last_stop field in get_range mode so the position
10895         query works. Fixes #342321.
10896
10897 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
10898
10899         * docs/gst/gstreamer-sections.txt:
10900         * gst/gsttaglist.c: (_gst_tag_initialize):
10901         * gst/gsttaglist.h:
10902           API: add GST_TAG_PREVIEW_IMAGE (#343341).
10903
10904 2006-05-30  Wim Taymans  <wim@fluendo.com>
10905
10906         Patch by: Alessandro Decina <alessandro at nnva dot org>
10907
10908         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10909         Unlock mutex when removing an unknown pad.
10910         Fixes #343334.
10911
10912         * tests/check/Makefile.am:
10913         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
10914         (push_event), (setup), (teardown), (GST_START_TEST),
10915         (gst_collect_pads_suite), (main):
10916         Added collecpads check, disabled for now as check crashes for
10917         some reason.
10918
10919 2006-05-29  Wim Taymans  <wim@fluendo.com>
10920
10921         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
10922         Don't leak pads lists.
10923
10924 2006-05-29  Wim Taymans  <wim@fluendo.com>
10925
10926         * docs/libs/gstreamer-libs-sections.txt:
10927         * libs/gst/base/gstcollectpads.c:
10928         (gst_collect_pads_set_flushing_unlocked),
10929         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
10930         (gst_collect_pads_stop):
10931         * libs/gst/base/gstcollectpads.h:
10932         API: gst_collect_pads_set_flushing()
10933         Added api to set the pads to flushing, useful for seeking
10934         code in elements using collectpads.
10935         Clear segment when receiving a flush.
10936
10937 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
10938
10939         * gst/gst.c: (add_path_func), (init_post):
10940           Don't scan registry paths passed via --gst-plugin-path immediately
10941           (will crash, because absolutely nothing is set up and no types are
10942           registered etc.); do this later in init_post(). Fixes #343057.
10943
10944 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10945
10946         * gst/gst.c: (init_post):
10947           if we have fork, fork while reading/rebuilding the registry
10948           so the parent doesn't take the hit of having all plugins loaded
10949           in memory.  Fixes #342777.
10950         * configure.ac:
10951           Check if we have fork()
10952         * win32/common/config.h.in:
10953           no fork() on win32
10954
10955 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
10956
10957         * plugins/elements/gstelements.c:
10958         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
10959         (gst_file_src_init), (gst_file_src_set_property),
10960         (gst_file_src_get_property), (gst_file_src_start):
10961         * plugins/elements/gstfilesrc.h:
10962           API: GstFileSrc::use-mmap
10963
10964         Add a use-mmap property to enable easier testing of all code paths.
10965         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
10966         in the absence of gnomevfssrc. (Closes #340501)
10967
10968 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
10969
10970         * tools/gst-inspect.c:
10971         Add missing include, removes warning of ngettext not being defined on
10972         some arches.
10973
10974 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
10975
10976         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10977         Handle NULL input and output pointers silently as a failed conversion,
10978         rather than g_warnings.
10979
10980 2006-05-25  Wim Taymans  <wim@fluendo.com>
10981
10982         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
10983         Initialize variable before using. Fixes #342820.
10984
10985 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
10986
10987         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
10988           Fix off-by-one bug that would only allow peeks of N-1 bytes
10989           from the start even if the buffer to typefind on contains
10990           in fact N bytes of data (makes vorbis typefinding from a
10991           vorbis identification header buffer work).
10992
10993         * tests/check/Makefile.am:
10994         * tests/check/libs/.cvsignore:
10995         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
10996         (gst_typefindhelper_suite), (main), (foobar_typefind),
10997         (plugin_init):
10998           Add very basic unit test for gst_type_find_helper_for_buffer()
10999           that checks for the problem fixed above.
11000
11001 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11002
11003         * tools/gst-inspect.c: (print_interfaces),
11004         (print_element_properties_info), (print_element_list), (main):
11005           add more translatable strings
11006
11007 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
11008
11009         Patch by: Julien Moutte  <julien at moutte net>
11010
11011         * docs/gst/gstreamer-sections.txt:
11012           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
11013           
11014         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
11015         (gst_fake_sink_preroll):
11016         * plugins/elements/gstfakesink.h:
11017           API: Add new GstFakeSink::preroll-handoff signal (#337100).
11018
11019 2006-05-23  Wim Taymans  <wim@fluendo.com>
11020
11021         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
11022         * gst/gstpad.h:
11023         Added _CUSTOM error and success GstFlowReturn that can be
11024         used be elements internally. 
11025         Added macro to check for SUCCESS flowreturns.
11026         API: GST_FLOW_CUSTOM_SUCCESS
11027         API: GST_FLOW_CUSTOM_ERROR
11028         API: GST_FLOW_IS_SUCCESS
11029
11030         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
11031         Added check for GstFlowReturn sanity.
11032
11033 2006-05-23  Wim Taymans  <wim@fluendo.com>
11034
11035         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11036
11037         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
11038         (gst_collect_pads_event):
11039         clear/reset segment info in FLUSH_STOP.
11040         Fixes #336929.
11041
11042 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
11043
11044         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
11045         (gst_collect_pads_check_collected):
11046         Flush queued buffer on _stop(), fixes playing again (#342454)
11047
11048 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11049
11050         * tests/check/gst/gststructure.c: (GST_START_TEST),
11051         (gst_structure_suite):
11052           add a test for a complete structure
11053
11054 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
11055
11056         * docs/faq/developing.xml:
11057         * docs/faq/faq.xml:
11058         * docs/faq/troubleshooting.xml:
11059         * docs/faq/using.xml:
11060           Some minor FAQ updates that won't change the fact that
11061           our FAQ is badly structured, full of information hardly
11062           anyone new to GStreamer needs to know and lacking lots
11063           of information people constantly ask for.
11064           
11065 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
11066
11067         * gst/gstpad.c: (gst_pad_set_caps):
11068           Short-circuit gst_pad_set_caps if setting the existing
11069           caps pointer again, and avoid printing debug and 
11070           reffing/unreffing the caps.
11071
11072         * plugins/elements/gstqueue.c: (gst_queue_push_one):
11073           There's actually no need to set the caps before pushing -
11074           the acceptcaps method will handle it anyway.
11075
11076 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
11077
11078         * docs/gst/gstreamer-sections.txt:
11079         * win32/common/libgstreamer.def:
11080         * gst/gstutils.c: (gst_element_seek_simple):
11081         * gst/gstutils.h:
11082           API: add gst_element_seek_simple() (#342238).
11083
11084 2006-05-18  Edward Hervey  <edward@fluendo.com>
11085
11086         * gst/gsttypefind.c: (gst_type_find_get_type):
11087         * gst/gsttypefind.h:
11088         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
11089         registered for GstTypeFind pointers. This allows wrapping the structure
11090         in bindings (i.e. gst-python).
11091
11092 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
11093
11094         * gst/gsttagsetter.c:
11095           Docs additions and fixes (see #339918).
11096
11097 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11098
11099         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11100         The caps intersection algorithm can produce multiple copies of the
11101         caps. Until that is fixed, we need to simplify the result to be
11102         sure whether the allowed caps are fixed or not.
11103
11104         * plugins/elements/gstqueue.c: (gst_queue_init),
11105         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
11106         (gst_queue_push_one):
11107         Proxied buffer alloc should not set the caps on the source pad.
11108         When pushing buffers, we always accept the caps change that triggers.
11109         This prevents negotiation errors caused by caps changing mid-stream 
11110         and then being refused on our source pad (because upstream is now
11111         refusing those caps).
11112
11113 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
11114
11115         * tests/examples/helloworld/helloworld.c: (main):
11116           Must plug audioconvert and audioresample between decoder
11117           and audio sink.
11118
11119 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
11120
11121         * gst/gstregistryxml.c: (read_string), (load_pad_template),
11122         (load_feature), (load_plugin):
11123         Allow empty strings for some of the plugin fields so we don't 
11124         drop valid plugin entries that were written out correctly
11125         (Fixes #341479)
11126
11127 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
11128         
11129         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
11130           Use g_remove and g_rename instead of remove and rename that don't 
11131           handle utf8 characters. rename was failing for users who had specific
11132           characters in their name then the registry was built at each 
11133           gstreamer init.
11134         * win32/vs6/gst_inspect.dsp:
11135         * win32/vs6/gst_launch.dsp:
11136         * win32/vs6/libgstbase.dsp:
11137         * win32/vs6/libgstcoreelements.dsp:
11138         * win32/vs6/libgstreamer.dsp:
11139           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
11140           build of libgstreamer and clean unused libraries in projects link 
11141           settings.
11142
11143 2006-05-17  Edward Hervey  <edward@fluendo.com>
11144
11145         * plugins/elements/gstqueue.c: (gst_queue_push_one):
11146         The queue is not responsible for pushing an EOS when receiving a fatal
11147         flow error. It's up to the real element driving the pipeline to do that.
11148
11149 2006-05-16  Edward Hervey  <edward@fluendo.com>
11150
11151         * plugins/elements/gstqueue.c: (gst_queue_push_one):
11152         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
11153         buffer returned a fatal error. It should just send an EOS and stop
11154         its task.
11155         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
11156         when pushing buffers on the queue and will be able to handle the event.
11157
11158 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
11159
11160         * docs/manual/basics-bins.xml:
11161         * docs/manual/basics-init.xml:
11162           Fix typos and minor errors in sample code (#341856).
11163
11164 2006-05-16  Wim Taymans  <wim@fluendo.com>
11165
11166         * docs/design/part-qos.txt:
11167         Fix indexes in formulas to make more sense.
11168
11169 2006-05-15  Wim Taymans  <wim@fluendo.com>
11170
11171         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11172         Don't report POSITION based on clock time if sync is
11173         disabled in a sink.
11174
11175 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
11176
11177         * gst/gstobject.h:
11178           Add cast to make compiler happy - refcount variable was a gint
11179           in GstObject but is a guint in GObject and g_atomic_int_get()
11180           wants a gint *.
11181
11182 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11183
11184         * gst/parse/Makefile.am:
11185           chain commands using &&, which also makes parallel make work
11186
11187 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
11188
11189         * docs/gst/gstreamer-sections.txt:
11190         * gst/gstevent.c:
11191         * gst/gstevent.h:
11192         * gst/gstmessage.h:
11193           Minor docs fixes.
11194
11195 === release 0.10.6 ===
11196
11197 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
11198
11199         * configure.ac:
11200           releasing 0.10.6, "Take the cannoli"
11201
11202 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11203
11204         * tools/gst-launch.c: (print_tag):
11205           Fix use of uninitialized variable in the hypothetical
11206           case that some broken plugin creates a GST_TAG_IMAGE
11207           tag containing a NULL buffer (#341667).
11208
11209 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11210
11211         * tools/gst-launch.c: (print_tag):
11212           Print something more intelligible for image tags when
11213           using the -t switch (#341556).
11214
11215 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11216
11217         * Makefile.am:
11218           updates for win32
11219         * configure.ac:
11220           define GST_MAJORMINOR so we have it available in win32/common/config.h
11221           Possibly remove it from our Makefile.am files later
11222         * win32/common/config.h:
11223         * win32/common/config.h.in:
11224           added GST_MAJORMINOR
11225         * win32/common/gstenumtypes.c: (register_gst_resource_error):
11226         * win32/common/gstversion.h:
11227           updated
11228
11229 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
11230
11231         * win32/MANIFEST:
11232           Update win32 files listing.
11233         * win32/common/gstversion.h:
11234           Add GST_MAJORMINOR definition.
11235         * win32/common/libgstreamer.def:
11236           Add new exported functions.
11237           
11238 2006-05-12  Michael Smith  <msmith@fluendo.com>
11239
11240         * gst/gstplugin.c: (gst_plugin_load_file):
11241           If an so file has no plugin entry point, unload the module.
11242
11243 2006-05-11  Wim Taymans  <wim@fluendo.com>
11244
11245         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
11246         (gst_queue_set_property):
11247         Don't forget to signal the _chain or _loop function 
11248         when the queue size or thresholds change since that might
11249         cause them to make progres again.
11250
11251 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
11252
11253         * gst/gstclock.c: (gst_clock_class_init):
11254         * gst/gstindex.c: (gst_index_class_init):
11255         * gst/gstobject.c: (gst_object_class_init):
11256         * gst/gstpad.c: (gst_pad_class_init):
11257         * gst/gstpipeline.c: (gst_pipeline_class_init):
11258         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
11259         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
11260         * libs/gst/base/gstbasetransform.c:
11261         (gst_base_transform_class_init):
11262         * libs/gst/net/gstnetclientclock.c:
11263         (gst_net_client_clock_class_init):
11264         * libs/gst/net/gstnettimeprovider.c:
11265         (gst_net_time_provider_class_init):
11266         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
11267         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
11268         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
11269         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
11270         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
11271         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11272         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
11273         * plugins/elements/gstidentity.c: (gst_identity_class_init):
11274         * plugins/elements/gsttee.c: (gst_tee_class_init):
11275         * tests/old/examples/plugins/example.c: (gst_example_class_init):
11276         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
11277           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
11278
11279 2006-05-11  Wim Taymans  <wim@fluendo.com>
11280
11281         * gst/gstbuffer.c: (_gst_buffer_initialize):
11282         Register subbufer along with the buffer type so that
11283         it does not accidentally gets registered from N
11284         different streaming threads in a non threadsafe way.
11285
11286 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
11287
11288         * gst/gstbuffer.h:
11289         * gst/gstevent.h:
11290         * gst/gstmessage.h:
11291           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
11292           gst_event_ref() and gst_message_ref() functions again
11293           (ugly hack, please do fix if there's a better way besides
11294           overrides.txt, which doesn't seem to work).
11295
11296 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11297
11298         * libs/gst/check/gstcheck.h:
11299           add an assert for setting state to avoid lots of repetitive code
11300           in the future
11301
11302 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11303
11304         * gst/gstvalue.c: (gst_value_serialize_flags):
11305           fix a leak if no flags are set
11306         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11307           fix leak in tests
11308
11309 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
11310
11311         * docs/manual/basics-pads.xml:
11312           Expand a bit on caps and filtered links and update
11313           examples that were still using the no longer existing
11314           gst_pad_link_filtered() (#338206).
11315
11316 2006-05-10  Wim Taymans  <wim@fluendo.com>
11317
11318         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
11319         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11320         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
11321         (gst_collect_pads_stop):
11322         * libs/gst/base/gstcollectpads.h:
11323         No need to call _stop in _finalize.
11324         Iterate the main pad list in _finalize.
11325         Added some more debug.
11326         Free lists and data in the right order.
11327         Also free data whem doing _remove_pad when stopped for
11328         backward compatibility protect ::started with PAD_LOCK as
11329         well.
11330
11331 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11332
11333         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
11334         (gst_structure_parse_value):
11335           add some comments
11336           rename a method so that it actually says what it does better
11337
11338 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11339
11340         * gst/gstevent.c: (_gst_event_initialize):
11341         * gst/gstformat.c: (_gst_format_initialize):
11342           make sure some essential types used by events are registered
11343           as part of gst_init()
11344         * gst/gstvalue.c: (gst_value_serialize_flags):
11345           if no flags are set, serialize them to a value that represents NONE
11346           so that deserializing them works
11347         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11348           add tests for serialization and deserialization of flags
11349
11350 2006-05-10  Wim Taymans  <wim@fluendo.com>
11351
11352         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
11353         (gst_collect_pads_collect_range), (gst_collect_pads_available),
11354         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
11355         (gst_collect_pads_event), (gst_collect_pads_chain):
11356         Update docs.
11357         Better debug info.
11358         Catch and return errors from the collect function
11359         Refuse data on eos pads.
11360
11361 2006-05-10  Edward Hervey  <edward@fluendo.com>
11362
11363         * gst/gstinterface.h:
11364         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
11365         GInterface type checking.
11366         They were previously using non-defined macros.
11367
11368 2006-05-09  Wim Taymans  <wim@fluendo.com>
11369
11370         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
11371         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
11372         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
11373         (gst_collect_pads_start), (gst_collect_pads_stop),
11374         (gst_collect_pads_peek), (gst_collect_pads_pop),
11375         (gst_collect_pads_available), (gst_collect_pads_read),
11376         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
11377         (gst_collect_pads_is_collected), (gst_collect_pads_event),
11378         (gst_collect_pads_chain):
11379         * libs/gst/base/gstcollectpads.h:
11380         Clean up the mess that is collectpads, add comments and
11381         FIXMEs where needed.
11382         Maintain a separate pad list so we can add pads while
11383         collecting the other ones. For this we need a new separate 
11384         lock (see comics).
11385         Fix memory leak in finalize.
11386         Refactor some weird code to set/unset pad flushing flags, mark
11387         with comments.
11388         Don't crash in _available, _read, _flush when we're EOS.
11389
11390         * tests/check/libs/.cvsignore:
11391         Ignore adapter check binary.
11392
11393 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11394
11395         * gst/gstindex.c: (gst_index_resolver_get_type):
11396         * plugins/elements/gstfakesink.c:
11397         (gst_fake_sink_state_error_get_type):
11398         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11399         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
11400         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11401           Const-ify GEnumValue arrays.
11402
11403 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11404
11405         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
11406           Add test case for flags + gst_buffer_make_metadata_writable().
11407
11408 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11409
11410         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
11411           gst_buffer_make_metadata_writable() should maintain the
11412           buffer flags (those that make sense at least) (see #340859).
11413
11414 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11415
11416         * tools/gst-inspect.c:
11417         * tools/gst-launch.c:
11418         * tools/gst-typefind.c:
11419         * tools/gst-xmlinspect.c:
11420         * tools/tools.h:
11421           Fix up includes: need to include stdlib.h in tools.h for exit().
11422
11423 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11424
11425         * gst/gsttaglist.c: (_gst_tag_initialize):
11426         * gst/gsttaglist.h:
11427           API: add GST_TAG_IMAGE tag (#340721).
11428
11429 2006-05-08  Wim Taymans  <wim@fluendo.com>
11430
11431         * gst/gstquery.c:
11432         Added some docs for the segment query.
11433
11434 2006-05-08  Wim Taymans  <wim@fluendo.com>
11435
11436         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
11437         (gst_base_src_loop), (gst_base_src_change_state):
11438         Always push non-flushing serialized events in the streaming 
11439         thread.
11440
11441 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11442
11443         * gst/gsterror.c: (_gst_stream_errors_init):
11444           Add a missing error string.
11445
11446 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
11447
11448         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
11449         Add applied_rate to the debug
11450
11451         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
11452         Copy applied_rate into the outgoing NEWSEGMENT event
11453
11454 2006-05-08  Wim Taymans  <wim@fluendo.com>
11455
11456         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
11457
11458         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
11459         (gst_base_sink_change_state):
11460         call ::unlock before taking the PREROLL_LOCK so we can safely
11461         handle elements that lock in ::render.
11462         Fixes #340174.
11463
11464 2006-05-08  Edward Hervey  <edward@fluendo.com>
11465
11466         * autogen.sh: (CONFIGURE_DEF_OPT): 
11467         Darwin's libtoolize is in fact called glibtoolize.
11468         Adding glibtoolize to the list of accepted names for libtoolize.
11469
11470 2006-05-08  Wim Taymans  <wim@fluendo.com>
11471
11472         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
11473         Unify error handling, don't post an error message
11474         when a push() returns EOS but perform our normal EOS
11475         handling code. Fixes #340772.
11476
11477 2006-05-08  Wim Taymans  <wim@fluendo.com>
11478
11479         * docs/design/part-overview.txt:
11480         Make upsteam/downstream concepts more clear.
11481         Give an example of serialized/non-serialized events.
11482
11483         * docs/design/part-events.txt:
11484         * docs/design/part-streams.txt:
11485         Mention applied_rate.
11486
11487         * docs/design/part-trickmodes.txt:
11488         Mention applied rate, flesh out some more use cases.
11489
11490         * gst/gstevent.c: (gst_event_new_new_segment),
11491         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
11492         (gst_event_parse_new_segment_full), (gst_event_new_tag),
11493         (gst_event_parse_tag), (gst_event_new_buffer_size),
11494         (gst_event_parse_buffer_size), (gst_event_new_qos),
11495         (gst_event_parse_qos), (gst_event_parse_seek),
11496         (gst_event_new_navigation):
11497         * gst/gstevent.h:
11498         Add applied_rate field to NEWSEGMENT event.
11499         API: gst_event_new_new_segment_full()
11500         API: gst_event_parse_new_segment_full()
11501
11502         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
11503         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
11504         (gst_segment_to_stream_time), (gst_segment_to_running_time):
11505         * gst/gstsegment.h:
11506         Add applied_rate to GstSegment structure.
11507         Make calculation of stream_time and running_time more correct
11508         wrt rate/applied_rate.
11509         Add some more docs.
11510         API: GstSegment::applied_rate field
11511         API: gst_segment_set_newsegment_full();
11512
11513         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
11514         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
11515         * libs/gst/base/gstbasetransform.c:
11516         (gst_base_transform_sink_eventfunc),
11517         (gst_base_transform_handle_buffer):
11518         Parse and use applied_rate in the GstSegment field.
11519
11520         * tests/check/gst/gstevent.c: (GST_START_TEST):
11521         Add check for applied_rate field.
11522
11523         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11524         (gstsegments_suite):
11525         Add more checks for various GstSegment operations.
11526
11527 2006-05-08  Wim Taymans  <wim@fluendo.com>
11528
11529         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
11530         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
11531         (gst_base_sink_get_position), (gst_base_sink_change_state):
11532         Store the sync time of the buffer end position separatly in a
11533         new variable eos_rtime so we can properly sync the EOS event.
11534         Fixes #340697.
11535         Fix the docs for gst_base_sink_set_qos_enabled().
11536         Don't set segment start to invalid value when we receive a 
11537         non TIME newsegment.
11538         get closer to handling position reporting for negative rates 
11539         correctly.
11540
11541 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
11542
11543         * gst/gstcaps.c:
11544         Docs about how to print caps for debug purposes.
11545
11546         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
11547         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
11548
11549 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
11550
11551         * gst/gstelement.c:
11552           use full enum names and preprend a '%' in docs strings to make recent 
11553           gtk-doc turn that into a link
11554
11555 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11556
11557         * docs/manual/basics-bins.xml:
11558         * docs/manual/basics-bus.xml:
11559         * docs/manual/basics-pads.xml:
11560           Some typo fixes, some additions, some clarifications. 
11561
11562 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11563
11564         * tools/gst-inspect.c: (main):
11565         * tools/gst-launch.c: (main):
11566         * tools/gst-run.c: (main):
11567         * tools/gst-typefind.c: (main):
11568         * tools/gst-xmlinspect.c: (main):
11569           Use the string passed to g_option_context_new() for
11570           what it's intended for - the program name is already
11571           printed elsewhere.
11572
11573 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11574
11575         * tools/Makefile.am:
11576         * tools/gst-inspect.c: (main):
11577         * tools/gst-launch.c: (main):
11578         * tools/gst-xmlinspect.c: (main):
11579         * tools/tools.h:
11580           Add back --version command line option (#340460).
11581
11582         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
11583           Add --version option and use GOption for argument parsing; refactor a
11584           bit; accept directories as arguments and recurse into them; lastly,
11585           print a decent error message when things go wrong.
11586
11587 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11588
11589         * docs/manual/basics-bins.xml:
11590         Don't mention GstThread (#340611)
11591         * docs/manual/basics-elements.xml:
11592         Update link to GObject tutorial (#340607)
11593         
11594 2006-05-05  Wim Taymans  <wim@fluendo.com>
11595
11596         * gst/gstbuffer.h:
11597         * gst/gstminiobject.c:
11598         Add note about refcounting and miniobject/buffer writeability
11599         to docs. Fixes #340604
11600
11601         * gst/gstelementfactory.h:
11602         Added some explanation about @klass.
11603
11604 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11605
11606         * docs/manual/intro-motivation.xml:
11607         * docs/manual/manual.xml:
11608         Avoid CORBA & Bonobo references (#340598)
11609
11610 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11611
11612         * docs/manual/basics-bus.xml:
11613         * docs/manual/basics-pads.xml:
11614         Fix up some inaccuracies and omissions (#340609)
11615         
11616 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11617
11618         * gst/gstghostpad.c:
11619           Small typo in docs (#340625)
11620
11621 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11622
11623         * gst/parse/Makefile.am:
11624           Make 'make -j' proof (see #340698).
11625
11626 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11627
11628         * configure.ac:
11629           Require GLib-2.8 here as well.
11630
11631 2006-05-05  Wim Taymans  <wim@fluendo.com>
11632
11633         * gst/glib-compat.c:
11634         * gst/gst.c: (init_pre):
11635         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11636         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
11637         (gst_object_dispatch_properties_changed):
11638         * gst/gstobject.h:
11639         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
11640         * gst/gststructure.c: (gst_structure_set_valist):
11641         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
11642         Remove pre glib2.8 compatibility, fixes #340508
11643
11644 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
11645
11646         * gst/gsttaglist.h:
11647           Mention type of tags in doc blurbs.
11648
11649 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
11650
11651         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
11652         (gst_pad_configure_src), (gst_pad_push):
11653         Restore acceptcaps checking behaviour now that good plugins have
11654         been released.
11655
11656 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
11657
11658         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
11659
11660         * gst/gst.c:
11661         * gst/gstbus.c:
11662         * gst/gstclock.c:
11663         * gst/gstevent.c:
11664         * gst/gstformat.c:
11665         * gst/gstmessage.c:
11666         * gst/gstparse.c:
11667         * gst/gstquery.c:
11668         * gst/gstutils.c:
11669         * gst/parse/Makefile.am:
11670         * libs/gst/base/gstadapter.c:
11671         * libs/gst/base/gstbasesrc.c:
11672         * libs/gst/base/gstpushsrc.c:
11673         * libs/gst/base/gsttypefindhelper.c:
11674         * plugins/elements/gstfakesrc.c:
11675         * plugins/elements/gstidentity.c:
11676           Make sure gstprivate.h and/or config.h are
11677           always included first, otherwise some of our
11678           defines (like _FILE_OFFSET_BITS) might be
11679           redefined in the system headers. Fixes build
11680           on opensolaris (#340016).
11681
11682 2006-05-04  Wim Taymans  <wim@fluendo.com>
11683
11684         * docs/libs/gstreamer-libs-sections.txt:
11685         API: addition: gst_adapter_take_buffer()
11686         
11687         * libs/gst/base/gstadapter.c: (gst_adapter_push),
11688         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
11689         (gst_adapter_available_fast):
11690         * libs/gst/base/gstadapter.h:
11691         Prepare for optimizing the hell out of this hugely inefficient
11692         piece of code. 
11693         Added gst_adapter_take_buffer() so we can at least start thinking
11694         about subbuffering and merging.
11695         Added some comments.
11696
11697         * tests/check/Makefile.am:
11698         * tests/check/libs/adapter.c: (GST_START_TEST),
11699         (gst_adapter_suite), (main):
11700         Added GstAdapter check.
11701
11702 2006-05-04  Wim Taymans  <wim@fluendo.com>
11703
11704         * docs/design/part-overview.txt:
11705         Fix some typos, add blurb about buffer flags.
11706
11707 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11708
11709         * docs/libs/gstreamer-libs-sections.txt:
11710           make sure GstBaseTransformClass shows up in the docs
11711         * libs/gst/base/gstbasetransform.c:
11712         * libs/gst/base/gstbasetransform.h:
11713           move docs so gtk-doc picks it up now
11714
11715 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
11716
11717         * docs/libs/gstreamer-libs-sections.txt:
11718           add missing symbols to docs
11719
11720 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
11721
11722         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
11723           back out the newsegment handling change, see #340060 for ongoing
11724           discussion
11725
11726 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
11727
11728         * tools/gst-run.c: (get_candidates), (main):
11729           Fix wrong g_file_test() usage (see glib docs for why it doesn't
11730           work); fix typo in error message. Fixes #340079.
11731
11732 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11733
11734         * common/Makefile.am:
11735         * docs/Makefile.am:
11736         * docs/faq/Makefile.am:
11737         * docs/gst/Makefile.am:
11738         * docs/libs/Makefile.am:
11739         * docs/manual/Makefile.am:
11740         * docs/plugins/Makefile.am:
11741         * docs/pwg/Makefile.am:
11742         * docs/slides/Makefile.am:
11743         * docs/upload.mak:
11744         * common/upload.mak:
11745           move upload.mak to common
11746
11747 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11748
11749         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11750           add more asserts on refcounts
11751           do more cleanup at end of tests
11752           fix test leaks showing in FC5
11753
11754 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
11755
11756         * plugins/elements/gsttypefindelement.c:
11757         (gst_type_find_element_handle_event):
11758         reverted wrong change and reflowed code to avoid others falling into
11759         this trap
11760
11761 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11762
11763         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
11764           fix changelog entry about last collectpads change,
11765           add notes about proper fix
11766
11767 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11768
11769         * gst/gst.c:
11770         * gst/gstregistry.c: (gst_registry_scan_path_level),
11771         (gst_registry_scan_path):
11772         * gst/gstregistry.h:
11773           only write out registry if it has changed, fixes #338339
11774
11775 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11776
11777         * gst/gstbin.c:
11778         * gst/gstpipeline.c:
11779         * plugins/elements/gstcapsfilter.c:
11780         * plugins/elements/gstfakesink.c:
11781         * plugins/elements/gstfakesrc.c:
11782         * plugins/elements/gstfdsink.c:
11783         * plugins/elements/gstfdsrc.c:
11784         * plugins/elements/gstfilesink.c:
11785         * plugins/elements/gstfilesrc.c:
11786         * plugins/elements/gstidentity.c:
11787         * plugins/elements/gstqueue.c:
11788         * plugins/elements/gsttee.c:
11789         * plugins/elements/gsttypefindelement.c:
11790         (gst_type_find_element_handle_event):
11791           make GstElementDetails const
11792
11793 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11794
11795         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
11796         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11797         (gst_collect_pads_is_collected), (gst_collect_pads_event):
11798           more detailed debug and formatting cleanup,
11799           forward newsegments to src-pad (so that e.g. adder not eats them)
11800
11801 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11802
11803         * gst/gstutils.c: (gst_element_link_pads):
11804           cleanup double code
11805
11806 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
11807
11808         * libs/gst/controller/gstcontroller.c:
11809         (gst_controller_sync_values):
11810           some little tuning
11811         * tests/check/libs/controller.c: (GST_START_TEST),
11812         (gst_controller_suite):
11813           a new test for live value handling
11814
11815 2006-04-28  Wim Taymans  <wim@fluendo.com>
11816
11817         * gst/gstutils.c: (push_and_ref):
11818         Added some more docs.
11819         Fix refcount issue whith gst_element_found_tags() helper 
11820         function. Fixes #338335
11821
11822         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11823         Added testsuite for gst_element_found_tags().
11824
11825 2006-04-28  Michael Smith  <msmith@fluendo.com>
11826
11827         * gst/gstvalue.c: (gst_value_serialize_flags):
11828           Avoid NULL dereference when trying to serialize flags containing
11829           invalid values.
11830
11831 2006-04-28  Michael Smith  <msmith@fluendo.com>
11832
11833         * plugins/elements/gsttypefindelement.c:
11834         (gst_type_find_element_handle_event):
11835           If we get EOS before any data is accumulated, don't use
11836           uninitialised local variables.
11837
11838 2006-04-28  Michael Smith  <msmith@fluendo.com>
11839
11840         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
11841         (gst_dp_event_from_packet):
11842           Fixes in reading/writing events over GDP (not currently used?) - 
11843           dereferencing NULL events for unknown/invalid event types, memory
11844           leak, and change g_warning to GST_WARNING.
11845
11846 2006-04-28  Wim Taymans  <wim@fluendo.com>
11847
11848         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
11849         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
11850         (gst_base_sink_get_position), (gst_base_sink_change_state):
11851         When frame dropping is enabled, we should not ignore frames
11852         without a duration.
11853         Update some documentation.
11854
11855 2006-04-28  Wim Taymans  <wim@fluendo.com>
11856
11857         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
11858         (gst_base_src_send_event), (gst_base_src_change_state):
11859         Documentation updates.
11860
11861 2006-04-28  Wim Taymans  <wim@fluendo.com>
11862
11863         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
11864         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
11865         handle EAGAIN, EINTR and short writes correctly. Also clean
11866         up some error cases, avoid a deadlock on bad file descriptors and
11867         use GST_DEBUG_OBJECT.
11868         Fixes #339843
11869
11870 2006-04-28  Wim Taymans  <wim@fluendo.com>
11871
11872         * gst/gstvalue.c: (gst_value_serialize_buffer),
11873         (gst_value_deserialize_buffer):
11874         Don't try to serialize a GValue with a NULL buffer. 
11875         Fixes #339821.
11876
11877         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11878         Added check for serialisation of NULL buffers.
11879
11880 2006-04-28  Wim Taymans  <wim@fluendo.com>
11881
11882         * gst/gstminiobject.c: (gst_value_take_mini_object):
11883         Taking a NULL miniobject is valid, fix the case where
11884         we try to unref the NULL miniobject.
11885
11886 2006-04-28  Wim Taymans  <wim@fluendo.com>
11887
11888         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
11889
11890         * gst/gstbin.c: (gst_bin_handle_message_func):
11891         Update docs.
11892         Don't leak bin refcount when a state recalc is
11893         in progress and we delay another one #339808.
11894
11895 2006-04-28  Wim Taymans  <wim@fluendo.com>
11896
11897         * docs/design/part-TODO.txt:
11898         Mention QoS as an ongoing work item.
11899
11900         * docs/design/part-buffering.txt:
11901         New doc about buffering that needs to be fleshed out
11902         at some point.
11903
11904         * docs/design/part-qos.txt:
11905         More QoS policy for decoders/demuxers/transforms
11906
11907         * docs/design/part-trickmodes.txt:
11908         Small update.
11909
11910 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11911
11912         * configure.ac:
11913           back to HEAD
11914
11915 === release 0.10.5 ===
11916
11917 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
11918
11919         * configure.ac:
11920           releasing 0.10.5, "Fogo"
11921
11922 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11923
11924         patch by: Wim Taymans
11925
11926         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
11927         (gst_pad_configure_src), (gst_pad_push):
11928         * gst/gstpipeline.c: (gst_pipeline_init):
11929           Fix internal data flow errors.  Fixes #338711.
11930
11931 2006-04-12  Wim Taymans  <wim@fluendo.com>
11932
11933         * tests/check/gst/gstelement.c: (GST_START_TEST):
11934         Don't leak the factory.
11935
11936 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11937
11938         * configure.ac:
11939         * win32/common/config.h:
11940           prerelease
11941
11942 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
11943
11944         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
11945         (gst_controller_unset_all):
11946           Free allocated GstTimedValues when freeing list nodes.
11947           Should fix leaks 'make check-valgrind' complains about.
11948
11949         * win32/common/libgstcontroller.def:
11950           Add gst_controller_unset_all.
11951
11952 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
11953
11954         * docs/libs/gstreamer-libs-sections.txt:
11955         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
11956         (gst_controller_unset_all):
11957         * libs/gst/controller/gstcontroller.h:
11958         API: Added new method gst_controller_unset_all()
11959         fixed gst_controller_unset()
11960         * tests/check/libs/controller.c: (GST_START_TEST),
11961         (gst_controller_suite):
11962         Added two testcases for new and fixed method
11963
11964 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
11965
11966         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
11967           MSG_DONTWAIT is not defined on Cygwin, so work
11968           around that (fixes #317048).
11969           
11970 2006-04-11  Wim Taymans  <wim@fluendo.com>
11971
11972         * gst/gstelementfactory.c: (gst_element_register),
11973         (gst_element_factory_create), (gst_element_factory_make):
11974         Some cleanups.
11975         Fixed a FIXME.
11976         Updated docs (Fixes #131079)
11977
11978         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11979         Small cleanups.
11980
11981         * tests/check/gst/gstelement.c: (GST_START_TEST),
11982         (gst_element_suite):
11983         Added testcase for elementfactory class field.
11984
11985 2006-04-10  Wim Taymans  <wim@fluendo.com>
11986
11987         * gst/gstsegment.c:
11988         Added some more docs.
11989
11990         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
11991         (gst_base_sink_reset_qos):
11992         Calculate more accurate rate values.
11993
11994 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
11995
11996         * gst/gst_private.h:
11997           add a new #ifdef to use __declspec(dllimport) only for
11998           other modules and not for gstreamer core
11999         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
12000           use gst_guint64_to_gdouble for conversion
12001         * win32/common/libgstreamer.def:
12002           add new exported functions
12003         * win32/vs6/gst_inspect.dsp:
12004         * win32/vs6/gst_launch.dsp:
12005         * win32/vs6/libgstbase.dsp:
12006         * win32/vs6/libgstcontroller.dsp:
12007         * win32/vs6/libgstcoreelements.dsp:
12008         * win32/vs6/libgstdataprotocol.dsp:
12009         * win32/vs6/libgstnet.dsp:
12010           update project files
12011
12012 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
12013
12014         * gst/gstbuffer.c: (gst_subbuffer_class_init):
12015         * gst/gstclock.c: (gst_clock_class_init):
12016         * gst/gstelement.c: (gst_element_class_init):
12017         * gst/gstindex.c: (gst_index_class_init):
12018         * gst/gstindexfactory.c: (gst_index_factory_class_init):
12019         * gst/gstobject.c: (gst_object_class_init),
12020         (gst_signal_object_class_init):
12021         * gst/gstpad.c: (gst_pad_class_init):
12022         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
12023         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
12024         * gst/gstregistry.c: (gst_registry_class_init):
12025         * gst/gstsystemclock.c: (gst_system_clock_class_init):
12026         * gst/gsttask.c: (gst_task_class_init):
12027         * gst/gstxml.c: (gst_xml_class_init):
12028         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
12029         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12030         (gst_base_src_loop):
12031         * libs/gst/controller/gstcontroller.c:/
12032         (_gst_controller_class_init):
12033         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
12034         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
12035         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
12036         * tests/old/examples/plugins/example.c: (gst_example_class_init):
12037         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
12038         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
12039
12040 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
12041
12042         * gst/gstpad.c: (gst_pad_link):
12043           Must set peer pads before calling the link function, otherwise
12044           a task started from a link function might get a flow-not-linked
12045           result when trying to push because the other thread where the
12046           linking happens hasn't had a chance to set the peers yet. This
12047           might happen for example when a queue gets linked to a downstream
12048           element, as queue starts a streaming task when its source pad
12049           gets linked. Happens in real life when playing back flac/musepack
12050           files in playbin (#332390).
12051           
12052 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
12053
12054         * gst/gstindex.h:
12055         * gst/gstxml.h:
12056         * libs/gst/base/gstadapter.h:
12057         * libs/gst/base/gstbasesink.h:
12058         * libs/gst/base/gstbasesrc.h:
12059         * libs/gst/base/gstbasetransform.h:
12060         * libs/gst/base/gstcollectpads.h:
12061         * libs/gst/base/gstpushsrc.h:
12062         Fix broken GObject macros
12063
12064 2006-04-07  Wim Taymans  <wim@fluendo.com>
12065
12066         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12067         Initialize start and stop times, thanks valgrind.
12068
12069 2006-04-07  Wim Taymans  <wim@fluendo.com>
12070
12071         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12072         Be a bit nicer to badly behaving upstream elements that expect
12073         us to deal with non TIME segments and timestamps (such as fakesrc
12074         in the testsuite).
12075
12076 2006-04-07  Wim Taymans  <wim@fluendo.com>
12077
12078         * gst/gstbus.c:
12079         Small documentation clarification about the signal watch.
12080
12081         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
12082         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
12083         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12084         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
12085         (gst_base_sink_get_position_last),
12086         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
12087         Convert and store timestamps in stream time and running time, the
12088         raw timestamps are not useful, also document this better.
12089         Use different window sizes for good and bad QoS observations so
12090         we react to badness a little quicker.
12091         Keep track of the amount of rendered and dropped buffers.
12092         Send QoS timestamps in running time.
12093
12094         * libs/gst/base/gstbasetransform.c:
12095         (gst_base_transform_sink_eventfunc),
12096         (gst_base_transform_handle_buffer):
12097         Compare QoS timestamps against running time.
12098
12099 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
12100
12101         * gst/gstpad.c:
12102           Typo fixes in docs.
12103
12104 2006-04-06  Michael Smith  <msmith@fluendo.com>
12105
12106         * gst/gstpad.c: (gst_pad_set_property):
12107           Use g_value_get_object() instead of g_value_dup_gst_object(),
12108           to avoid double-reffing the pad template (which we then sink,
12109           so this worked previously if (and only if) the pad template
12110           was floating.
12111
12112         * gst/gstpadtemplate.c: (gst_pad_template_init),
12113         (gst_pad_template_pad_created):
12114           Never return floating references to pad templates, create
12115           them as initially-sunken.
12116
12117           Document an extra function (and make this stop sinking our
12118           pad template, since that is now guaranteed to do nothing,
12119           since we created it sunken).
12120
12121         * gst/gstghostpad.c:
12122           Fix docs typo.
12123
12124 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
12125
12126         * gst/gstinfo.c: (__gst_in_valgrind):
12127           Add some newlines.
12128
12129         * plugins/elements/gsttypefindelement.c:
12130         (gst_type_find_element_chain):
12131           Don't leak buffer caps.
12132
12133 2006-04-06  Michael Smith  <msmith@fluendo.com>
12134
12135         * gst/parse/grammar.y:
12136           Fix a leak in parse-launch for any source-or-sink named element 
12137           references used.
12138
12139         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
12140           Unref the pipeline if it exists after we've failed parsing.
12141
12142 2006-04-05  Michael Smith  <msmith@fluendo.com>
12143
12144         * gst/gstpipeline.c: (gst_pipeline_init):
12145           When we create a pipeline bus, initially create it in flushing mode.
12146           Fixes leaks in at least one test, and makes a new pipeline work the
12147           same as one that has gone to READY and then back to NULL.
12148
12149         * gst/gstelement.c:
12150           Typo fix in docs.
12151
12152 2006-04-05  Michael Smith  <msmith@fluendo.com>
12153
12154         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
12155           Unref a pad we reffed.
12156         * tests/check/gst/gstutils.c: (GST_START_TEST):
12157           Unref bins
12158
12159 2006-04-05  Michael Smith  <msmith@fluendo.com>
12160
12161         * gst/gstquery.c: (gst_query_set_formats),
12162         (gst_query_set_formatsv):
12163           Fix leaking GValues in queries, as shown by valgrind/testsuite.
12164
12165 2006-04-05  Michael Smith  <msmith@fluendo.com>
12166
12167         * tests/check/generic/sinks.c: (GST_START_TEST):
12168           Fix a variety of memleaks in sinks check, which are only sometimes 
12169           shown by running the tests under valgrind (weird?).
12170
12171 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
12172
12173         * docs/version.entities.in:
12174           Fix the substituted entity name after thomas' changes on the
12175           weekend.
12176
12177 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12178
12179         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
12180         VALGRIND_PRINTF
12181         
12182 2006-04-05  Andy Wingo  <wingo@pobox.com>
12183
12184         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
12185
12186         * libs/gst/base/gstbasetransform.c
12187         (gst_base_transform_sink_eventfunc): When resetting our segment on
12188         FLUSH_STOP, also update the flag saying we haven't seen a
12189         newsegment.
12190
12191 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
12192
12193         Patch by: Paolo Borelli  <pborelli at katamail dot com>
12194
12195         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
12196         (gst_plugin_check_license):
12197           minor clean-ups: G_DEFINE_TYPE already takes care of the
12198           parent_class stuff, no need to do it twice. Mark array of
12199           license strings as constant. (#337103)
12200           
12201 2006-04-04  Michael Smith  <msmith@fluendo.com>
12202
12203         * tools/gst-inspect.c: (print_element_list):
12204           Free the right plugin list; fixes a memory leak.
12205
12206 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
12207
12208         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
12209
12210         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
12211           Don't error out on empty buffers (#336945).
12212           
12213 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
12214
12215         * docs/libs/gstreamer-libs-sections.txt:
12216         * gst/gsttaglist.c:
12217         * libs/gst/base/gstbasesink.c:
12218         * libs/gst/base/gstbasesink.h:
12219         * libs/gst/base/gstbasesrc.c:
12220         * libs/gst/base/gstbasesrc.h:
12221           Documentation updates. Make BaseSink and BaseSrc docs contain the
12222           class structure so that people can actually see the prototypes for
12223           virtual functions they're supposed to be overriding.
12224
12225 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
12226
12227         * plugins/elements/gsttypefindelement.c:
12228         (gst_type_find_element_chain):
12229           More debug info; when skipping typefinding, send cached
12230           events in all cases.
12231
12232 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12233
12234         * configure.ac:
12235           use new AS_VERSION and AS_NANO macros
12236         * gst/gst-i18n-lib.h:
12237         * gst/gst.c:
12238         * gst/gsterror.c:
12239         * gst/gstversion.h.in:
12240         * win32/common/config.h:
12241         * win32/common/config.h.in:
12242           update accordingly
12243
12244 2006-03-31  Michael Smith  <msmith@fluendo.com>
12245
12246         * plugins/elements/gsttypefindelement.c:
12247         (gst_type_find_element_chain):
12248           Do not typefind content if the buffers already have caps.
12249           Neccesary for icydemux (#333657), and the right thing to do anyway.
12250
12251 2006-03-30  Wim Taymans  <wim@fluendo.com>
12252
12253         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12254         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
12255         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
12256         (gst_base_sink_record_qos_observation),
12257         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12258         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
12259         (gst_base_sink_change_state):
12260         More QoS measurements as described in the design doc.
12261         Get rid of ringbuffer with observations, running average is
12262         more simple and equally good.
12263         Calculates valid proportion now.
12264         Added beginning of flood measurement.
12265
12266 2006-03-29  Wim Taymans  <wim@fluendo.com>
12267
12268         * docs/design/part-qos.txt:
12269         * gst/gstclock.c:
12270         Small documentation updates and additions.
12271
12272 2006-03-29  Wim Taymans  <wim@fluendo.com>
12273
12274         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
12275         (gst_base_src_send_event), (gst_base_src_loop),
12276         (gst_base_src_change_state):
12277         Perform the EOS logic when we reach the segment stop position.
12278         Fix compilation on gcc4.1
12279
12280 2006-03-29  Wim Taymans  <wim@fluendo.com>
12281
12282         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
12283
12284         * plugins/elements/gstqueue.c: (gst_queue_init),
12285         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12286         (gst_queue_set_property):
12287         * plugins/elements/gstqueue.h:
12288         In queue, when EOS is received, if minimum threshold > max_size -
12289         current_level, there is chance that queue blocks forever in conditional
12290         item del wait. This is because the queue is not emptied completely due
12291         to minimum threshold.  Here is another approach. Instead of setting
12292         cur_levels to max in EOS, just zero all minimum threshold levels. This
12293         should make sure that queue gives out all data. When going to READY
12294         (stop) state, just reset the original minimum threshold levels.
12295         Fixes #336336.
12296
12297 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
12298
12299         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
12300         (gst_type_find_element_handle_event),
12301         (gst_type_find_element_send_cached_events),
12302         (gst_type_find_element_change_state):
12303         * plugins/elements/gsttypefindelement.h:
12304           When typefinding is done in push mode, we should cache
12305           events we receive during typefinding instead of just
12306           dropping them (e.g. newsegment, custom events from
12307           dvdreadsrc etc.) and then send them out once we've
12308           determined the type of the stream (and decodebin
12309           has had a chance to plug in a decoder/demuxer).
12310           
12311 2006-03-27  Wim Taymans  <wim@fluendo.com>
12312
12313         * docs/design/part-qos.txt:
12314         First QoS ideas.
12315
12316 2006-03-27  Wim Taymans  <wim@fluendo.com>
12317
12318         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
12319
12320         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
12321         (gst_base_src_send_event), (gst_base_src_change_state):
12322         Handle element seek correctly when we are streaming.
12323         Fixes #326998.
12324
12325 2006-03-24  Michael Smith  <msmith@fluendo.com>
12326
12327         * docs/faq/gst-uninstalled:
12328           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
12329           allow you to correctly run intalled applications built against old 
12330           core, using plugins that require updated core (e.g. running
12331           installed totem against a full uninstalled gstreamer stack)
12332
12333 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
12334
12335         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
12336         more debug details
12337
12338 2006-03-24  Wim Taymans  <wim@fluendo.com>
12339
12340         * docs/gst/gstreamer-sections.txt:
12341         Rearrange the order of the methods so that related methods
12342         are grouped together in sections.
12343
12344 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
12345
12346         * gst/gstelement.c:
12347           Little clarification in the docs
12348
12349 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
12350
12351         * docs/README:
12352         formatting fix
12353         * plugins/elements/gstidentity.c:
12354         * plugins/elements/gstqueue.c:
12355         * plugins/elements/gsttee.c:
12356         * plugins/elements/gsttypefindelement.c:
12357         GST_ELEMENT_DETAILS formatting
12358
12359 2006-03-24  Wim Taymans  <wim@fluendo.com>
12360
12361         * libs/gst/base/gstbasesink.h:
12362         Only add fields, not insert or we break ABI.
12363
12364 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
12365
12366         * win32/common/libgstbase.def:
12367         * win32/common/libgstreamer.def:
12368           Update, add recently added functions.
12369
12370 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
12371
12372         * docs/gst/gstreamer-sections.txt:
12373         * gst/gstutils.c: (gst_pad_query_peer_position),
12374         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
12375         * gst/gstutils.h:
12376           API: add some new utility functions:
12377            - gst_pad_query_peer_position()
12378            - gst_pad_query_peer_duration()
12379            - gst_pad_query_peer_convert()
12380           
12381 2006-03-23  Wim Taymans  <wim@fluendo.com>
12382
12383         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
12384         (gst_base_sink_init), (gst_base_sink_finalize),
12385         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
12386         (gst_base_sink_set_property), (gst_base_sink_get_property),
12387         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
12388         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
12389         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
12390         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12391         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
12392         (gst_base_sink_preroll_object), (gst_base_sink_event),
12393         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
12394         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
12395         (gst_base_sink_query), (gst_base_sink_change_state):
12396         Decouple max-lateness and the fact that QoS messages are generated
12397         with a new property (qos).
12398         added API: GstBaseSink::async_play()
12399         Add vmethod so subclasses can be notified of ASYNC playing
12400         state changes.
12401         Collect timestamp start and stop to report better current
12402         position in EOS/PLAYING/PAUSED/READY/NULL.
12403         Refactor QoS/frame dropping and other measurements.
12404         API: GstBaseSrc::qos
12405         Fixes #326311
12406
12407         * libs/gst/base/gstbasesink.h:
12408         Added Private struct.
12409         API: gst_base_sink_set_qos_enabled()
12410         API: gst_base_sink_is_qos_enabled()
12411
12412 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
12413
12414         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
12415           If compiling against GLib-2.8 or newer, try to read the
12416           registry file using GMappedFile first before falling back
12417           to fopen() + fread() (#332151).
12418
12419 2006-03-22  Wim Taymans  <wim@fluendo.com>
12420
12421         * gst/gstinfo.c: (gst_debug_set_active),
12422         (gst_debug_category_set_threshold):
12423         Disable debugging unless explicitly activated.
12424         Fixes #335480.
12425
12426 2006-03-22  Wim Taymans  <wim@fluendo.com>
12427
12428         * gst/gstelement.c: (gst_element_set_locked_state),
12429         (gst_element_dispose):
12430         Cleanup the error case.
12431
12432         * gst/gstobject.c: (gst_object_dispose):
12433         print a critical when some object was disposed with
12434         a parent, also revive the object since it might
12435         crash the parent.
12436
12437 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
12438
12439         * tools/gst-launch.1.in:
12440           Fix another typo.
12441
12442 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12443
12444         * configure.ac:
12445         * tests/check/Makefile.am:
12446           disable some tests when we don't have a registry
12447         * tests/check/gst/gstutils.c: (gst_utils_suite):
12448           don't build the part that needs parsing
12449
12450 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12451
12452         * gst/Makefile.am
12453         * tests/examples/Makefile.am:
12454           fix --disable-parse build
12455
12456 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12457
12458         * tools/gst-feedback.1.in:
12459           Fix typo: s/feeback/feedback/ (#133494).
12460
12461 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12462
12463         * tools/Makefile.am:
12464         * tools/gst-launch.1.in:
12465           Add FILES section and correct entry about GST_REGISTRY_PATH
12466           environment variable (#133495; #133494).
12467
12468 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12469
12470         * tools/Makefile.am:
12471         * tools/gst-md5sum.1.in:
12472         * tools/gst-md5sum.c:
12473           Remove gst-md5sum and man page (the md5sink element
12474           required was removed ages ago)
12475
12476 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12477
12478         * gst/gststructure.c: (gst_structure_id_set_value):
12479           Make sure that string fields in structures/taglists
12480           contain valid UTF-8 - we don't want to pass rubbish to
12481           applications because of a buggy plugin (cp. #334167).
12482
12483 2006-03-21  Edward Hervey  <edward@fluendo.com>
12484
12485         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12486         (gst_bin_handle_message_func):
12487         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
12488         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
12489         (gst_element_set_bus_func):
12490         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
12491         * gst/gstminiobject.c: (gst_value_set_mini_object),
12492         (gst_value_take_mini_object):
12493         * gst/gstpad.c: (gst_pad_set_pad_template):
12494         * gst/gstpipeline.c: (gst_pipeline_dispose),
12495         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
12496         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
12497         (gst_collect_pads_chain):
12498         * libs/gst/net/gstnettimeprovider.c:
12499         (gst_net_time_provider_set_property):
12500         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
12501         It's in fact all issues with gst_*object_replace().
12502
12503 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12504
12505         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
12506         
12507         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12508         * pkgconfig/gstreamer-check.pc.in:
12509           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
12510
12511 2006-03-21  Edward Hervey  <edward@fluendo.com>
12512
12513         * gst/gstbuffer.h:
12514         * gst/gstevent.h:
12515         * gst/gstmessage.h:
12516         gst_[buffer|event|message]_ref() macros are replaced by a static
12517         inline functions because gcc-4.1 will about if the return value
12518         isn't used.
12519         * tests/check/gst/gstevent.c: (event_probe):
12520         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
12521
12522 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
12523
12524         * gst/gstutils.h:
12525         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
12526         the type' case. (Closes: #335195 for now). In the future, when we
12527         depend on GLib 2.10, we could also intern the type name using
12528         g_intern_static_string()
12529
12530 2006-03-20  Wim Taymans  <wim@fluendo.com>
12531
12532         * gst/gstbin.c: (gst_bin_handle_message_func),
12533         (bin_query_max_init), (bin_query_position_fold),
12534         (bin_query_position_done), (gst_bin_query):
12535         Position query should also take max of all streams.
12536
12537 2006-03-20  Wim Taymans  <wim@fluendo.com>
12538
12539         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12540         (gst_fake_src_finalize):
12541         Fix leaks in fakesrc.
12542
12543         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
12544         Fix leaks in the testcase.
12545
12546 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
12547
12548         * gst/gst_private.h:
12549           add win32 specific import decoration(__declspec(dllimport)) 
12550           for all extern GstDebugCategory * variables
12551         * win32/common/libgstbase.def:
12552         * win32/common/libgstcontroller.def:
12553         * win32/common/libgstreamer.def:
12554           Add some exports, remove empty lines
12555         * win32/common/libgstdataprotocol.def:
12556         * win32/common/libgstdataprotocol.dsp:
12557         * win32/common/libgstnet.def:
12558         * win32/common/libgstnet.dsp:
12559           new project files and exportation files added
12560         
12561 2006-03-19  Wim Taymans  <wim@fluendo.com>
12562
12563         * tests/check/libs/basesrc.c: (eos_event_counter):
12564         Use proper return value for probe.
12565
12566 2006-03-17  Wim Taymans  <wim@fluendo.com>
12567
12568         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
12569         (gst_pad_push):
12570         Don't leak buffers, caps and pads on negotiation errors.
12571
12572 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
12573
12574         * docs/faq/cvs.xml:
12575         * docs/faq/dependencies.xml:
12576         * docs/faq/developing.xml:
12577         * docs/faq/faq.xml:
12578         * docs/faq/general.xml:
12579         * docs/faq/getting.xml:
12580         * docs/faq/legal.xml:
12581         * docs/faq/troubleshooting.xml:
12582         * docs/faq/using.xml:
12583         Faq review and update.
12584
12585 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
12586
12587         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
12588         (gst_pad_push):
12589         Don't pound the cpu to pieces by checking get_caps when accept_caps
12590         is called with the same caps as the pad already has.
12591         Use GST_DEBUG_OBJECT when outputting caps change information.
12592
12593 2006-03-15  Wim Taymans  <wim@fluendo.com>
12594
12595         * gst/gstclock.c: (gst_clock_class_init):
12596         Fix docs.
12597
12598 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
12599
12600         * gst/gstbuffer.h:
12601         Documentation fix.
12602
12603         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
12604         (gst_pad_accept_caps), (gst_pad_configure_sink),
12605         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
12606         Make the default acceptcaps behaviour be to check the requested 
12607         caps against the gst_pad_get_caps output. 
12608
12609         Ensure that gst_pad_accept_caps is used to check caps when a pad
12610         doesn't have a setcaps function, so that pads automatically refuse 
12611         caps that they don't allow in their pad template. (Fixes #332986)
12612
12613         When a buffer with attached caps is pushed, ensure that the source 
12614         pad receives those caps even if the element didn't call
12615         gst_pad_set_caps first.
12616
12617 2006-03-15  Wim Taymans  <wim@fluendo.com>
12618
12619         * libs/gst/base/gstadapter.c:
12620         Add some docs.
12621
12622 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
12623
12624         * win32/common/libgstbase.def:
12625         * win32/common/libgstcontroller.def:
12626         * win32/common/libgstreamer.def:
12627           Add a whole bunch of missing functions (#334434).
12628
12629 2006-03-14  Wim Taymans  <wim@fluendo.com>
12630
12631         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
12632         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
12633         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
12634         Better debug info when we receive a segment event.
12635         Reorganize a bit so we can pass the get_times() results around.
12636         Use the segment format when calculating the running time.
12637         Don't do QoS is sync is disabled or we have no clock or the
12638         element does not want us to sync to the clock.
12639         Don't drop buffers if QoS is disabled for now.
12640
12641 2006-03-14  Wim Taymans  <wim@fluendo.com>
12642
12643         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
12644         Marked the stats property as unimplemented so people don't get
12645         wild ideas.
12646         Add debug message when regression goes wrong.
12647         Added some more docs.
12648
12649 2006-03-14  Wim Taymans  <wim@fluendo.com>
12650
12651         * gst/gstsegment.c: (gst_segment_to_stream_time):
12652         Return correct return type in case of errors.
12653
12654 2006-03-14  Wim Taymans  <wim@fluendo.com>
12655
12656         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
12657           Don't segfault on invalid formats.
12658
12659 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
12660
12661         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12662           Can't use gst_segment_to_running_time() when the segment
12663           is not in GST_TIME_FORMAT (like with filesink, for example).
12664           Stops flac encoding pipelines from spewing critical warnings
12665           at EOS (#331248).
12666           
12667 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
12668
12669         * gst/gstpipeline.c: (gst_pipeline_class_init):
12670           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
12671
12672         * plugins/elements/gsttypefindelement.c:
12673         (gst_type_find_element_handle_event):
12674           Don't try to typefind empty streams.
12675
12676 2006-03-14  Wim Taymans  <wim@fluendo.com>
12677
12678         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
12679         (gst_base_sink_do_qos):
12680         Separate QoS calculation.
12681         Only drop buffers when lateness is bigger than the 
12682         duration of the buffer.
12683
12684 2006-03-13  Wim Taymans  <wim@fluendo.com>
12685
12686         * gst/gstpipeline.c: (gst_pipeline_set_property),
12687         (gst_pipeline_get_property), (do_pipeline_seek),
12688         (gst_pipeline_change_state), (gst_pipeline_set_delay),
12689         (gst_pipeline_get_delay):
12690         Don't deadlock when reading properties.
12691
12692 2006-03-13  Wim Taymans  <wim@fluendo.com>
12693
12694         * libs/gst/base/gstbasetransform.c:
12695         (gst_base_transform_class_init), (gst_base_transform_init),
12696         (gst_base_transform_sink_event),
12697         (gst_base_transform_sink_eventfunc),
12698         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
12699         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
12700         (gst_base_transform_set_property),
12701         (gst_base_transform_get_property),
12702         (gst_base_transform_change_state), (gst_base_transform_update_qos),
12703         (gst_base_transform_set_qos_enabled),
12704         (gst_base_transform_is_qos_enabled):
12705         * libs/gst/base/gstbasetransform.h:
12706         Make basetransform virtual method for src events too.
12707         Handle QOS in basetransform.
12708         API: gst_base_transform_update_qos()
12709         API: gst_base_transform_set_qos_enabled()
12710         API: gst_base_transform_is_qos_enabled()
12711
12712 2006-03-13  Wim Taymans  <wim@fluendo.com>
12713
12714         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12715         (gst_base_sink_do_sync):
12716         Small cleanups.
12717         Use QOS debug category.
12718
12719 2006-03-13  Wim Taymans  <wim@fluendo.com>
12720
12721         * plugins/elements/gstqueue.c:
12722         Very small doc update.
12723
12724 2006-03-13  Wim Taymans  <wim@fluendo.com>
12725
12726         * gst/gst_private.h:
12727         * gst/gstinfo.c: (_gst_debug_init):
12728         Added QOS debug category
12729
12730 2006-03-13  Wim Taymans  <wim@fluendo.com>
12731
12732         * docs/gst/gstreamer-sections.txt:
12733         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
12734         * gst/gstbin.h:
12735         * gst/gstbus.c: (gst_bus_class_init):
12736         * gst/gstbus.h:
12737         * gst/gstclock.c:
12738         * gst/gstelement.c: (gst_element_set_locked_state):
12739         * gst/gstsegment.c:
12740         Documentation updates.
12741
12742         * gst/gstpipeline.c: (gst_pipeline_get_type),
12743         (gst_pipeline_class_init), (gst_pipeline_init),
12744         (gst_pipeline_dispose), (gst_pipeline_set_property),
12745         (gst_pipeline_get_property), (do_pipeline_seek),
12746         (gst_pipeline_send_event), (gst_pipeline_change_state),
12747         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
12748         (gst_pipeline_get_delay):
12749         * gst/gstpipeline.h:
12750         Added methods for setting the delay.
12751         API: gst_pipeline_set_delay()
12752         API: gst_pipeline_get_delay()
12753         Add pipeline debug category
12754         Various cleanups.
12755         Updated docs.
12756         Don't reset stream time when seek failed.
12757
12758 2006-03-13  Wim Taymans  <wim@fluendo.com>
12759
12760         * docs/design/draft-klass.txt:
12761         * docs/design/part-clocks.txt:
12762         * docs/design/part-events.txt:
12763         * docs/design/part-gstbin.txt:
12764         * docs/design/part-gstpipeline.txt:
12765         * docs/design/part-messages.txt:
12766         * docs/design/part-negotiation.txt:
12767         * docs/design/part-overview.txt:
12768         * docs/design/part-preroll.txt:
12769         * docs/design/part-seeking.txt:
12770         * docs/design/part-states.txt:
12771         * docs/design/part-streams.txt:
12772         Documentation updates.
12773
12774 2006-03-12  Julien MOUTTE  <julien@moutte.net>
12775
12776         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
12777         us to leak strings...
12778
12779 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12780
12781         * libs/gst/net/gstnettimeprovider.c:
12782           fix docs
12783         * win32/common/config.h:
12784           update
12785
12786 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
12787
12788         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
12789
12790         * configure.ac:
12791           Don't check for libgnomeui (leftover from old examples
12792           that aren't built or disted any longer) (#334303).
12793           
12794 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
12795
12796         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
12797         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
12798           Emit RESOURCE_NO_SPACE_LEFT error here as well when
12799           there's no space left on the device.
12800
12801 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
12802
12803         * gst/gstclock.h:
12804           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
12805           to cast the input to GstClockTime before comparing with
12806           another GstClockTime value.
12807
12808 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12809
12810         * configure.ac:
12811           back to trunk
12812
12813 === release 0.10.4 ===
12814
12815 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
12816
12817         * configure.ac:
12818           releasing 0.10.4, "Light"
12819
12820 2006-03-10  Michael Smith  <msmith@fluendo.com>
12821
12822         * libs/gst/dataprotocol/dataprotocol.c:
12823           Fix docs for dataprocotol to not get the return types completely
12824           wrong for a few functions.
12825
12826 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
12827
12828         * docs/gst/gstreamer-sections.txt:
12829         * gst/gstpipeline.c: (gst_pipeline_class_init),
12830         (gst_pipeline_init), (gst_pipeline_set_property),
12831         (gst_pipeline_get_property), (gst_pipeline_change_state),
12832         (gst_pipeline_set_auto_flush_bus),
12833         (gst_pipeline_get_auto_flush_bus):
12834         * gst/gstpipeline.h:
12835           Add new API: gst_pipeline_set_auto_flush_bus() and
12836           gst_pipeline_get_auto_flush_bus() to disable automatic
12837           flushing of the pipeline's GstBus when going from READY
12838           to NULL state (#332045).
12839
12840 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
12841
12842         * docs/gst/gstreamer-sections.txt:
12843         * gst/gsturi.c: (gst_uri_has_protocol):
12844         * gst/gsturi.h:
12845            Add new API: gst_uri_has_protocol() (#333779).
12846
12847 2006-03-09  Wim Taymans  <wim@fluendo.com>
12848
12849         * gst/gstclock.c: (gst_clock_entry_new),
12850         (gst_clock_id_compare_func), (gst_clock_id_wait),
12851         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
12852         (gst_clock_init), (gst_clock_get_internal_time),
12853         (gst_clock_set_master), (do_linear_regression),
12854         (gst_clock_add_observation), (gst_clock_set_property):
12855         * gst/gstclock.h:
12856         Review docs.
12857         Small cleanups.
12858         Fix a possible segfault when the window-size is made smaller.
12859         Calculate jitter before performing the clock wait. Ideally
12860         the clock implementation should calculate jitter but we need
12861         API breakage for that.
12862
12863         * gst/gstsystemclock.c: (gst_system_clock_init):
12864         Docs review.
12865         
12866         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12867         Remove leftover else
12868
12869         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
12870         (gst_systemclock_suite):
12871         Added check to test GST_CLOCK_DIFF.
12872
12873 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
12874
12875         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
12876         (gst_type_find_helper_get_range):
12877           If we are provided with the size, we should implement
12878           GstTypeFind::get_length, so that typefind functions who
12879           want to can actually peek at the middle of a file.
12880
12881 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
12882
12883         * docs/manual/advanced-dataaccess.xml:
12884           Add some very very basic error checking.
12885
12886         * docs/pwg/appendix-checklist.xml:
12887           Some updates to the list of things to check when writing an element.
12888
12889 2006-03-08  Wim Taymans  <wim@fluendo.com>
12890
12891         * docs/design/part-element-transform.txt:
12892         Added some docs about the design of tranform elements.
12893
12894         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
12895         (gst_base_src_loop), (gst_base_src_change_state):
12896         Mark buffers with the DISCONT flag.
12897
12898 2006-03-08  Michael Smith  <msmith@fluendo.com>
12899
12900         * gst/gstregistry.h:
12901         * gst/gstregistryxml.c: (gst_registry_save),
12902         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
12903         (gst_registry_xml_save_pad_template),
12904         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
12905         (gst_registry_xml_write_cache):
12906           Rewrite registry-saving to avoid race conditions and check for
12907           failed writes.
12908
12909 2006-03-08  Wim Taymans  <wim@fluendo.com>
12910
12911         * libs/gst/base/gstbasetransform.c:
12912         (gst_base_transform_transform_caps),
12913         (gst_base_transform_transform_size),
12914         (gst_base_transform_prepare_output_buffer),
12915         (gst_base_transform_get_unit_size),
12916         (gst_base_transform_buffer_alloc),
12917         (gst_base_transform_handle_buffer),
12918         (gst_base_transform_change_state):
12919         Cleanups, separate normal flow from errors, add sensible
12920         DEBUG lines.
12921         Don't try to renegotiate when allocating an output buffer.
12922         Also copy DISCONT buffer flag when copying a buffer.
12923         Reset the transform after we finish streaming, not during.
12924
12925 2006-03-08  Wim Taymans  <wim@fluendo.com>
12926
12927         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12928         Use last buffer timestamp in qos message.
12929
12930 2006-03-07  Wim Taymans  <wim@fluendo.com>
12931
12932         Patch by: Christophe Fergeau
12933
12934         * docs/pwg/advanced-tagging.xml:
12935         * docs/pwg/building-pads.xml:
12936           fixes #333416
12937
12938 2006-03-07  Wim Taymans  <wim@fluendo.com>
12939
12940         * docs/libs/gstreamer-libs-sections.txt:
12941         Added basesink new methods.
12942
12943         * gst/gstevent.c:
12944         * gst/gstevent.h:
12945         Docs updates. Flesh out the QoS docs.
12946
12947         * libs/gst/base/gstadapter.c:
12948         Small doc clarification about ownership and flushing.
12949
12950         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
12951         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
12952         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
12953         (gst_base_sink_get_property), (gst_base_sink_do_sync):
12954         * libs/gst/base/gstbasesink.h:
12955         API additions: 
12956         Added new methods to allow subclass to control max-lateness 
12957         and sync.
12958         Generate very basic QoS events based on last sync observation.
12959         Updated docs, fix typo, added some QoS blurb.
12960
12961         * libs/gst/base/gstbasesrc.c:
12962         Remove obsolete _get_state() calls from docs.
12963
12964 2006-03-07  Wim Taymans  <wim@fluendo.com>
12965
12966         * docs/libs/gstreamer-libs-sections.txt:
12967         * libs/gst/base/gstbasetransform.h:
12968         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
12969         Fix docs for GstBaseSrc.
12970
12971 2006-03-07  Wim Taymans  <wim@fluendo.com>
12972
12973         * docs/gst/gstreamer-sections.txt:
12974         * gst/gstbuffer.h:
12975         * gst/gstvalue.c:
12976         * libs/gst/base/gstbasetransform.h:
12977         Small documentation fixes.
12978
12979 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
12980
12981         * gst/gstvalue.c:
12982           Document thread-unsafety of gst_value_register_foo_func()
12983           when used at the same time as gst_value_foo() (#322628).
12984
12985 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
12986
12987         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
12988         (gst_push_src_check_get_range):
12989           Push sources don't support pull mode by default.
12990
12991 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
12992
12993         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12994         (gst_base_src_init), (gst_base_src_pad_check_get_range),
12995         (gst_base_src_default_check_get_range):
12996         * libs/gst/base/gstbasesrc.h:
12997           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
12998           provide default implementation, and rename
12999           gst_base_src_check_get_range() to
13000           gst_base_src_pad_check_get_range() for clarity.
13001
13002 2006-03-06  Wim Taymans  <wim@fluendo.com>
13003
13004         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
13005         Make property overridable.
13006
13007 2006-03-06  Wim Taymans  <wim@fluendo.com>
13008
13009         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
13010         (gst_base_sink_init), (gst_base_sink_set_property),
13011         (gst_base_sink_get_property), (gst_base_sink_do_sync):
13012         * libs/gst/base/gstbasesink.h:
13013         API addition: Make max-lateness a property.
13014
13015 2006-03-06  Wim Taymans  <wim@fluendo.com>
13016
13017         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
13018         (gst_base_sink_do_sync), (gst_base_sink_render_object):
13019         Don't ever draw a frame that is >10ms late.
13020
13021 2006-03-06  Michael Smith  <msmith@fluendo.com>
13022
13023         * gst/gstmessage.c: (_gst_message_copy):
13024           When copying a message, set the parent_refcount of the enclosed
13025           structure to point at the copy, not the original message.
13026
13027 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
13028
13029         Patch by: Christophe Fergeau
13030
13031         * gst/gstutils.h:
13032           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
13033           usable in c++ code (#333417)
13034
13035 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13036
13037         * gst/gstclock.h:
13038           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
13039
13040 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
13041
13042         * libs/gst/base/gstbasetransform.c:
13043         (gst_base_transform_transform_caps):
13044           Make sure caps are writable before passing them to
13045           gst_caps_append().
13046
13047 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
13048
13049         * gst/gsterror.h:
13050           Fix some minor docs errors.
13051
13052 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
13053
13054           Patch by: Ross Burton <ross at burtonini dot com>
13055
13056         * gst/gsterror.c: (_gst_resource_errors_init):
13057         * gst/gsterror.h:
13058           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
13059
13060 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
13061
13062         * gst/gst.c:
13063         Add a check and output a g_warning when GStreamer is built
13064         against GLib 2.6 but running against 2.8 or higher, and vice 
13065         versa. (Closes: #323542)
13066
13067 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
13068
13069         * gst/parse/parse.l:
13070           Commit patch for parse_launch syntax from #331255. Removes 
13071           support for quoted strings and mimetypes when writing filtered 
13072           caps. See the bug report for more details - I'm pretty sure this
13073           obscure feature is not in use by _anyone_ anywhere.
13074
13075           With this simple change, the size of the gstreamer.so here 
13076           drops from 2193KB to 1565KB.
13077
13078 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
13079
13080         * plugins/elements/gsttypefindelement.h:
13081         * plugins/elements/gsttypefindelement.c:
13082         (gst_type_find_element_src_event), (start_typefinding),
13083         (stop_typefinding), (gst_type_find_element_handle_event),
13084         (gst_type_find_element_chain),
13085         (gst_type_find_element_chain_do_typefinding):
13086           Use gst_type_find_helper_for_buffer() for chain-based
13087           typefinding.
13088
13089 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
13090
13091         * plugins/elements/gsttypefindelement.c:
13092         (gst_type_find_element_class_init),
13093         (gst_type_find_element_set_property),
13094         (gst_type_find_element_get_property):
13095           Deprecate "maximum" property (not only was it only taken into
13096           account for typefinding in push-mode anyway, it also was never
13097           actually possible to set it in the first place because the
13098           property was registered with the numeric property ID for the
13099           "minimum" property). Register "maximum" property correctly,
13100           for the sake of future copy'n'pasters. Remove some cruft
13101           from property get/set functions.
13102
13103 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
13104
13105         * plugins/elements/gsttypefindelement.c:
13106         (gst_type_find_element_activate):
13107           Use gst_type_find_helper_get_range() here, so we
13108           can honour the "minimum" property and also emit
13109           the signal with the correct probability of the found caps.
13110
13111 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
13112
13113         * docs/libs/gstreamer-libs-sections.txt:
13114         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
13115         (helper_find_suggest), (gst_type_find_helper_get_range),
13116         (gst_type_find_helper):
13117         * libs/gst/base/gsttypefindhelper.h:
13118           New API: gst_type_find_helper_get_range() (#333042).
13119
13120 2006-03-02  Michael Smith  <msmith@fluendo.com>
13121
13122         * gst/gstregistryxml.c: (load_feature):
13123           Asserting on a failure to read part of the registry is Not Cool.
13124           Just log a warning and return NULL (which is already handled)
13125
13126 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
13127
13128         * win32/common/libgstbase.def:
13129           added export of gst_type_find_helper_for_buffer
13130         * win32/common/libgstbase.def:
13131           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
13132           gst_ghost_pad_get_target
13133
13134 2006-02-28  Wim Taymans  <wim@fluendo.com>
13135
13136         * docs/design/draft-klass.txt:
13137         We use Filter now.
13138         Added Connector to mark elements that are only used to
13139         allow pipeline connections.
13140         Moved Debug to extra feature since most of them are 
13141         functionally something else.
13142
13143 2006-02-28  Wim Taymans  <wim@fluendo.com>
13144
13145         * docs/design/draft-klass.txt:
13146         Some updates and clarifications.
13147
13148 2006-02-28  Wim Taymans  <wim@fluendo.com>
13149
13150         * docs/design/draft-klass.txt:
13151         Proposal for klass field values.
13152
13153         * docs/design/part-streams.txt:
13154         Start of a doc describing stream anatomy.
13155
13156 2006-02-28  Wim Taymans  <wim@fluendo.com>
13157
13158         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
13159         Help the compiler a bit with type registration.
13160         Use existing forward cod path instead of duplicating it when 
13161         handling a message.
13162         
13163         * gst/gstbus.c: (gst_bus_get_type):
13164         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
13165         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
13166         * gst/gstclock.c: (gst_clock_get_type):
13167         * gst/gstelement.c: (gst_element_get_type),
13168         * gst/gstelementfactory.c: (gst_element_factory_get_type):
13169         * gst/gstindexfactory.c: (gst_index_factory_get_type):
13170         * gst/gstminiobject.c: (gst_mini_object_get_type):
13171         * gst/gstpad.c: (gst_pad_get_type):
13172         * gst/gstsegment.c: (gst_segment_get_type):
13173         * gst/gststructure.c: (gst_structure_get_type):
13174         * gst/gstsystemclock.c: (gst_system_clock_get_type):
13175         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
13176         * gst/gstvalue.c:
13177         Help compiler with type registration.
13178
13179         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
13180         Small doc update.
13181
13182 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13183
13184         * plugins/elements/gsttypefindelement.c:
13185         (gst_type_find_element_handle_event):
13186           When we get an EOS event and have not found a type yet
13187           (most likely because we had not yet accumulated
13188           TYPE_FIND_MIN_SIZE of data yet), try to determine the
13189           type given the data we have so far. Fixes typefinding
13190           for very short streams again, most notably quicktime
13191           redirections as used on Apple's trailer site (#331701).
13192
13193 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13194
13195         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
13196         (gst_type_find_helper):
13197           Try typefinding factories with the highest rank first.
13198
13199 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13200
13201         * docs/libs/gstreamer-libs-docs.sgml:
13202         * docs/libs/gstreamer-libs-sections.txt:
13203         * libs/gst/base/gsttypefindhelper.c:
13204           Add section for typefind helper and add documentation
13205           for the old and the new function.
13206
13207 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13208
13209         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
13210         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
13211         (gst_type_find_helper_for_buffer):
13212         * libs/gst/base/gsttypefindhelper.h:
13213           New API: gst_type_find_helper_for_buffer() (#332723).
13214           
13215 2006-02-27  Michael Smith  <msmith@fluendo.com>
13216
13217         Patch by: Loïc Minier
13218
13219         * configure.ac:
13220         * docs/Makefile.am:
13221         * docs/slides/Makefile.am:
13222           prevent CVS directories getting disted.
13223
13224 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13225
13226         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
13227           Use the REFCOUNTING category for caps refcounting.
13228           
13229 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
13230
13231         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
13232           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
13233
13234 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
13235
13236         * plugins/elements/gsttypefindelement.c:
13237         (gst_type_find_element_activate):
13238           Use gst_pad_check_pull_range() before _activate_pull()
13239           to avoid unnecessary open/close (see #331690).
13240
13241 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
13242
13243         * gst/gstutils.c:
13244           Docs enhancement: make it crystal clear what the
13245           gst_pad_add_*_probe() callbacks should look like.
13246
13247 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
13248
13249         * libs/gst/base/gstbasesrc.c:
13250           Document how applications can stop recording from
13251           live sources (see #330996).
13252
13253 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13254
13255         * tests/check/Makefile.am:
13256         * tests/check/libs/basesrc.c: (eos_event_counter),
13257         (basesrc_eos_events_pull), (basesrc_eos_events_push),
13258         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
13259         (gst_basesrc_suite), (main):
13260           ... and add some tests for the base source EOS stuff.
13261
13262 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13263
13264         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
13265           Test case originally showed the problem fixed below,
13266           but was then amended. Add checks back at the place
13267           where they used to be.
13268
13269 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13270
13271         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13272         (gst_base_src_init), (gst_base_src_loop),
13273         (gst_base_src_activate_push), (gst_base_src_activate_pull),
13274         (gst_base_src_change_state):
13275         * libs/gst/base/gstbasesrc.h:
13276           Don't unconditionally send EOS when going from PAUSED to
13277           READY state, esp. make sure we don't send two EOS events
13278           in some cases (e.g. one when reaching EOS and one when
13279           going from PAUSED to READY). Also, we don't want to send
13280           EOS events when operating in pull mode. However, we do
13281           want to send an EOS event when shutting down a live
13282           source explicitly, for example (fixes #330996).
13283           
13284 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13285
13286         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13287           Update src->read_position after a seek when not using mmap.
13288           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
13289
13290 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
13291
13292         * gst/Makefile.am:
13293         * gst/gstparse.h:
13294         * gst/gstutils.c:
13295         * gst/gstutils.h:
13296         Make things work with --disable-parse as they do with 
13297         --disable-load-save - the symbols involved disappear, but the
13298         header is still installed and GST_DISABLE_PARSE is included via
13299         gstconfig.h
13300
13301 2006-02-20  Julien MOUTTE  <julien@moutte.net>
13302
13303         * libs/gst/base/gstbasetransform.c:
13304         (gst_base_transform_change_state): Fix a stupid bug. I was 
13305         sure I compiled that.
13306
13307 2006-02-20  Julien MOUTTE  <julien@moutte.net>
13308
13309         * gst/gstpad.c: (gst_pad_set_blocked_async):
13310         * gst/gstutils.c: (gst_pad_add_data_probe),
13311         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13312         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13313         (gst_pad_remove_buffer_probe): Make those function act on the
13314         ghostpad target when it's a ghostpad. (Closes #331727)
13315
13316 2006-02-20  Julien MOUTTE  <julien@moutte.net>
13317
13318         * libs/gst/base/gstbasetransform.c:
13319         (gst_base_transform_change_state): Make basetransform reusable.
13320         (Closes #331898)
13321
13322 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
13323
13324         * docs/random/release:
13325         Move the current documentation of how to do a release to the top
13326         of the file.
13327
13328         * gst/gstbin.c: (gst_bin_class_init),
13329         (gst_bin_handle_message_func):
13330         Allow multiple state-recalculation threads. (Closes #328873)
13331
13332 2006-02-19  Julien MOUTTE  <julien@moutte.net>
13333
13334         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
13335         * gst/gstpad.c: (gst_pad_set_event_function),
13336         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13337         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
13338         2 strings. You can't use the STR_NULL macro on that.
13339
13340 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
13341
13342         * gst/gstpad.c: (gst_pad_set_event_function),
13343         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13344         (gst_pad_set_getcaps_function)
13345         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
13346           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
13347           So now, we can use --gst-debug-level=5 on Windows
13348         * win32/common/libgstcontroller.def:
13349           Added export of gst_controller_init
13350         * win32/vs6/libgstcontroller.dsp:
13351           Fixed Release post build configuration
13352
13353 2006-02-17  Wim Taymans  <wim@fluendo.com>
13354
13355         * tests/check/gst/gstquery.c: (GST_START_TEST):
13356         Added another check.
13357
13358 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
13359
13360         * plugins/elements/gsttypefindelement.c: (find_peek):
13361           We can do peeks at non-zero offsets, as long as they
13362           fall within the buffer we have.
13363
13364 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
13365
13366         * tests/check/Makefile.am:
13367         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
13368         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
13369         (parse_suite), (main):
13370           Add testsuite for parse launch syntax
13371
13372 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
13373
13374         * plugins/elements/gsttypefindelement.c:
13375         (gst_type_find_element_chain):
13376           When typefinding is unsuccessful in the chain function, don't
13377           error out immediately. Only error out with NO_CAPS_FOUND if
13378           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
13379           otherwise simply wait for more data so we can try typefinding
13380           again with more data later. Also, don't attempt to typefind
13381           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
13382           this should improve typefinding from network sources where the
13383           size of the first buffer can be somewhat random.
13384
13385 2006-02-14  Wim Taymans  <wim@fluendo.com>
13386
13387         * docs/gst/gstreamer-sections.txt:
13388         * gst/gstpadtemplate.c:
13389         * gst/gstpadtemplate.h:
13390         Fix padtemplate docs, fixes #328805.
13391
13392 2006-02-14  Wim Taymans  <wim@fluendo.com>
13393
13394         * tools/gst-launch.c: (main):
13395         NO_PREROLL is not an ERROR so don't send confusing messages
13396         to the user.
13397
13398 2006-02-14  Wim Taymans  <wim@fluendo.com>
13399
13400         Patch by: Torsten Schoenfeld
13401
13402         * gst/gstregistry.c: (gst_registry_get_default),
13403         (_gst_registry_cleanup):
13404         Protect default registry with lock and ref/sink it.
13405         Fixes #324818
13406
13407 2006-02-14  Wim Taymans  <wim@fluendo.com>
13408
13409         * gst/gstbuffer.c:
13410         * gst/gstquery.c: (gst_query_list_add_format),
13411         (gst_query_set_formatsv), (gst_query_parse_formats_length),
13412         (gst_query_parse_formats_nth):
13413         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13414         Docs fixes.
13415
13416 2006-02-14  Wim Taymans  <wim@fluendo.com>
13417
13418         * docs/gst/gstreamer-sections.txt:
13419         Reworked query docs.
13420
13421         * gst/gstquery.c: (gst_query_new_formats),
13422         (gst_query_list_add_format), (gst_query_set_formats),
13423         (gst_query_set_formatsv), (gst_query_parse_formats_length),
13424         (gst_query_parse_formats_nth):
13425         * gst/gstquery.h:
13426         Flesh out formats query, added some new methods.
13427         Fix part of #324398.
13428
13429         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
13430         Added query creation tests.
13431
13432 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
13433
13434         * gst/gstpad.c: (fixate_value):
13435         Add a default fixation for fraction lists.
13436
13437 2006-02-13  Wim Taymans  <wim@fluendo.com>
13438
13439         * gst/gsttask.c: (gst_task_init), (gst_task_func),
13440         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
13441         (gst_task_join):
13442         * gst/gsttask.h:
13443         Detect and warn for obvious deadlocks. fixes #320340
13444         Fix error case where lock was not released.
13445
13446         * tests/check/Makefile.am:
13447         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
13448         (task_func), (gst_element_suite), (main):
13449         Add task check.
13450
13451 2006-02-13  Wim Taymans  <wim@fluendo.com>
13452
13453         * docs/gst/gstreamer-sections.txt:
13454         * gst/gstbus.c:
13455         Add new functions to docs.
13456
13457 2006-02-13  Wim Taymans  <wim@fluendo.com>
13458
13459         * docs/design/part-TODO.txt:
13460         Updated TODO list, basesrc supports seeking to non-bytes
13461         formats.
13462
13463         * docs/design/part-element-sink.txt:
13464         Update docs.
13465
13466         * gst/gstbin.c: (bin_replace_message),
13467         (gst_bin_handle_message_func):
13468         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
13469         * gst/gstevent.c: (gst_event_finalize):
13470         * gst/gstpad.c: (gst_pad_event_default_dispatch),
13471         (gst_pad_send_event):
13472         Use shiny new _TYPE_NAME macros.
13473
13474         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
13475         Move debug statement up.
13476
13477         * gst/gstelement.c: (gst_element_set_locked_state):
13478         Add some debugging.
13479
13480 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
13481
13482         * docs/gst/gstreamer-sections.txt:
13483         * gst/gstmessage.h:
13484         * gst/gstquery.h:
13485           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
13486           macros (#330906). Also, document the already existing
13487           GST_QUERY_TYPE macro.
13488
13489 2006-02-13  Wim Taymans  <wim@fluendo.com>
13490
13491         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
13492         (event_probe), (GST_START_TEST):
13493         Only events up to the pipeline EOS are counted, there are
13494         some more when going to NULL currently which we don't care
13495         about for now.
13496
13497 2006-02-13  Wim Taymans  <wim@fluendo.com>
13498
13499         * gst/gstpad.c: (gst_pad_send_event):
13500         Correctly check flushing and emit probes. fixes #330125
13501
13502 2006-02-10  Andy Wingo  <wingo@pobox.com>
13503
13504         * gst/gstbus.c (gst_bus_class_init): Declare our private data
13505         structure.
13506         (gst_bus_init): Cache the location of the private data in the
13507         instance structure.
13508         (gst_bus_enable_sync_message_emission) 
13509         (gst_bus_disable_sync_message_emission): Implement new public
13510         functions.
13511         (gst_bus_post): Emit the sync-message signal if the user asked for
13512         it. Fixes #330684.
13513
13514         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
13515         location of the bus-private structure.
13516         (gst_bus_enable_sync_message_emission)
13517         (gst_bus_disable_sync_message_emission): API addition
13518
13519 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
13520
13521         Patch by: Vincent Torri
13522
13523         * docs/pwg/building-boiler.xml:
13524         PWG patch from #326800
13525
13526 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
13527
13528         * configure.ac:
13529         * docs/Makefile.am:
13530         * docs/design/Makefile.am:
13531           Dist design docs.
13532
13533 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
13534
13535         * configure.ac:
13536           back to CVS
13537
13538 === release 0.10.3 ===
13539
13540 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
13541
13542         * configure.ac:
13543           releasing 0.10.3, "Like a virgin"
13544
13545 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
13546
13547         * configure.ac:
13548           2nd prerelease of 0.10.3
13549           Bump libtool versioning.
13550
13551 2006-02-07  Andy Wingo  <wingo@pobox.com>
13552
13553         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
13554         update last_stop if we're in TIME format and the timestamp is
13555         valid.
13556
13557         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
13558         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
13559         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
13560         If we get a new newsegment with a different format, adapt
13561         accordingly.
13562
13563         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
13564         of 0. Not a problem, really.
13565
13566         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
13567         warn if sync=true.
13568
13569 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
13570
13571         * configure.ac:
13572           Prelease of 0.10.3
13573
13574 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
13575
13576         * win32/vs7:
13577           project files updated to the default vs7 configuration
13578         * win32/common/libgstbase.def:
13579         * win32/common/libgstreamer.def:
13580           added new symbols,
13581           removed empty lines,
13582           sorted all exported symbols alphabetically
13583         * win32/common/dirent.c:
13584         * win32/common/dirent.h:
13585         * win32/common/gchar.h:
13586           use windows line end.
13587           
13588 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
13589
13590         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13591           Send EOS event when stopping.
13592
13593 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
13594
13595         * docs/README:
13596           Tell folks what to do if the plugin-foobar.xml file
13597           hasn't been generated for a newly-added plugin.
13598
13599 2006-02-05  Julien MOUTTE  <julien@moutte.net>
13600
13601         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
13602         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
13603         (gst_collect_pads_start), (gst_collect_pads_stop),
13604         (gst_collect_pads_event): Collectpads now holds a reference
13605         to the GstPad that was added. Indeed we don't want to look
13606         at pads that might just go away with no warning...
13607
13608 2006-02-05  Julien MOUTTE  <julien@moutte.net>
13609
13610         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
13611         (gst_collect_pads_start), (gst_collect_pads_stop),
13612         (gst_collect_pads_event), (gst_collect_pads_chain):
13613         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
13614         Mark Nauwelaerts's patch on bug #328491.
13615
13616 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
13617
13618         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
13619         (gst_utils_suite):
13620           Add some simple tests for gst_parse_bin_from_description() and
13621           gst_bin_find_unconnected_pad() (#329069).
13622
13623 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
13624
13625         * tools/gst-launch.c: (event_loop), (main):
13626           Catch errors during preroll (#320084).
13627
13628 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
13629
13630         * plugins/elements/gsttypefindelement.c:
13631         (gst_type_find_element_activate):
13632           Post TYPE_NOT_FOUND error message when typefinding
13633           is unsuccessful in the activate function as well.
13634
13635 2006-02-02  Wim Taymans  <wim@fluendo.com>
13636
13637         * docs/design/part-element-sink.txt:
13638         Updated doc.
13639
13640 2006-02-02  Wim Taymans  <wim@fluendo.com>
13641
13642         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
13643         (gst_base_sink_render_object),
13644         (gst_base_sink_queue_object_unlocked):
13645         Only keep track of prerollable items when we are 
13646         prerolling.
13647         Before rendering after preroll, always check if we
13648         have queued items.
13649         Added some more debugging.
13650
13651 2006-02-02  Wim Taymans  <wim@fluendo.com>
13652
13653         * gst/gstelement.c: (gst_element_continue_state),
13654         (gst_element_set_state_func), (gst_element_change_state):
13655         Fixed #326576, been running this for quite some time with
13656         no regressions at all.
13657
13658 2006-02-02  Wim Taymans  <wim@fluendo.com>
13659
13660         * common/gst.supp:
13661         Added more suppressions
13662
13663 2006-02-02  Wim Taymans  <wim@fluendo.com>
13664
13665         * docs/design/part-element-sink.txt:
13666         Updated document.
13667
13668         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13669         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
13670         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
13671         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
13672         (gst_base_sink_do_sync), (gst_base_sink_render_object),
13673         (gst_base_sink_preroll_object),
13674         (gst_base_sink_queue_object_unlocked),
13675         (gst_base_sink_queue_object), (gst_base_sink_event),
13676         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
13677         (gst_base_sink_loop), (gst_base_sink_activate_pull),
13678         (gst_base_sink_get_position), (gst_base_sink_change_state):
13679         * libs/gst/base/gstbasesink.h:
13680         Totally refactored matching the design doc.
13681         Use two segments, one to clip incomming buffers and another to
13682         perform sync.
13683         Handle queueing correctly, bypass the queue when playing.
13684         Make EOS cancelable.
13685         Handle errors correctly when operating in pull based mode.
13686
13687         * tests/check/elements/fakesink.c: (GST_START_TEST),
13688         (fakesink_suite):
13689         Added new check for sinks.
13690
13691 2006-02-02  Wim Taymans  <wim@fluendo.com>
13692
13693         * gst/gstsegment.c: (gst_segment_clip):
13694         No reason to refuse to clip when start == -1
13695
13696 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
13697
13698         * docs/README:
13699         * docs/manual/intro-basics.xml:
13700         * docs/manual/intro-preface.xml:
13701         * docs/manual/manual.xml:
13702         * docs/pwg/advanced-dparams.xml:
13703         * docs/pwg/intro-basics.xml:
13704         * docs/pwg/intro-preface.xml:
13705         * docs/pwg/pwg.xml:
13706           describe dparams (controller) for plugins
13707           unify docs a little more
13708
13709 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
13710
13711         * docs/gst/gstreamer-sections.txt:
13712         * gst/gstutils.c: (element_find_unconnected_pad),
13713         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
13714         * gst/gstutils.h:
13715           Add new API: gst_parse_bin_from_description() and
13716           gst_bin_find_unconnected_pad() (#329069).
13717
13718 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
13719
13720         * docs/manual/README:
13721           uncover a nasty detail of the docs build
13722
13723 2006-01-31  Wim Taymans  <wim@fluendo.com>
13724
13725         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
13726         Don't cache duration messages if we're not going to use or
13727         free them.
13728
13729 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
13730
13731         * docs/manual/advanced-dparams.xml:
13732         * docs/pwg/advanced-dparams.xml:
13733           more dparam docs
13734         * gst/gstindex.c:
13735           fix docs
13736         * libs/gst/controller/lib.c: (gst_controller_init):
13737           init just once
13738
13739 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13740
13741         * gst/gstelement.c: (gst_element_message_full):
13742           also show file/line/func if no additional debug was given
13743
13744 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
13745         
13746         * win32/vs7/grammar.vcproj:
13747           activate copy of autogenerated files for Release mode
13748
13749 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
13750         
13751         * win32/common/libgstreamer.def:
13752           export gst_value_compare
13753
13754 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
13755
13756         * plugins/elements/Makefile.am:
13757         * plugins/elements/gstelements.c:
13758         * plugins/elements/gstfdsink.c: (_do_init),
13759         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
13760         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
13761         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
13762         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
13763         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
13764         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
13765         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
13766         * plugins/elements/gstfdsink.h:
13767         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
13768
13769 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
13770
13771         * docs/manual/advanced-dparams.xml:
13772           describe controller
13773         * docs/manual/advanced-position.xml:
13774         * docs/manual/basics-init.xml:
13775         * docs/manual/manual.xml:
13776         * docs/manual/titlepage.xml:
13777         * docs/pwg/pwg.xml:
13778         * docs/pwg/titlepage.xml:
13779           cleanup xml (more to come)
13780         * libs/gst/controller/gstcontroller.c:
13781           fix typo
13782
13783 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
13784         
13785         * win32/vs6/grammar.dsp:
13786           add autogen of gstmarshal.c,h for Release mode
13787                 
13788 2006-01-30  Wim Taymans  <wim@fluendo.com>
13789
13790         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13791         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
13792         (gst_base_sink_handle_object), (gst_base_sink_event),
13793         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
13794         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13795         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
13796         (gst_base_sink_deactivate), (gst_base_sink_activate),
13797         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
13798         (gst_base_sink_query), (gst_base_sink_change_state):
13799         Basesink cleanups, remove some old code.
13800         Handle the case where a subclass can preroll in the render
13801         method (mostly audiosinks).
13802         Handle more events.
13803         Remove some locks around variables that are now protected
13804         with the PREROLL_LOCK (clock_id, flushing, ..).
13805         Optimize position query some more, do correct locking.
13806         Remove old code to push queue in state change, this is not
13807         needed anymore since preroll blocks on all prerollable items 
13808         now.
13809         Almost implemented as described in design doc.
13810
13811 2006-01-30  Wim Taymans  <wim@fluendo.com>
13812
13813         * tests/check/gst/gstbin.c: (GST_START_TEST):
13814         Wait for refcount to settle down before checking.
13815
13816 2006-01-30  Wim Taymans  <wim@fluendo.com>
13817
13818         * docs/design/part-element-sink.txt:
13819         Pseudo code overview of desired sink behaviour regarding
13820         preroll.
13821
13822 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
13823         * win32/vs6/grammar.dsp:
13824           fix some bugs in Release mode for autogenerated files
13825                 
13826 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
13827         * win32/common/libgstbase.def:
13828         * win32/common/libgstreamer.def:
13829           export some new symbols: gst_base_src_set_format,
13830           gst_iterator_next, gst_structure_set_valist
13831
13832 2006-01-29  Julien MOUTTE  <julien@moutte.net>
13833
13834         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13835         Set pad functions unconditionally. Fixes #329105.
13836
13837 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
13838         * win32/vs8:
13839           add vs8 project files created by Sergey Scobich
13840
13841 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
13842
13843         * gst/gstutils.c: (gst_element_unlink_pads):
13844         Don't leak pad references.
13845
13846         * tests/check/elements/fakesink.c: (GST_START_TEST):
13847         * tests/check/generic/sinks.c: (GST_START_TEST):
13848         * tests/check/generic/states.c: (GST_START_TEST):
13849         * tests/check/gst/gstbin.c: (GST_START_TEST):
13850         * tests/check/gst/gstcaps.c: (GST_START_TEST):
13851         * tests/check/gst/gstelement.c: (GST_START_TEST):
13852         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13853         * tests/check/gst/gstiterator.c: (GST_START_TEST):
13854         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13855         Fix a bunch of leaks. Make generic/sinks.c
13856         use a bit less cpu by slowing the buffer rate
13857         between fakesrc and fakesink.
13858         
13859 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
13860         * gst/gstcaps.c:
13861         * gst/gstelement.c: (gst_element_send_event):
13862         * gst/gstevent.c:
13863         * gst/gstinfo.c:
13864         * gst/gstiterator.c:
13865         * gst/gstiterator.h:
13866         * gst/gstpad.c: (gst_pad_send_event):
13867         * gst/gststructure.c:
13868         * gst/gsturi.c:
13869         * gst/gstutils.c:
13870         * gst/gstvalue.c:
13871         * libs/gst/base/gstadapter.c:
13872           doc fixes, to link to function, just write gst_cool_function(), don't
13873           prefix with '#'
13874
13875 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
13876
13877         * plugins/elements/gsttee.c: (gst_tee_do_push),
13878         (gst_tee_handle_buffer):
13879         Always prefer an actual return value from a src
13880         pad in place of NOT_LINKED. This means we return
13881         WRONG_STATE when all src pads are WRONG_STATE
13882         instead of NOT_LINKED.
13883
13884         Lock when replacing the last message to prevent
13885         racing with the get_property method.
13886
13887         Add debug output
13888
13889 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
13890
13891         * tests/check/Makefile.am:
13892         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
13893         (main):
13894         Add a very simple check that should have caught the memleak I fixed
13895         last night (if not for the slice allocator hiding it)
13896
13897 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
13898
13899         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
13900         (gst_bin_remove_func), (gst_bin_handle_message_func),
13901         (bin_query_duration_fold), (bin_query_generic_fold):
13902         Clean up references to the clock provider when disposed or when
13903         handling a clock-lost message from it.
13904
13905         Unref sinks when performing a query via gst_iterator_fold, as the
13906         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
13907
13908         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
13909         (gst_clock_set_master):
13910         Drop our reference to the master clock, if any, when we are disposed.
13911
13912         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
13913         Chain up in dispose. 
13914
13915 2006-01-26  Wim Taymans  <wim@fluendo.com>
13916
13917         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
13918         Add some debugging.
13919
13920 2006-01-26  Julien MOUTTE  <julien@moutte.net>
13921
13922         * plugins/elements/gsttee.c: (gst_tee_do_push),
13923         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
13924         handles pad being NOT_LINKED or in WRONG_STATE.
13925
13926 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
13927
13928         * win32/MANIFEST:
13929           more updating
13930
13931 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
13932
13933         * win32/MANIFEST:
13934           remove obsolete entry
13935
13936 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
13937
13938         * docs/gst/gstreamer-sections.txt:
13939         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
13940         (gst_bin_iterate_sources), (gst_bin_send_event):
13941         * gst/gstbin.h:
13942         * gst/gstelement.c: (gst_element_send_event):
13943         * gst/gstevent.c:
13944         * gst/gstpad.c: (gst_pad_send_event):
13945           added code for downstream events, reviewed docs in gstevent.c
13946
13947 2006-01-25  Julien MOUTTE  <julien@moutte.net>
13948
13949         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
13950         We only query position using the clock in the playing state.
13951         Query peer in the other cases.
13952         * win32/common/config.h: Updates.
13953
13954 2006-01-24  Wim Taymans  <wim@fluendo.com>
13955
13956         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
13957         A clock entry that is scheduled for the exact time of the
13958         clock is still in time.
13959
13960         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13961         (gst_base_sink_do_sync):
13962         Add some more debug info.
13963
13964 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
13965
13966         * win32/vs7:
13967           Add new vs7 project files and solution.
13968
13969 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
13970
13971         * win32/vs7:
13972           all files removed as they were out-dated.
13973
13974 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13975
13976         * docs/random/release:
13977           update notes
13978         * gst/gstbin.c: (gst_bin_init):
13979         * gst/gstbus.c: (gst_bus_new):
13980         * gst/gstbus.h:
13981         * gst/gstpipeline.c: (gst_pipeline_init):
13982           use gst_bus_new(), improve logging, fix docs
13983         * win32/common/config.h:
13984           update for cvs build
13985
13986 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
13987
13988         * autogen.sh:
13989           up required version of automake to 1.7
13990
13991 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
13992
13993         * win32/common/libgstreamer.def:
13994           export gst_buffer_is_metadata_writable
13995
13996 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
13997
13998         * docs/gst/gstreamer-sections.txt:
13999         * gst/gstevent.h:
14000           Add gst_event_replace() (#327001)
14001
14002 2006-01-20  Wim Taymans  <wim@fluendo.com>
14003
14004         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14005         Make it actually compile too..
14006
14007 2006-01-20  Wim Taymans  <wim@fluendo.com>
14008
14009         * gst/gstcaps.c:
14010         Clarify behaviour of _is_equal() when passing NULL parameters.
14011
14012         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14013         (gst_pad_set_caps):
14014         Cleanups. Don't unref NULL caps.
14015         When setting the same caps, protect caps of the pad with
14016         proper lock.
14017         Use full functionality of _is_equal() when comparing caps.
14018
14019 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
14020
14021         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
14022         Don't loop infinitely if there are no buffers to present. Partially
14023         fixes #327197, but collectpads is just broken for reusing elements
14024         to do multiple encodes atm.
14025
14026 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
14027
14028         * tools/gst-inspect.c: (print_element_features):
14029         * tools/gst-xmlinspect.c: (main):
14030         URL_HANDLER is not a plugin feature we can search for in
14031         the registry.
14032
14033 2006-01-19  Edward Hervey  <edward@fluendo.com>
14034
14035         * gst/gstelement.c: (gst_element_pads_activate): 
14036         When activating, do src pads first, then sink pads.
14037         When de-activating, do sink pads first, then src pads.
14038
14039 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
14040
14041         * docs/gst/gstreamer-sections.txt:
14042         Add gst_index_add_associationv to the docs
14043
14044 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
14045
14046         * gst/gstevent.c:
14047           Fix docs typo
14048
14049         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
14050         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
14051           Do some refactoring. Doesn't actually change functionality,
14052           but makes landing the DRAIN event easier later.
14053
14054 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
14055
14056         * docs/pwg/advanced-scheduling.xml:
14057           Update from 0.9.x to 0.10 API and make example a bit
14058           clearer.
14059
14060 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
14061
14062         * docs/gst/gstreamer-sections.txt:
14063         Add gst_buffer_(is|make)_metadata_writable methods.
14064
14065 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
14066
14067         * docs/design/part-sparsestreams.txt:
14068         Update sparse streams doc, hopefully for greater clarity
14069
14070 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
14071
14072         * docs/design/part-events.txt:
14073         Remove mention of FILLER events.
14074         Add DRAIN event.
14075
14076         * docs/design/part-sparsestreams.txt:
14077         Write some things about using NEWSEGMENT to keep sparse streams
14078         flowing.
14079
14080 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
14081
14082         * gst/gstbin.c: (gst_bin_dispose):
14083           Guard gst_object_unref call against a NULL object (dispose
14084           can theoretically be called multiple times).
14085           
14086 2006-01-18  Wim Taymans  <wim@fluendo.com>
14087
14088         * gst/gstbin.c: (gst_bin_element_set_state):
14089         * gst/gstclock.c: (gst_clock_id_wait):
14090         Added some more debug info.
14091
14092         * libs/gst/base/gstadapter.c:
14093         Added more docs.
14094
14095         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14096         (gst_base_sink_do_sync), (gst_base_sink_chain):
14097         Added some comments.
14098
14099 2006-01-18  Wim Taymans  <wim@fluendo.com>
14100
14101         * tests/check/Makefile.am:
14102         * tests/check/elements/fakesink.c: (chain_async_buffer),
14103         (chain_async), (chain_async_return), (GST_START_TEST),
14104         (fakesink_suite), (main):
14105         Added fakesink test that checks prerolling and clipping
14106         behaviour.
14107
14108         * tests/check/gst/gstutils.c: (GST_START_TEST):
14109         Make check run faster so that buildbots don't timeout.
14110
14111 2006-01-18  Wim Taymans  <wim@fluendo.com>
14112
14113         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14114         (gst_base_sink_do_sync):
14115         Some cleanups.
14116         When the sink finishes blocking on the preroll buffer, it can
14117         immediatly render it instead of rendering when the next buffer
14118         arrives.
14119
14120 2006-01-18  Wim Taymans  <wim@fluendo.com>
14121
14122         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
14123         (gst_base_sink_get_property), (gst_base_sink_do_sync),
14124         (gst_base_sink_chain):
14125         Small cleanups.
14126         GST_ELEMENT_CLOCK and sync are protected with LOCK.
14127         Don't store _last_stop if the buffer is dropped.
14128
14129 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
14130
14131         * plugins/elements/gsttypefindelement.c:
14132         (gst_type_find_element_class_init):
14133           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
14134           object method handler that sets the caps on the pad and we want
14135           that to happen before we emit the signal (fixes e.g. feeding a
14136           plain text file to decodebin).
14137
14138 2006-01-18  Christian Schaller  <Christian@fluendo.com>
14139
14140         * gst/gstplugin.c: Add MPL and Proprietary as license options
14141
14142 2006-01-18  Andy Wingo  <wingo@pobox.com>
14143
14144         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
14145         symbol was exported before, it appears this was just an oversight.
14146         Fixes #168703.
14147         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
14148
14149         * gst/gstindex.c (gst_index_add_associationv): Changed int in
14150         prototype to gint. OK since this prototype was not in the header.
14151
14152 2006-01-17  Andy Wingo  <wingo@pobox.com>
14153
14154         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
14155         registry while we remove plugins.
14156
14157         * tools/gst-inspect.c (print_element_info): Don't unref the
14158         factory arg, that should be the responsibility of whatever code
14159         received the ref. Fixes a double-free when called from
14160         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
14161         (main): Unref the factory if we have one.
14162         (print_element_list): No change -- relies on the
14163         plugin_feature_list_free to free the list of features.
14164
14165 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
14166
14167         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
14168         (gst_buffer_make_metadata_writable):
14169         * gst/gstbuffer.h:
14170         * libs/gst/base/gstbasetransform.c:
14171         (gst_base_transform_prepare_output_buf):
14172         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14173         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14174           Replace gst_buffer_(make|is)_metadata_writable patch now
14175           that the release is out.
14176
14177 2006-01-17  Andy Wingo  <wingo@pobox.com>
14178
14179         * gst/gstregistry.c: Reflow design comment. Update so as to speak
14180         in the present tense without reference to versions.
14181
14182         * gst/gstregistry.c (gst_registry_add_plugin)
14183         (gst_registry_remove_plugin, gst_registry_remove_feature)
14184         (gst_registry_find_feature, gst_registry_get_feature_list)
14185         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
14186         (gst_registry_lookup, gst_registry_scan_path)
14187         (_gst_registry_remove_cache_plugins)
14188         (gst_registry_get_feature_list_by_plugin): Add argument
14189         validation.
14190
14191 === release 0.10.2 ===
14192
14193 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
14194
14195         * configure.ac:
14196           releasing 0.10.2, "If man is five"
14197
14198 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
14199
14200         * gst/gstbuffer.c:
14201         * gst/gstbuffer.h:
14202         * libs/gst/base/gstbasetransform.c:
14203         (gst_base_transform_prepare_output_buf):
14204         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14205         * tests/check/gst/gstbuffer.c: (gst_test_suite):
14206           Back out patch until after the release.
14207
14208 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
14209
14210         * gst/gstminiobject.c:
14211           Spelling fix in docs.
14212         * ChangeLog - remove conflict indicator
14213
14214 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
14215
14216         Reviewed By: Andy Wingo
14217
14218         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
14219         (gst_buffer_make_metadata_writable):
14220         * gst/gstbuffer.h:
14221           Add gst_buffer_(is|make)_metadata_writable as analogues of
14222           gst_buffer_(is|make)_writable.
14223
14224         * libs/gst/base/gstbasetransform.c:
14225         (gst_base_transform_prepare_output_buf):
14226         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14227           Use name gst_buffer_(is|make)_metadata_writable functions.
14228
14229         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14230           Test gst_buffer_(is|make)_metadata_writable
14231         
14232           (Closes: #324162)
14233
14234 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14235
14236         * docs/manual/Makefile.am:
14237           don't do parallel make
14238         * configure.ac:
14239           AC_SUBST HOST_CPU
14240         * win32/common/config.h.in:
14241           add generations for HOST_CPU and GST_MAJORMINOR
14242         * win32/common/config.h:
14243           commit generated result
14244
14245 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
14246
14247         * docs/manual/appendix-integration.xml:
14248           Update GNOME integration section to use gst_init_get_option_group()
14249           instead of the old popt stuff (#322911). Also, GNOME applications
14250           should  now use gconf*sink and gconf*src instead of the old gconf
14251           helper lib we had.
14252
14253 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
14254
14255
14256         * docs/gst/gstreamer-docs.sgml:
14257         * docs/gst/gstreamer-sections.txt:
14258         * docs/libs/gstreamer-libs-sections.txt:
14259           add new API entries to the docs
14260         * libs/gst/controller/Makefile.am:
14261         * libs/gst/controller/gstcontroller.c:
14262         * libs/gst/controller/gstcontroller.h:
14263         * libs/gst/controller/gstcontrollerprivate.h:
14264         * libs/gst/controller/gsthelper.c:
14265         * libs/gst/controller/gstinterpolation.c:
14266           move private structs to private header
14267         * po/README:
14268           gstreamer-0.7 -> gstreamer-0.10
14269         * tests/check/libs/struct_i386.h:
14270           remove private structs
14271
14272 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14273
14274         * plugins/indexers/Makefile.am:
14275           Fixes as part of #317048
14276
14277 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14278
14279         * plugins/indexers/Makefile.am:
14280           fix #316086 - compilation when mmap is missing
14281
14282 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
14283
14284         * libs/gst/base/gstbasesink.c:
14285           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
14286           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
14287         * win32/common/config.h:
14288           added some defines GST_MAJORMINOR and HOST_CPU
14289         * win32/common/libgstbase.def:
14290         * win32/common/libgstreamer.def:
14291           added some exported functions.
14292
14293 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
14294
14295         * libs/gst/controller/gstcontroller.c:
14296         (gst_controlled_property_set_interpolation_mode),
14297         (gst_controlled_property_new):
14298         * libs/gst/controller/gstcontroller.h:
14299         * libs/gst/controller/gstinterpolation.c:
14300         (interpolate_none_get_string_value_array):
14301           make G_TYPE_STRING controlable
14302
14303 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
14304
14305         * tools/README:
14306         * tools/gst-feedback.1.in:
14307         * tools/gst-inspect.1.in:
14308         * tools/gst-launch.1.in:
14309         * tools/gst-md5sum.1.in:
14310         * tools/gst-typefind.1.in:
14311         * tools/gst-xmlinspect.1.in:
14312         * tools/gst-xmllaunch.1.in:
14313           cleanup man-pages, remove reference to gst-register, document env-vars
14314
14315 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
14316
14317         * gst/gstbuffer.c: (gst_buffer_span):
14318           gst_buffer_span should copy the timestamp of the first buffer
14319           if they were both originally overlapping subbuffers of the 
14320           same parent, using the same logic as the 'slow copy' case.
14321
14322 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
14323
14324         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
14325           Need to awaken ALL the pads when we pop a buffer, otherwise
14326           collectpads only works when there is 2 input streams.
14327
14328 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
14329
14330         * docs/random/ensonic/media-device-daemon.txt:
14331           more ideas (dbus)
14332         * gst/gstbuffer.c:
14333           fix doc example, add clarification
14334         * tools/gst-launch.1.in:
14335           add initial info about GST_PLUGIN_PATH, needs more work
14336
14337 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
14338
14339         * docs/manual/basics-bins.xml:
14340         * docs/manual/basics-elements.xml:
14341         * docs/manual/intro-basics.xml:
14342           Some more minor docs additions and updates.
14343
14344 2006-01-11  Wim Taymans  <wim@fluendo.com>
14345
14346         * docs/manual/basics-bins.xml:
14347         * docs/manual/basics-elements.xml:
14348         Some small fixes as pointed out by Ser-ver on IRC.
14349
14350 2006-01-10  Edward Hervey  <edward@fluendo.com>
14351
14352         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
14353         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
14354         the single-segment mode.
14355
14356 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
14357
14358         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14359
14360         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
14361         (gst_base_src_perform_seek), (gst_base_src_send_event),
14362         (gst_base_src_set_property), (gst_base_src_get_property),
14363         (gst_base_src_loop), (gst_base_src_start),
14364         (gst_base_src_activate_push):
14365         * libs/gst/base/gstbasesrc.h:
14366           Name (private) union; makes Sun's Forte compiler happy (#324900).
14367
14368 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
14369
14370         * README:
14371           gst-register is gone.
14372
14373 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14374
14375         * gst/gstvalue.c: (_gst_value_initialize):
14376           make the G_TYPE_DATE instantiation work if debug is disabled
14377
14378 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
14379
14380         * gst/gstmessage.c: (gst_message_parse_tag),
14381         (gst_message_parse_error), (gst_message_parse_warning):
14382           Don't crash when return location for error/warning debug
14383           string is NULL; add fact that return locations can be
14384           NULL to docs where appropriate.
14385
14386 2006-01-05  Wim Taymans  <wim@fluendo.com>
14387
14388         * gst/gstplugin.c: (gst_plugin_load_file):
14389         Replace strdup by g_strdup.
14390
14391 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14392
14393         * docs/pwg/advanced-types.xml:
14394           fix doc borkage
14395
14396 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14397
14398         submitted by: Abel Cheung
14399
14400         * po/LINGUAS:
14401         * po/zh_TW.po:
14402           Added Chinese (traditional) translation
14403
14404 2006-01-04  Wim Taymans  <wim@fluendo.com>
14405
14406         * docs/manual/basics-pads.xml:
14407         * docs/plugins/Makefile.am:
14408         * docs/plugins/gstreamer-plugins-docs.sgml:
14409         * docs/plugins/gstreamer-plugins-sections.txt:
14410         * docs/pwg/advanced-clock.xml:
14411         * docs/pwg/advanced-scheduling.xml:
14412         * docs/pwg/advanced-types.xml:
14413         * plugins/elements/gstfdsink.c:
14414         * plugins/elements/gstfdsrc.c:
14415         * plugins/elements/gstfdsrc.h:
14416         * plugins/elements/gstidentity.c: (gst_identity_class_init):
14417         * plugins/elements/gstidentity.h:
14418         * plugins/elements/gstqueue.h:
14419         * plugins/elements/gsttee.c:
14420         * plugins/elements/gsttee.h:
14421         * plugins/elements/gsttypefindelement.c:
14422         (gst_type_find_element_class_init):
14423         * plugins/elements/gsttypefindelement.h:
14424         Small updates to various docs.
14425         Added core plugins to docs.
14426
14427 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14428
14429         * common/gst.supp:
14430           add a suppression for liboil's uninitialized variable
14431
14432 2006-01-02  James Livingston  <jrl at ids dot org dot au>
14433
14434         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14435
14436         * gst/gstutils.h:
14437           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
14438           macro, so that gcc doesn't complain if the -Wmissing-prototypes
14439           compiler switch is being used (#325429).
14440
14441 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
14442
14443         * gst/gstbin.c: (gst_bin_query):
14444           Disable duration query caching in bins until it gets
14445           fixed (see #324807).
14446
14447 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
14448
14449         * tools/gst-inspect.c: (print_element_properties_info):
14450           Handle properties of POINTER and BOXED type.
14451
14452 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
14453
14454         * gst/gst.c: (init_post):
14455           Init tags stuff and some other things before loading
14456           any static plugins (there may be other static plugins
14457           than just the GStreamer ones, and they may want to
14458           register their own tags or formats or whatever, and
14459           preferably without segfaulting).
14460
14461         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
14462           Print at least a warning in the debug logs if we drop a
14463           query just because we don't know how to adjust the value
14464           in the particular format.
14465
14466 2005-12-24  David Schleef  <ds@schleef.org>
14467
14468         * tools/gstreamer-completion:
14469           Replacement for gst-complete written in sh and sed.  Only
14470           completes names of features, but that's 90% of what I want
14471           it for.  Properties are not available in registry.xml.  (Maybe
14472           they should be...)
14473
14474 === release 0.10.1 ===
14475
14476 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
14477
14478         * configure.ac:
14479           releasing 0.10.1, "Nollaig chridheil"
14480
14481 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
14482
14483         * docs/faq/cvs.xml:
14484           Add missing quote, should be make ERROR_CFLAGS="".
14485
14486 2005-12-20  Wim Taymans  <wim@fluendo.com>
14487
14488         * docs/design/part-trickmodes.txt:
14489         More documentation on trickmodes.
14490
14491 2005-12-20  Edward Hervey  <edward@fluendo.com>
14492
14493         * gst/gstcaps.c: (gst_static_caps_get_type):
14494         * gst/gstcaps.h:
14495           API addition: GST_TYPE_STATIC_CAPS
14496         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
14497         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
14498         * gst/gstpadtemplate.h:
14499           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
14500         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
14501         bindings.
14502
14503 2005-12-18  Wim Taymans  <wim@fluendo.com>
14504
14505         * libs/gst/base/gstadapter.c:
14506         * libs/gst/base/gstadapter.h:
14507         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14508         (gst_base_sink_get_position):
14509         * libs/gst/base/gstbasesink.h:
14510         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14511         (gst_base_src_default_query), (gst_base_src_default_do_seek),
14512         (gst_base_src_do_seek), (gst_base_src_perform_seek),
14513         (gst_base_src_send_event), (gst_base_src_update_length),
14514         (gst_base_src_get_range), (gst_base_src_loop),
14515         (gst_base_src_start):
14516         * libs/gst/base/gstbasesrc.h:
14517         * libs/gst/base/gstbasetransform.h:
14518         * libs/gst/base/gstcollectpads.h:
14519         * libs/gst/base/gstpushsrc.c:
14520         * libs/gst/base/gstpushsrc.h:
14521         * libs/gst/dataprotocol/dataprotocol.c:
14522         * libs/gst/dataprotocol/dataprotocol.h:
14523         * libs/gst/net/gstnetclientclock.h:
14524         * libs/gst/net/gstnettimeprovider.h:
14525         Documentation updates.
14526
14527 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
14528
14529         * docs/manual/basics-helloworld.xml:
14530           Remove superfluous closing bracket in helloworld example.
14531
14532 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
14533
14534         * tools/gst-launch.1.in:
14535           Update gst-launch man page; add a section with useful
14536           environment variables. Fixes #323882.
14537
14538 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
14539
14540         * gst/gst.c:
14541         * gst/gst_private.h:
14542           change some char* into char[]
14543
14544 2005-12-16  Wim Taymans  <wim@fluendo.com>
14545
14546         * gst/gstregistryxml.c: (load_feature):
14547         Cleanups.
14548         Don't use g_object_unref on GstObjects so that we avoid
14549         leaks on unsafe glibs.
14550
14551 2005-12-16  Wim Taymans  <wim@fluendo.com>
14552
14553         * gst/gstbin.c: (gst_bin_recalc_state):
14554         Small doc updates.
14555
14556 2005-12-16  Wim Taymans  <wim@fluendo.com>
14557
14558         * common/check.mak:
14559         Added make forever target for check.
14560
14561 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14562
14563         * gst/gst.c: (init_post):
14564           make the registry cache file HOST_CPU-dependent
14565
14566 2005-12-16  Andy Wingo  <wingo@pobox.com>
14567
14568         * plugins/elements/gstbufferstore.c
14569         (gst_buffer_store_cleared_func): Pay attention to g_list_append
14570         return value.
14571
14572         * tests/check/gst/gstobject.c
14573         (test_fake_object_name_threaded_unique): Pay attention to
14574         g_list_sort return value.
14575
14576 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
14577
14578         * tools/gst-feedback-m.m:
14579           Update for 0.9/0.10 (fixes #323870).
14580
14581 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
14582
14583         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
14584           Fix lcopy for mini objects, the mini object needs to be ref'ed.
14585           
14586         * tests/check/gst/gstminiobject.c: (my_foo_init),
14587         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
14588         (test_value_collection), (gst_mini_object_suite):
14589           Add test to ensure refcounts end up as expected when passing
14590           GstMiniObjects through g_object_get() and g_object_set().
14591
14592 2005-12-14  Julien MOUTTE  <julien@moutte.net>
14593
14594         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14595         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
14596         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
14597         of collectpads. This version removes a lot of races without
14598         touching API/ABI. Yay !
14599
14600 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
14601
14602         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
14603           Don't allow activation of a srcpad in pull_range if it has no
14604           getrange function.
14605           Change some debug statements to be a little clearer
14606
14607         * plugins/elements/gsttypefindelement.c:
14608         (gst_type_find_handle_src_query):
14609           Check that we have a peer before executing queries thereupon.
14610
14611         * tests/examples/metadata/read-metadata.c: (message_loop):
14612           Use gst_bus_pop instead of gst_bus_poll when we just want it to
14613           immediately return us any available message with 0 timeout.
14614
14615 2005-12-12  Michael Smith  <msmith@fluendo.com>
14616
14617         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
14618           Don't unref factories after calling them.
14619         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
14620         * plugins/elements/gsttypefindelement.c:
14621         (gst_type_find_element_chain):
14622           Free lists of factories after using them. Fixing typefinding memory
14623           leaks.
14624
14625 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14626
14627         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14628         (gst_plugin_feature_load):
14629           more meaningful debug output
14630         * configure.ac:
14631         * tests/Makefile.am:
14632         * tests/old/examples/Makefile.am:
14633           make make distcheck happy again
14634
14635 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
14636
14637         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
14638           Catch the special case where we are operating chain-based,
14639           but the downstream peer pad has no chain function. Emit a
14640           custom error message in this case instead of letting the
14641           core generate one implying that this is some sort of core
14642           bug. It's not, it just means that whatever got plugged
14643           into the pipeline downstream when we announced the type
14644           can only operate pull-based, while our source can only
14645           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
14646           Error string has not been marked for translation yet, as
14647           it probably needs some more work first.
14648
14649         (gst_type_find_element_get_best_possibility):
14650           Add helper function to find the best of all available
14651           found possibilities that qualify given the min. threshold.
14652
14653         (gst_type_find_element_handle_event):
14654           Fix the case where we get an EOS while still in TYPEFIND
14655           mode (we want to chose the best of all possible types,
14656           not just the first type that happens to be in our unsorted
14657           list of possible types).
14658
14659         (gst_type_find_element_chain):
14660           Make sure we return GST_FLOW_ERROR when we errored out
14661           in stop_typefinding(); also, don't just find the best of
14662           all found type entries and then use the last examined
14663           type entry, but actually use the best entry.
14664
14665 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
14666
14667         * tests/examples/typefind/typefind.c: (type_found):
14668         * tests/examples/xml/runxml.c: (xml_loaded):
14669           More gcc4 fixes and a mem leak fix.
14670
14671 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14672
14673         * tests/examples/xml/createxml.c: (object_saved):
14674           gcc 4 fixes
14675
14676 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14677
14678         * tests/Makefile.am:
14679           enable the examples even more
14680
14681 2005-12-12  Andy Wingo  <wingo@pobox.com>
14682
14683         * libs/gst/net/gstnettimeprovider.c
14684         (gst_net_time_provider_class_init, gst_net_time_provider_init)
14685         (gst_net_time_provider_set_property)
14686         (gst_net_time_provider_get_property):
14687         API addition: Export "active" as a GObject property.
14688         (gst_net_time_provider_thread): Only respond to time queries if
14689         the time provider is active.
14690
14691         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
14692         NetTimeProvider, preserving binary compat.
14693
14694 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14695
14696         * tests/examples/controller/audio-example.c: (main):
14697         * tests/examples/launch/Makefile.am:
14698           convert comments again
14699
14700 2005-12-12  Wim Taymans  <wim@fluendo.com>
14701
14702         * libs/gst/base/gstpushsrc.c:
14703         Fix typo.
14704
14705 2005-12-12  Wim Taymans  <wim@fluendo.com>
14706
14707         * docs/libs/gstreamer-libs-sections.txt:
14708         Added new symbol to docs.
14709
14710         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14711         (gst_base_src_init), (gst_base_src_set_format),
14712         (gst_base_src_default_query), (gst_base_src_query),
14713         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
14714         (gst_base_src_perform_seek), (gst_base_src_send_event),
14715         (gst_base_src_default_event), (gst_base_src_event_handler),
14716         (gst_base_src_set_property), (gst_base_src_get_property),
14717         (gst_base_src_wait), (gst_base_src_do_sync),
14718         (gst_base_src_update_length), (gst_base_src_get_range),
14719         (gst_base_src_check_get_range), (gst_base_src_loop),
14720         (gst_base_src_default_negotiate), (gst_base_src_start),
14721         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14722         (gst_base_src_change_state):
14723         * libs/gst/base/gstbasesrc.h:
14724         Implement seeking to other formats than _BYTES.
14725         Implement more seeking methods correctly.
14726         Doc updates.
14727         Added query vmethod.
14728         Added do_seek vmethod to make life easier for subclasses
14729         when seeking.
14730         API addition: gst_base_src_set_format()
14731
14732 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14733
14734         * tests/examples/Makefile.am:
14735           added that too
14736
14737 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14738
14739         * configure.ac:
14740         * docs/random/ensonic/media-device-daemon.txt:
14741         * tests/examples/controller/.cvsignore:
14742         * tests/examples/controller/Makefile.am:
14743         * tests/examples/controller/audio-example.c: (main):
14744         * tests/examples/helloworld/.cvsignore:
14745         * tests/examples/helloworld/Makefile.am:
14746         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
14747         * tests/examples/launch/.cvsignore:
14748         * tests/examples/launch/Makefile.am:
14749         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
14750         * tests/examples/metadata/.cvsignore:
14751         * tests/examples/metadata/Makefile.am:
14752         * tests/examples/metadata/read-metadata.c: (message_loop),
14753         (make_pipeline), (print_tag), (main):
14754         * tests/examples/queue/.cvsignore:
14755         * tests/examples/queue/Makefile.am:
14756         * tests/examples/queue/queue.c: (event_loop), (main):
14757         * tests/examples/typefind/.cvsignore:
14758         * tests/examples/typefind/Makefile.am:
14759         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
14760         (main):
14761         * tests/examples/xml/.cvsignore:
14762         * tests/examples/xml/Makefile.am:
14763         * tests/examples/xml/createxml.c: (object_saved), (main):
14764         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
14765         * tests/old/examples/Makefile.am:
14766         * tests/old/examples/TODO:
14767         * tests/old/examples/controller/.cvsignore:
14768         * tests/old/examples/controller/Makefile.am:
14769         * tests/old/examples/controller/audio-example.c:
14770         * tests/old/examples/helloworld/.cvsignore:
14771         * tests/old/examples/helloworld/Makefile.am:
14772         * tests/old/examples/helloworld/helloworld.c:
14773         * tests/old/examples/launch/.cvsignore:
14774         * tests/old/examples/launch/Makefile.am:
14775         * tests/old/examples/launch/mp3parselaunch.c:
14776         * tests/old/examples/launch/mp3play:
14777         * tests/old/examples/manual/Makefile.am:
14778         * tests/old/examples/metadata/Makefile.am:
14779         * tests/old/examples/metadata/read-metadata.c:
14780         * tests/old/examples/queue/.cvsignore:
14781         * tests/old/examples/queue/Makefile.am:
14782         * tests/old/examples/queue/queue.c:
14783         * tests/old/examples/typefind/.cvsignore:
14784         * tests/old/examples/typefind/Makefile.am:
14785         * tests/old/examples/typefind/typefind.c:
14786         * tests/old/examples/xml/.cvsignore:
14787         * tests/old/examples/xml/Makefile.am:
14788         * tests/old/examples/xml/createxml.c:
14789         * tests/old/examples/xml/runxml.c:
14790           applied some simple fixing to some examples
14791           re-enabled the working examples
14792
14793 2005-12-12  Wim Taymans  <wim@fluendo.com>
14794
14795         * gst/gstsegment.c: (gst_segment_init),
14796         (gst_segment_set_last_stop), (gst_segment_set_seek),
14797         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
14798         (gst_segment_to_running_time):
14799         Added more documentation.
14800         Make sure the last_pos value is updated properly.
14801         Make sure to_stream_time and to_running_time don't
14802         operate on wrong values.
14803
14804         * tests/check/gst/gstsegment.c: (GST_START_TEST):
14805         Update check.
14806
14807 2005-12-12  Michael Smith  <msmith@fluendo.com>
14808
14809         * plugins/elements/gsttypefindelement.c: (free_entry),
14810         (gst_type_find_element_chain):
14811           Now that we're not leaking factories, make sure we keep references
14812           to them while we need them.
14813
14814 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14815
14816         * tests/check/gst/struct_i386.h:
14817           ifdef out the XML structs
14818
14819 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14820
14821         * gst/gstvalue.c: (gst_value_transform_double_fraction):
14822           floor is not needed, F is always positive; this obviates the
14823           need for adding -lm when building without libxml
14824
14825 2005-12-12  Wim Taymans  <wim@fluendo.com>
14826
14827         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14828         Take current playback rate into account when reporting
14829         the position.
14830
14831 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14832
14833         * docs/manual/mime-world.fig:
14834           Let's try this again, this time with a file that is
14835           actually in XFig format.
14836
14837 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14838
14839         * docs/manual/mime-world.fig:
14840           Add audioconvert element to diagram so that it
14841           matches the text and the code (fixes #319526).
14842
14843 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14844
14845         * docs/pwg/building-chainfn.xml:
14846         * docs/pwg/building-pads.xml:
14847         * docs/pwg/building-state.xml:
14848         * docs/pwg/other-source.xml:
14849           Update state change stuff for 0.10 (fixes #322969).
14850
14851 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14852
14853         * docs/manual/advanced-dataaccess.xml:
14854         * docs/manual/appendix-checklist.xml:
14855         * docs/manual/appendix-programs.xml:
14856         * docs/manual/basics-pads.xml:
14857         * docs/manual/highlevel-components.xml:
14858         * docs/manual/manual.xml:
14859           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
14860           add converters in front of pipelines; remove curly
14861           brackets for threads stuff, they no longer exist; use
14862           GST_TYPE_FRACTION for framerates; update some pieces of
14863           code to 0.10, but there's plenty more to do.
14864
14865         * docs/manual/appendix-porting.xml:
14866           Expand on asynchroneous state changes; s/0.9/0.10/;
14867           mention disappearance of gst_init_get_popt_table()
14868           (fixes #322916).
14869
14870 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
14871
14872         * docs/faq/using.xml:
14873           Spider no longer exists, and neither does gst-launch-ext.
14874           Update examples to use decodebin and playbin and put
14875           converters in front of sinks (fixes #323726).
14876
14877 2005-12-09  Michael Smith  <msmith@fluendo.com>
14878
14879         * plugins/elements/gsttypefindelement.c: (find_peek),
14880         (gst_type_find_element_chain):
14881           Fix leaking element factories in typefinding.
14882           Fix problem where we forgot about a probable type on non-seekable
14883           files, and thus later mis-typefound it.
14884
14885 2005-12-09  Michael Smith  <msmith@fluendo.com>
14886
14887         * common/m4/gst-makecontext.m4:
14888         * common/m4/gst-mcsc.m4:
14889         * configure.ac:
14890         * win32/common/config.h:
14891         * win32/common/config.h.in:
14892           Remove makecontext stuff; not used in 0.10 and causes problems on
14893           HPUX according to bug #322441
14894
14895 2005-12-07  Wim Taymans  <wim@fluendo.com>
14896
14897         * tests/check/Makefile.am:
14898         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
14899         (main):
14900         * tests/check/libs/struct_i386.h:
14901         Added ABI check for libs
14902
14903 2005-12-07  Wim Taymans  <wim@fluendo.com>
14904
14905         * tests/check/Makefile.am:
14906         And add the struct_i386.h to dist.
14907
14908 2005-12-07  Wim Taymans  <wim@fluendo.com>
14909
14910         * tests/check/Makefile.am:
14911         * tests/check/gst/.cvsignore:
14912         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
14913         (main):
14914         * tests/check/gst/struct_i386.h:
14915         Added check for ABI compatibility.
14916
14917 2005-12-07  Wim Taymans  <wim@fluendo.com>
14918
14919         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
14920         (gst_fake_src_get_times), (gst_fake_src_create):
14921         Fix broken sync option, fixes #323259
14922
14923 2005-12-07  Wim Taymans  <wim@fluendo.com>
14924
14925         * gst/gstbuffer.c:
14926         Small docs update.
14927
14928         * gst/gstcaps.c: (gst_caps_is_equal):
14929         Don't assert on NULL <--> X. Fixes #323260
14930
14931         * gst/gstminiobject.c: (gst_mini_object_replace):
14932         If we're doing atomic operations, we might just as well use
14933         the proper way to get an atomic pointer.
14934
14935         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14936         Clean up debugging.
14937
14938 2005-12-07  Michael Smith  <msmith@fluendo.com>
14939
14940         * gst/parse/grammar.y:
14941           Remove handling of { } for threads.
14942
14943 2005-12-06  David Schleef  <ds@schleef.org>
14944
14945         * libs/gst/base/gstbasetransform.c: speling fix.
14946
14947 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14948
14949         * docs/libs/tmpl/gstdataprotocol.sgml:
14950         * docs/random/omega/testing/gstobject.c:
14951         * gst/gst.c:
14952         * gst/gstclock.c:
14953         * gst/gstelement.c:
14954         * gst/gstelementfactory.c:
14955         * gst/gsterror.c:
14956         * gst/gstevent.c:
14957         * gst/gstghostpad.c:
14958         * gst/gstinfo.c:
14959         * gst/gstpadtemplate.c:
14960         * gst/gstregistryxml.c:
14961         * gst/gsttaglist.c:
14962         * gst/gsttagsetter.c:
14963         * gst/gsttypefind.c:
14964         * gst/gstvalue.c:
14965         * libs/gst/base/gstbasesrc.c:
14966         * libs/gst/net/gstnetclientclock.c:
14967         * libs/gst/net/gstnettimeprovider.c:
14968         * plugins/elements/gstfakesrc.c:
14969         * plugins/elements/gstfdsrc.c:
14970         * plugins/elements/gstfilesrc.c:
14971         * plugins/elements/gstidentity.c:
14972         * plugins/elements/gstqueue.c:
14973         * plugins/elements/gsttypefindelement.c:
14974         * plugins/indexers/gstfileindex.c:
14975         * plugins/indexers/gstmemindex.c:
14976         * tests/check/gst/gsttag.c:
14977         * tests/old/examples/cutter/cutter.c:
14978         * tests/old/examples/mixer/mixer.c:
14979         * tests/old/examples/xml/runxml.c: (main):
14980         * tests/old/testsuite/caps/normalisation.c:
14981         * tests/old/testsuite/debug/global.c:
14982         * tests/old/testsuite/parse/parse1.c:
14983         * tools/gst-xmlinspect.c:
14984         * win32/common/dirent.c:
14985           expand tabs
14986
14987 === release 0.10.0 ===
14988
14989 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14990
14991         * configure.ac:
14992           releasing 0.10.0, "Maroilles"
14993
14994 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14995
14996         submitted by: Funda Wang <fundawang@linux.net.cn>
14997
14998         * po/LINGUAS:
14999         * po/zh_CN.po:
15000           added Chinese (Traditional) translation
15001
15002 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15003
15004         * docs/gst/gstreamer-sections.txt:
15005         * docs/libs/tmpl/gstdataprotocol.sgml:
15006         * docs/random/thomasvs/TODO:
15007         * gst/gstutils.c:
15008         * gst/gstutils.h:
15009           fix docs
15010
15011 2005-12-05  Andy Wingo  <wingo@pobox.com>
15012
15013         patch by: Wim Taymans <wim@fluendo.com>
15014
15015         * libs/gst/base/gstbasetransform.c
15016         (gst_base_transform_prepare_output_buf)
15017         (gst_base_transform_buffer_alloc):
15018         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
15019         alloc_buffer_and_set_caps.
15020
15021         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
15022         set_caps on the source pad.
15023         (gst_pad_alloc_buffer_and_set_caps): New function, does what
15024         alloc_buffer used to do. Fixes #322874.
15025
15026         * docs/gst/gstreamer-sections.txt: 
15027         * docs/design/part-negotiation.txt: 
15028         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
15029         changes.
15030
15031 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15032
15033         patch by: Sebastien Moutte
15034
15035         * win32/MANIFEST:
15036         * win32/common/config.h.in:
15037         * win32/vs6/libgstcontroller.dsp:
15038           win32 build fixes
15039
15040 2005-12-05  Wim Taymans  <wim@fluendo.com>
15041
15042         * gst/gstcaps.c: (gst_caps_is_equal):
15043         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15044         (gst_fake_src_create):
15045         Back out previous code changes, leave doc updates, file bugs 
15046         instead. 
15047
15048 2005-12-05  Wim Taymans  <wim@fluendo.com>
15049
15050         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15051         (gst_fake_src_get_times), (gst_fake_src_create):
15052         * plugins/elements/gstfakesrc.h:
15053         Fix broken sync code.
15054
15055 2005-12-05  Wim Taymans  <wim@fluendo.com>
15056
15057         * gst/gstcaps.c: (gst_caps_is_equal):
15058         Comparing NULL against !NULL yields different caps, not a
15059         failure.
15060
15061 2005-12-05  Wim Taymans  <wim@fluendo.com>
15062
15063         * gst/gstpipeline.c:
15064         Fix small typo in docs.
15065
15066 2005-12-05  Andy Wingo  <wingo@pobox.com>
15067
15068         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
15069
15070         * gst/gst.c (init_post): remove hard-coded 0.9 location for
15071         registries/plugins with a MAJORMINOR one.
15072         (plugin_desc): Rename library from gstcoreleements to
15073         staticelements. Fixes #323222.
15074
15075 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
15076
15077         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
15078           Change debug category to 'collectpads' from 'collect_pads'
15079           (fixes #323250).
15080
15081 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
15082
15083         patch by: Sebastien Moutte
15084
15085         * libs/gst/controller/gstinterpolation.c:
15086           use convert function for uint64/double
15087         * win32/vs6/libgstcontroller.dsp:
15088           link to GLib
15089
15090 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
15091
15092         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
15093         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
15094         * gst/gstutils.h:
15095         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15096           add tests that seem to show that the guint64/gdouble conversions
15097           are correct.
15098
15099 2005-12-02  Wim Taymans  <wim@fluendo.com>
15100
15101         * gst/gstregistry.c: (gst_registry_add_path):
15102         * gst/gstregistry.h:
15103         * gst/gstregistryxml.c:
15104         Fix docs again.
15105
15106 2005-12-02  Wim Taymans  <wim@fluendo.com>
15107
15108         * gst/gstutils.c: (gst_util_uint64_scale_int64),
15109         (gst_util_uint64_scale_int):
15110         Small cleanup.
15111
15112         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15113         Add debug log line.
15114
15115         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
15116         Add FIXME.
15117
15118 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15119
15120         * win32/MANIFEST:
15121         * win32/common/config.h:
15122         * win32/vs6/gstreamer.dsw:
15123         * win32/vs6/libgstcoreelements.dsp:
15124         * win32/vs6/libgstelements.dsp:
15125           renamed core elements plugin
15126
15127 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15128
15129         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
15130         (get_candidates):
15131           do piece-wise major/minor comparison so 0.9 < 0.10
15132           also allow .exe extensions for tools
15133
15134 2005-12-02  Michael Smith  <msmith@fluendo.com>
15135
15136         * gst/gst.c:
15137           Escape a % to make gtkdoc happier; bug 322958.
15138
15139 === release 0.9.7 ===
15140
15141 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15142
15143         * configure.ac:
15144           releasing 0.9.7, "My Dog Has No Nose"
15145
15146 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15147
15148         * common/gst-xmlinspect.py:
15149         * configure.ac:
15150         * docs/libs/tmpl/gstdataprotocol.sgml:
15151         * docs/random/release:
15152         * po/af.po:
15153         * po/az.po:
15154         * po/bg.po:
15155         * po/ca.po:
15156         * po/cs.po:
15157         * po/de.po:
15158         * po/en_GB.po:
15159         * po/fr.po:
15160         * po/it.po:
15161         * po/nb.po:
15162         * po/nl.po:
15163         * po/ru.po:
15164         * po/sq.po:
15165         * po/sr.po:
15166         * po/sv.po:
15167         * po/tr.po:
15168         * po/uk.po:
15169         * po/vi.po:
15170         * win32/common/config.h:
15171         * win32/common/config.h.in:
15172         * win32/vs6/gst_inspect.dsp:
15173         * win32/vs6/gst_launch.dsp:
15174         * win32/vs6/libgstbase.dsp:
15175         * win32/vs6/libgstelements.dsp:
15176         * win32/vs6/libgstreamer.dsp:
15177         * win32/vs7/GStreamer.vcproj:
15178         * win32/vs7/gst-inspect.vcproj:
15179         * win32/vs7/gst-launch.vcproj:
15180         * win32/vs7/libgstbase.vcproj:
15181           bump GST_MAJORMINOR to 0.10
15182           reset libtool version
15183
15184 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15185
15186         * po/LINGUAS:
15187         * po/bg.po:
15188           Added Bulgarian translation by (Alexander Shopov)
15189
15190 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15191
15192         * tests/check/gst/gstplugin.c:
15193           fix test
15194
15195 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15196
15197         * common/gst-xmlinspect.py:
15198         * common/gtk-doc-plugins.mak:
15199         * configure.ac:
15200         * docs/Makefile.am:
15201         * docs/gst/Makefile.am:
15202         * docs/gst/gstreamer-docs.sgml:
15203         * docs/gst/gstreamer-sections.txt:
15204         * docs/gst/gstreamer.types:
15205         * docs/gst/gstreamer.types.in:
15206         * docs/plugins/Makefile.am:
15207         * docs/plugins/gstreamer-plugins-docs.sgml:
15208         * docs/plugins/gstreamer-plugins-sections.txt:
15209         * docs/plugins/gstreamer-plugins.types:
15210         * docs/plugins/inspect.stamp:
15211         * docs/plugins/inspect/plugin-coreelements.xml:
15212         * docs/plugins/inspect/plugin-coreindexers.xml:
15213         * docs/plugins/scanobj-build.stamp:
15214         * gstreamer.spec.in:
15215         * plugins/elements/Makefile.am:
15216         * plugins/elements/gstelements.c:
15217         * plugins/elements/gstfakesink.c:
15218         * plugins/elements/gstfakesrc.c:
15219         * plugins/elements/gstfilesink.c:
15220         * plugins/elements/gstfilesrc.c:
15221         * plugins/elements/gstqueue.c:
15222         * plugins/indexers/Makefile.am:
15223         * plugins/indexers/gstindexers.c:
15224           document core plugins in a separate document just like all the
15225           others
15226           rename these plugins to something starting with core
15227
15228 2005-12-01  Andy Wingo  <wingo@pobox.com>
15229
15230         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
15231         padding here before, but it missed the commit.
15232
15233 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15234
15235         * libs/gst/controller/gstinterpolation.c:
15236           whitespace prices have crashed, we should feel free to use some now
15237           use gst_guint64_to_gdouble
15238
15239 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15240
15241         * libs/gst/controller/gstcontroller.c:
15242         * libs/gst/controller/gsthelper.c:
15243         * libs/gst/controller/gstinterpolation.c:
15244         * libs/gst/controller/lib.c:
15245           wrap config.h include
15246
15247 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15248
15249         * docs/gst/gstreamer-sections.txt:
15250           update docs
15251
15252 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15253
15254         * plugins/elements/gstelements.c:
15255         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
15256         (gst_fd_sink__class_init), (gst_fd_sink__init),
15257         (gst_fd_sink__chain), (gst_fd_sink__set_property),
15258         (gst_fd_sink__get_property):
15259         * plugins/elements/gstfdsink.h:
15260         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
15261         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
15262         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
15263         (gst_fd_src_unlock), (gst_fd_src_set_property),
15264         (gst_fd_src_get_property), (gst_fd_src_create),
15265         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
15266         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
15267         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
15268         (gst_fd_src_uri_handler_init):
15269         * plugins/elements/gstfdsrc.h:
15270         * plugins/elements/gstqueue.c: (gst_queue_get_type):
15271           more anal cleanup
15272
15273 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15274
15275         * docs/gst/Makefile.am:
15276         * docs/gst/gstreamer.types.in:
15277         * gst/Makefile.am:
15278           fix the docs build
15279
15280 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15281
15282         * configure.ac:
15283         * gst/Makefile.am:
15284         * gst/gst.c:
15285         * gst/gstplugin.h:
15286         * gst/gstregistry.h:
15287         * tests/benchmarks/complexity.c:
15288         * tests/benchmarks/mass-elements.c:
15289         * tests/check/Makefile.am:
15290         * tools/Makefile.am:
15291         * tools/gst-inspect.c:
15292         * tools/gst-xmlinspect.c:
15293           various fixes to make
15294           --disable-nls --disable-registry --disable-loadsave
15295           --disable-parse --disable-gst-debug
15296           work and get the core .so down to 360444 bytes after stripping
15297
15298 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15299
15300         * Makefile.am:
15301         * configure.ac:
15302           descend into tests
15303         * docs/random/thomasvs/TODO:
15304         * tests/Makefile.am:
15305         * tests/README:
15306           add a README
15307
15308 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15309
15310         * win32/GStreamer.vcproj:
15311         * win32/MANIFEST:
15312         * win32/Makefile:
15313         * win32/Makefile.inspect:
15314         * win32/Makefile.launch:
15315         * win32/Makefile.register:
15316         * win32/README.txt:
15317         * win32/gst-inspect.vcproj:
15318         * win32/gst-launch.vcproj:
15319         * win32/gst-register.vcproj:
15320         * win32/gstelements.vcproj:
15321         * win32/gstgetbits.def:
15322         * win32/gstgetbits.vcproj:
15323         * win32/gstreamer-dbg.def:
15324         * win32/gstreamer.def:
15325         * win32/libgstbase.def:
15326         * win32/libgstbase.vcproj:
15327         * win32/link_oldruntime.c:
15328         * win32/mman.c:
15329         * win32/mman.h:
15330         * win32/mman.inl:
15331         * win32/msvc71.sln:
15332           move even more stuff, win32/ is nice and clean now
15333
15334 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15335
15336         * libs/gst/control/.cvsignore:
15337         * win32/MANIFEST:
15338         * win32/config.h:
15339         * win32/dirent.c:
15340         * win32/dirent.h:
15341         * win32/gstbytestream.def:
15342         * win32/gstbytestream.vcproj:
15343         * win32/gstconfig.h:
15344         * win32/gstenumtypes.c:
15345         * win32/gstenumtypes.h:
15346         * win32/gstoptimalscheduler.vcproj:
15347         * win32/gstversion.h:
15348         * win32/gtchar.h:
15349         * win32/testsuite/bins.vcproj:
15350         * win32/testsuite/bytestream.vcproj:
15351         * win32/testsuite/caps.vcproj:
15352         * win32/testsuite/cleanup.vcproj:
15353         * win32/testsuite/clock.vcproj:
15354         * win32/testsuite/debug.vcproj:
15355         * win32/testsuite/dlopen.vcproj:
15356         * win32/testsuite/dynparams.vcproj:
15357         * win32/testsuite/elements.vcproj:
15358         * win32/testsuite/ghostpads.vcproj:
15359         * win32/testsuite/indexers.vcproj:
15360         * win32/testsuite/negotiation.vcproj:
15361         * win32/testsuite/parse.vcproj:
15362         * win32/testsuite/plugin.vcproj:
15363         * win32/testsuite/refcounting.vcproj:
15364         * win32/testsuite/schedulers.vcproj:
15365         * win32/testsuite/states.vcproj:
15366         * win32/testsuite/tags.vcproj:
15367         * win32/testsuite/threads.vcproj:
15368           remove old win32 stuff that isn't maintained and should be
15369           reorganized
15370
15371 2005-11-30  Andy Wingo  <wingo@pobox.com>
15372
15373         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
15374         loading the gst.interfaces python module bork.
15375
15376         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
15377         available since GLib 2.2. Fixes #318031.
15378
15379 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15380
15381         * Makefile.am:
15382         * check/.cvsignore:
15383         * check/Makefile.am:
15384         * check/elements/.cvsignore:
15385         * check/elements/fakesrc.c:
15386         * check/elements/fdsrc.c:
15387         * check/elements/identity.c:
15388         * check/generic/.cvsignore:
15389         * check/generic/states.c:
15390         * check/gst-libs/.cvsignore:
15391         * check/gst-libs/controller.c:
15392         * check/gst-libs/gdp.c:
15393         * check/gst/.cvsignore:
15394         * check/gst/capslist.h:
15395         * check/gst/gst.c:
15396         * check/gst/gstbin.c:
15397         * check/gst/gstbuffer.c:
15398         * check/gst/gstbus.c:
15399         * check/gst/gstcaps.c:
15400         * check/gst/gstelement.c:
15401         * check/gst/gstevent.c:
15402         * check/gst/gstghostpad.c:
15403         * check/gst/gstiterator.c:
15404         * check/gst/gstmessage.c:
15405         * check/gst/gstminiobject.c:
15406         * check/gst/gstobject.c:
15407         * check/gst/gstpad.c:
15408         * check/gst/gstpipeline.c:
15409         * check/gst/gstplugin.c:
15410         * check/gst/gstsegment.c:
15411         * check/gst/gststructure.c:
15412         * check/gst/gstsystemclock.c:
15413         * check/gst/gsttag.c:
15414         * check/gst/gstutils.c:
15415         * check/gst/gstvalue.c:
15416         * check/net/.cvsignore:
15417         * check/net/gstnetclientclock.c:
15418         * check/net/gstnettimeprovider.c:
15419         * check/pipelines/.cvsignore:
15420         * check/pipelines/cleanup.c:
15421         * check/pipelines/simple_launch_lines.c:
15422         * check/pipelines/stress.c:
15423         * check/states/.cvsignore:
15424         * check/states/sinks.c:
15425         * configure.ac:
15426         * examples/Makefile.am:
15427         * examples/appreader/.cvsignore:
15428         * examples/appreader/Makefile.am:
15429         * examples/appreader/appreader.c:
15430         * examples/controller/.cvsignore:
15431         * examples/controller/Makefile.am:
15432         * examples/controller/audio-example.c:
15433         * examples/cutter/.cvsignore:
15434         * examples/cutter/Makefile.am:
15435         * examples/cutter/cutter.c:
15436         * examples/cutter/cutter.h:
15437         * examples/events/Makefile.am:
15438         * examples/events/seek.c:
15439         * examples/helloworld/.cvsignore:
15440         * examples/helloworld/Makefile.am:
15441         * examples/helloworld/helloworld.c:
15442         * examples/helloworld2/.cvsignore:
15443         * examples/helloworld2/Makefile.am:
15444         * examples/helloworld2/helloworld2.c:
15445         * examples/launch/.cvsignore:
15446         * examples/launch/Makefile.am:
15447         * examples/launch/mp3parselaunch.c:
15448         * examples/launch/mp3play:
15449         * examples/manual/.cvsignore:
15450         * examples/manual/Makefile.am:
15451         * examples/manual/extract.pl:
15452         * examples/metadata/Makefile.am:
15453         * examples/metadata/read-metadata.c:
15454         * examples/mixer/.cvsignore:
15455         * examples/mixer/Makefile.am:
15456         * examples/mixer/mixer.c:
15457         * examples/mixer/mixer.h:
15458         * examples/pingpong/.cvsignore:
15459         * examples/pingpong/Makefile.am:
15460         * examples/pingpong/pingpong.c:
15461         * examples/plugins/.cvsignore:
15462         * examples/plugins/Makefile.am:
15463         * examples/plugins/example.c:
15464         * examples/plugins/example.h:
15465         * examples/pwg/.cvsignore:
15466         * examples/pwg/Makefile.am:
15467         * examples/pwg/extract.pl:
15468         * examples/queue/.cvsignore:
15469         * examples/queue/Makefile.am:
15470         * examples/queue/queue.c:
15471         * examples/queue2/.cvsignore:
15472         * examples/queue2/Makefile.am:
15473         * examples/queue2/queue2.c:
15474         * examples/queue3/.cvsignore:
15475         * examples/queue3/Makefile.am:
15476         * examples/queue3/queue3.c:
15477         * examples/queue4/.cvsignore:
15478         * examples/queue4/Makefile.am:
15479         * examples/queue4/queue4.c:
15480         * examples/retag/.cvsignore:
15481         * examples/retag/Makefile.am:
15482         * examples/retag/retag.c:
15483         * examples/retag/transcode.c:
15484         * examples/thread/.cvsignore:
15485         * examples/thread/Makefile.am:
15486         * examples/thread/thread.c:
15487         * examples/typefind/.cvsignore:
15488         * examples/typefind/Makefile.am:
15489         * examples/typefind/typefind.c:
15490         * examples/xml/.cvsignore:
15491         * examples/xml/Makefile.am:
15492         * examples/xml/createxml.c:
15493         * examples/xml/runxml.c:
15494         * tests/Makefile.am:
15495         * tests/check/Makefile.am:
15496         * testsuite/.cvsignore:
15497         * testsuite/Makefile.am:
15498         * testsuite/Rules:
15499         * testsuite/caps/.cvsignore:
15500         * testsuite/caps/Makefile.am:
15501         * testsuite/caps/app_fixate.c:
15502         * testsuite/caps/audioscale.c:
15503         * testsuite/caps/caps.c:
15504         * testsuite/caps/caps.h:
15505         * testsuite/caps/caps_strings:
15506         * testsuite/caps/compatibility.c:
15507         * testsuite/caps/deserialize.c:
15508         * testsuite/caps/enumcaps.c:
15509         * testsuite/caps/eratosthenes.c:
15510         * testsuite/caps/filtercaps.c:
15511         * testsuite/caps/fixed.c:
15512         * testsuite/caps/fraction-convert.c:
15513         * testsuite/caps/fraction-multiply-and-zero.c:
15514         * testsuite/caps/intersect2.c:
15515         * testsuite/caps/intersection.c:
15516         * testsuite/caps/normalisation.c:
15517         * testsuite/caps/random.c:
15518         * testsuite/caps/renegotiate.c:
15519         * testsuite/caps/sets.c:
15520         * testsuite/caps/simplify.c:
15521         * testsuite/caps/string-conversions.c:
15522         * testsuite/caps/structure.c:
15523         * testsuite/caps/subtract.c:
15524         * testsuite/caps/union.c:
15525         * testsuite/debug/.cvsignore:
15526         * testsuite/debug/Makefile.am:
15527         * testsuite/debug/category.c:
15528         * testsuite/debug/commandline.c:
15529         * testsuite/debug/global.c:
15530         * testsuite/debug/output.c:
15531         * testsuite/debug/printf_extension.c:
15532         * testsuite/dlopen/.cvsignore:
15533         * testsuite/dlopen/Makefile.am:
15534         * testsuite/dlopen/dlopen_gst.c:
15535         * testsuite/dlopen/loadgst.c:
15536         * testsuite/elements/.cvsignore:
15537         * testsuite/elements/Makefile.am:
15538         * testsuite/elements/gst-inspect-check.in:
15539         * testsuite/elements/struct_i386.h:
15540         * testsuite/elements/struct_size.c:
15541         * testsuite/indexers/.cvsignore:
15542         * testsuite/indexers/Makefile.am:
15543         * testsuite/indexers/cache1.c:
15544         * testsuite/indexers/indexdump.c:
15545         * testsuite/parse/.cvsignore:
15546         * testsuite/parse/Makefile.am:
15547         * testsuite/parse/parse1.c:
15548         * testsuite/parse/parse2.c:
15549         * testsuite/plugin/.cvsignore:
15550         * testsuite/plugin/Makefile.am:
15551         * testsuite/plugin/README:
15552         * testsuite/plugin/dynamic.c:
15553         * testsuite/plugin/linked.c:
15554         * testsuite/plugin/loading.c:
15555         * testsuite/plugin/registry.c:
15556         * testsuite/plugin/static.c:
15557         * testsuite/plugin/static2.c:
15558         * testsuite/plugin/testplugin.c:
15559         * testsuite/plugin/testplugin2.c:
15560         * testsuite/plugin/testplugin2_s.c:
15561         * testsuite/plugin/testplugin_s.c:
15562         * testsuite/refcounting/.cvsignore:
15563         * testsuite/refcounting/Makefile.am:
15564         * testsuite/refcounting/bin.c:
15565         * testsuite/refcounting/element.c:
15566         * testsuite/refcounting/element_pad.c:
15567         * testsuite/refcounting/mainloop.c:
15568         * testsuite/refcounting/mem.c:
15569         * testsuite/refcounting/mem.h:
15570         * testsuite/refcounting/object.c:
15571         * testsuite/refcounting/pad.c:
15572         * testsuite/refcounting/sched.c:
15573         * testsuite/refcounting/thread.c:
15574         * testsuite/states/.cvsignore:
15575         * testsuite/states/Makefile.am:
15576         * testsuite/states/bin.c:
15577         * testsuite/states/locked.c:
15578         * testsuite/states/parent.c:
15579         * testsuite/threads/.cvsignore:
15580         * testsuite/threads/159566.c:
15581         * testsuite/threads/159852.c:
15582         * testsuite/threads/Makefile.am:
15583         * testsuite/threads/queue.c:
15584         * testsuite/threads/signals.c:
15585         * testsuite/threads/staticrec.c:
15586         * testsuite/threads/thread.c:
15587         * testsuite/threads/threadb.c:
15588         * testsuite/threads/threadc.c:
15589         * testsuite/threads/threadd.c:
15590         * testsuite/threads/threade.c:
15591         * testsuite/threads/threadf.c:
15592         * testsuite/threads/threadg.c:
15593         * testsuite/threads/threadh.c:
15594         * testsuite/threads/threadi.c:
15595           move all of these under tests
15596
15597 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15598
15599         * configure.ac:
15600         * tests/Makefile.am:
15601           fix distcheck
15602
15603 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15604
15605         * docs/gst/gstreamer-sections.txt:
15606         * tests/sched/.cvsignore:
15607         * tests/sched/Makefile.am:
15608         * tests/sched/cases/(fs-fs).xml:
15609         * tests/sched/cases/(fs-i-fs).xml:
15610         * tests/sched/cases/(fs-i-i-fs).xml:
15611         * tests/sched/cases/(fs-i-q[i-fs]).xml:
15612         * tests/sched/dynamic-pipeline.c:
15613         * tests/sched/interrupt1.c:
15614         * tests/sched/interrupt2.c:
15615         * tests/sched/interrupt3.c:
15616         * tests/sched/runtestcases:
15617         * tests/sched/runxml.c:
15618         * tests/sched/sched-stress.c:
15619         * tests/sched/sort.c:
15620         * tests/sched/testcases:
15621         * tests/sched/testcases1.tc:
15622         * tests/seeking/.cvsignore:
15623         * tests/seeking/Makefile.am:
15624         * tests/seeking/seeking1.c:
15625         * tests/threadstate/.cvsignore:
15626         * tests/threadstate/Makefile.am:
15627         * tests/threadstate/test1.c:
15628         * tests/threadstate/test2.c:
15629         * tests/threadstate/threadstate1.c:
15630         * tests/threadstate/threadstate2.c:
15631         * tests/threadstate/threadstate3.c:
15632         * tests/threadstate/threadstate4.c:
15633         * tests/threadstate/threadstate5.c:
15634           remove obsolete tests
15635         * configure.ac:
15636         * tests/bench-complexity.scm:
15637         * tests/bench-mass_elements.scm:
15638         * tests/complexity.c:
15639         * tests/complexity.gnuplot:
15640         * tests/instantiate/.cvsignore:
15641         * tests/instantiate/Makefile.am:
15642         * tests/instantiate/caps.c:
15643         * tests/mass_elements.c:
15644         * tests/network-clock-utils.scm:
15645         * tests/network-clock.scm:
15646         * tests/plot-data:
15647         First pass at cleaning up tests/ dir before moving the rest
15648         Combined with CVS surgery
15649
15650 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15651
15652         * po/POTFILES.in:
15653           queue has moved, update
15654
15655 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15656
15657         * docs/gst/gstreamer-sections.txt:
15658           remove double entries from the docs
15659         * gst/gst_private.h:
15660         * gst/gstinfo.c: (_gst_debug_init):
15661           remove the THREAD debug category
15662         * gst/Makefile.am:
15663         * gst/gstqueue.c:
15664         * gst/gstqueue.h:
15665         * docs/gst/gstreamer.types:
15666         * plugins/elements/gstqueue.c: (gst_queue_get_type),
15667         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
15668           completely move queue and fix up debugging categories
15669
15670 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15671
15672         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
15673           make initialization portable, using LL is not
15674
15675 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15676
15677         * win32/common/gstconfig.h:
15678           add large padding
15679
15680 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15681
15682         * win32/common/libgstreamer.def:
15683           rename symbols; sort base section
15684
15685 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15686
15687         * gst/gstclock.c: (do_linear_regression):
15688           remove crack non-portable handrolled DEBUG macro
15689
15690 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15691
15692         * docs/random/release:
15693           update notes
15694         * win32/common/gstenumtypes.c: (register_gst_object_flags),
15695         (gst_object_flags_get_type), (register_gst_bin_flags),
15696         (gst_bin_flags_get_type), (register_gst_buffer_flag),
15697         (gst_buffer_flag_get_type), (register_gst_bus_flags),
15698         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
15699         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
15700         (gst_caps_flags_get_type), (register_gst_clock_return),
15701         (gst_clock_return_get_type), (register_gst_clock_entry_type),
15702         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
15703         (gst_clock_flags_get_type), (register_gst_state),
15704         (gst_state_get_type), (register_gst_state_change_return),
15705         (gst_state_change_return_get_type), (register_gst_state_change),
15706         (gst_state_change_get_type), (register_gst_element_flags),
15707         (gst_element_flags_get_type), (register_gst_core_error),
15708         (gst_core_error_get_type), (register_gst_library_error),
15709         (gst_library_error_get_type), (register_gst_resource_error),
15710         (gst_resource_error_get_type), (register_gst_stream_error),
15711         (gst_stream_error_get_type), (register_gst_event_type_flags),
15712         (gst_event_type_flags_get_type), (register_gst_event_type),
15713         (gst_event_type_get_type), (register_gst_seek_type),
15714         (gst_seek_type_get_type), (register_gst_seek_flags),
15715         (gst_seek_flags_get_type), (register_gst_format),
15716         (gst_format_get_type), (register_gst_index_certainty),
15717         (gst_index_certainty_get_type), (register_gst_index_entry_type),
15718         (gst_index_entry_type_get_type),
15719         (register_gst_index_lookup_method),
15720         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
15721         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
15722         (gst_index_resolver_method_get_type), (register_gst_index_flags),
15723         (gst_index_flags_get_type), (register_gst_debug_level),
15724         (gst_debug_level_get_type), (register_gst_debug_color_flags),
15725         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
15726         (gst_iterator_result_get_type), (register_gst_iterator_item),
15727         (gst_iterator_item_get_type), (register_gst_message_type),
15728         (gst_message_type_get_type), (register_gst_mini_object_flags),
15729         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
15730         (gst_pad_link_return_get_type), (register_gst_flow_return),
15731         (gst_flow_return_get_type), (register_gst_activate_mode),
15732         (gst_activate_mode_get_type), (register_gst_pad_direction),
15733         (gst_pad_direction_get_type), (register_gst_pad_flags),
15734         (gst_pad_flags_get_type), (register_gst_pad_presence),
15735         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
15736         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
15737         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
15738         (gst_plugin_error_get_type), (register_gst_plugin_flags),
15739         (gst_plugin_flags_get_type), (register_gst_rank),
15740         (gst_rank_get_type), (register_gst_query_type),
15741         (gst_query_type_get_type), (register_gst_tag_merge_mode),
15742         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
15743         (gst_tag_flag_get_type), (register_gst_task_state),
15744         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
15745         (gst_alloc_trace_flags_get_type),
15746         (register_gst_type_find_probability),
15747         (gst_type_find_probability_get_type), (register_gst_uri_type),
15748         (gst_uri_type_get_type), (register_gst_parse_error),
15749         (gst_parse_error_get_type):
15750         * win32/common/gstenumtypes.h:
15751         * win32/common/gstversion.h:
15752           update visual studio generated files
15753
15754 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15755
15756         * win32/vs6/libgstbase.dsp:
15757         * win32/vs6/libgstelements.dsp:
15758           update project files for new locations
15759
15760 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15761
15762         * Makefile.am:
15763           remove some files
15764         * README:
15765           reinstate and update
15766         * DEVEL:
15767         * REQUIREMENTS:
15768           removed
15769         * LICENSE:
15770         * docs/random/LICENSE:
15771           moved to random
15772
15773 2005-11-30  Edward Hervey  <edward@fluendo.com>
15774
15775         * gst/gsttypefind.c: (gst_type_find_register):
15776         * gst/gsttypefind.h:
15777         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
15778         (gst_type_find_factory_dispose):
15779         * gst/gsttypefindfactory.h:
15780         Fix memory leak in GstTypeFindFactory.
15781
15782 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15783
15784         * gst/gst.c:
15785         * plugins/elements/Makefile.am:
15786         * plugins/elements/gstelements.c:
15787         * plugins/elements/gstqueue.c:
15788           move queue from core to the elements plugin
15789
15790 2005-11-29  Andy Wingo  <wingo@pobox.com>
15791
15792         * libs/gst/base/gstbasetransform.h: 
15793         * libs/gst/base/gstbasesrc.h: 
15794         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
15795
15796         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
15797         of pointers by which to pad very extensible base classes (like the
15798         ones in libs/gst/base).
15799
15800 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15801
15802         * docs/gst/gstreamer-docs.sgml:
15803         * docs/gst/gstreamer-sections.txt:
15804         * docs/libs/gstreamer-libs-docs.sgml:
15805         * docs/libs/gstreamer-libs-sections.txt:
15806           moving documentation from core to lib
15807
15808 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15809
15810         * check/Makefile.am:
15811         * configure.ac:
15812         * docs/gst/Makefile.am:
15813         * gst/Makefile.am:
15814         * gst/base/.cvsignore:
15815         * gst/base/Makefile.am:
15816         * gst/base/README:
15817         * gst/base/gstadapter.c:
15818         * gst/base/gstadapter.h:
15819         * gst/base/gstbasesink.c:
15820         * gst/base/gstbasesink.h:
15821         * gst/base/gstbasesrc.c:
15822         * gst/base/gstbasesrc.h:
15823         * gst/base/gstbasetransform.c:
15824         * gst/base/gstbasetransform.h:
15825         * gst/base/gstcollectpads.c:
15826         * gst/base/gstcollectpads.h:
15827         * gst/base/gstpushsrc.c:
15828         * gst/base/gstpushsrc.h:
15829         * gst/base/gsttypefindhelper.c:
15830         * gst/base/gsttypefindhelper.h:
15831         * gst/check/Makefile.am:
15832         * gst/check/gstcheck.c:
15833         * gst/check/gstcheck.h:
15834         * gst/net/Makefile.am:
15835         * gst/net/gstnet.h:
15836         * gst/net/gstnetclientclock.c:
15837         * gst/net/gstnetclientclock.h:
15838         * gst/net/gstnettimepacket.c:
15839         * gst/net/gstnettimepacket.h:
15840         * gst/net/gstnettimeprovider.c:
15841         * gst/net/gstnettimeprovider.h:
15842         * libs/gst/Makefile.am:
15843         * libs/gst/base/Makefile.am:
15844         * libs/gst/base/gstbasetransform.c:
15845         * libs/gst/check/Makefile.am:
15846         * plugins/elements/Makefile.am:
15847         * po/POTFILES.in:
15848           CVS surgery + support to move base, check, and net out of gst
15849           and into libs/gst
15850
15851 2005-11-29  Andy Wingo  <wingo@pobox.com>
15852
15853         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
15854
15855         * gst/gststructure.h (struct _GstStructure): Only one pointer of
15856         padding.
15857
15858         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
15859
15860         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
15861
15862         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
15863
15864         * gst/gstobject.h: (struct _GstObject): Only one pointer of
15865         padding; reduces object size by about 30%. We don't expect
15866         anything else to go into gstobject.
15867
15868         * gst/gstminiobject.h (struct _GstMiniObject)
15869         (struct _GstMiniObjectClass): Only one pointer of padding; the
15870         payload is only a pointer and two ints anyway. For the class there
15871         are only two methods as well.
15872         
15873         * gst/gstelement.h (struct _GstElementClass): Removed
15874         the state_changed signal callback, it is not used.
15875
15876 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15877
15878         * docs/gst/gstreamer.types:
15879           fix includes, though they are a little dinky
15880
15881 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15882
15883         * check/Makefile.am:
15884           look in the right place for elements, a lot more chance of
15885           success
15886         * gst/Makefile.am:
15887           remove indexers and elements subdirs
15888         * plugins/Makefile.am:
15889           make indexers conditional
15890
15891 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15892
15893         * Makefile.am:
15894         * configure.ac:
15895         * plugins/elements/Makefile.am:
15896         * plugins/elements/gstcapsfilter.c:
15897         * plugins/elements/gstfilesink.c:
15898         * plugins/elements/gstfilesrc.c:
15899         * plugins/elements/gstidentity.c:
15900         * plugins/indexers/Makefile.am:
15901           do CVS surgery and related build fixery to move elements
15902           and indexers in a new gstreamer/plugins directory, out of the
15903           gst/ directory
15904
15905 2005-11-29  Andy Wingo  <wingo@pobox.com>
15906
15907         * check/Makefile.am:
15908         * pkgconfig/gstreamer-net-uninstalled.pc.in:
15909         * pkgconfig/gstreamer-net.pc.in:
15910         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
15911         #322257.
15912
15913 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15914
15915         * tools/Makefile.am:
15916         * tools/gst-complete.1.in:
15917         * tools/gst-complete.c:
15918         * tools/gst-compprep.1.in:
15919         * tools/gst-compprep.c:
15920           removing -compprep and -complete
15921
15922 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15923
15924         * gst/gstevent.c: (gst_event_new_new_segment),
15925         (gst_event_parse_new_segment):
15926         * gst/gstevent.h:
15927           fix #320529 - clean up new_segment API and structure.
15928           Let's hope everyone was using the methods, and not the structure.
15929
15930 2005-11-29  Edward Hervey  <edward@fluendo.com>
15931
15932         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
15933         (gst_base_sink_event), (gst_base_sink_do_sync),
15934         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
15935         Properly handle non GST_FORMAT_TIME segment
15936         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
15937         Properly handle non GST_FORMAT_TIME segment
15938         * gst/gstsegment.c:
15939         This function is valid if the accumulator is 0 and the format
15940         is different from the requested format.
15941         
15942 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
15943
15944         * docs/gst/gstreamer-sections.txt:
15945         Add gst_query_new_seeking and gst_query_parse_seeking to the
15946         docs.
15947
15948 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
15949
15950         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
15951           Treat a pad alloc with new caps the same as if we were not
15952           negotiated, in order to allow a changing upstream output
15953           to produce a new format of data.
15954
15955 2005-11-29  Edward Hervey  <edward@fluendo.com>
15956
15957         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
15958         (gst_base_transform_event), (gst_base_transform_eventfunc):
15959         The event virtual method is now properly implemented, with a default
15960         handler
15961         Sub classes should call the parent_class event method. They should
15962         return FALSE if they had a problem handling the given event, or don't
15963         want GstBaseTransform to send that even downstream
15964         * gst/elements/gstidentity.c: (gst_identity_class_init),
15965         (gst_identity_init), (gst_identity_event),
15966         (gst_identity_transform_ip), (gst_identity_set_property),
15967         (gst_identity_get_property):
15968         * gst/elements/gstidentity.h:
15969         Added the single-segment boolean property.
15970         If set to TRUE, it will output a single segment of data, starting from
15971         0, will eat up all incoming newsegment, and modify the timestamp of the
15972         buffers accordingly
15973
15974 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
15975
15976         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
15977           Don't ref NULL target pad (#322751). Improve docs.
15978
15979 2005-11-29  Michael Smith  <msmith@fluendo.com>
15980
15981         * gst/gstregistryxml.c: (load_plugin):
15982           Don't crash if we failed to load a feature from a plugin. 
15983
15984 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15985
15986         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
15987         (GST_START_TEST):
15988           use more check API and less GLib API
15989
15990 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15991
15992         * Makefile.am:
15993           don't run checks if we don't have check
15994         * common/check.mak:
15995           remove the registry when running make torture
15996         * docs/gst/gstreamer-sections.txt:
15997           remove second multiply
15998         * gst/gstqueue.c: (gst_queue_loop):
15999           fix a compile warning when disabling debug
16000
16001 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
16002
16003         * gst/gstinfo.h:
16004         Hey! Let's print the pad name if the pointer != NULL instead
16005         of when it == NULL :-)
16006
16007 2005-11-28  Wim Taymans  <wim@fluendo.com>
16008
16009         * check/gst/gstutils.c: (GST_START_TEST):
16010         Updated check, add some scaling accuracy checking code.
16011
16012         * gst/gstutils.c: (gst_util_div128_64),
16013         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
16014         (gst_util_uint64_scale_int):
16015         Fix 6 times faster division code. Optimize for common 
16016         1/1 and less common X/1 cases.
16017
16018 2005-11-28  Wim Taymans  <wim@fluendo.com>
16019
16020         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16021         More checks.
16022
16023         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
16024         (do_linear_regression), (gst_clock_add_observation):
16025         Cleanups.
16026         Release lock when the clock cannot be slaved.
16027         Catch the case where the regression returned an invalid denominator.
16028
16029         * gst/gstutils.c: (gst_util_div128_64_iterate),
16030         (gst_util_div128_64), (gst_util_uint64_scale_int64),
16031         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
16032         Add protentially more performant non-iterative 128/64 divide function
16033         that unfortunatly does not work yet.
16034         Shortcut the trivial 0/X = 0 case.
16035         Remove the warnings on overflow.
16036
16037 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16038
16039         * gst/gstplugin.c: (gst_plugin_register_func):
16040           everything causing a plugin not to load should be at least a WARNING
16041
16042 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
16043
16044         * docs/random/ensonic/dparams.txt:
16045           some TODOs for the next dev cycle
16046         * libs/gst/controller/gstcontroller.c:
16047         (gst_controlled_property_set_interpolation_mode),
16048         (gst_controlled_property_new):
16049         * libs/gst/controller/gstcontroller.h:
16050           use base type to assign acccessor functions
16051
16052 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
16053
16054         * check/Makefile.am:
16055         Oops, that should have been top_srcdir
16056
16057 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
16058
16059         * check/Makefile.am:
16060         * check/elements/fdsrc.c: (GST_START_TEST):
16061         Use a cmdline define to specify the location of a file to use for
16062         testing, to avoid breaking distcheck.
16063
16064 2005-11-28  Andy Wingo  <wingo@pobox.com>
16065
16066         * gst/gstpad.c (fixate_value): Use array functions for arrays.
16067
16068 2005-11-28  Edward Hervey  <edward@fluendo.com>
16069
16070         * tools/gst-launch.c: (main):
16071         Clarify the output strings, makes it easier to translate.
16072         Fixes #322626
16073
16074 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16075
16076         * gst/Makefile.am:
16077           don't try and build net if we don't even have <sys/socket.h>
16078
16079 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
16080
16081         * check/Makefile.am:
16082         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
16083         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
16084           Add tests for fdsrc seekability
16085
16086         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
16087         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
16088         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
16089         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
16090         * gst/elements/gstfdsrc.h:
16091           fdsrc should not be a 'live' source.
16092           Implement seeking on seekable fd's.
16093
16094         * gst/gstquery.c: (gst_query_new_seeking),
16095         (gst_query_parse_seeking):
16096         * gst/gstquery.h:
16097           Implement SEEKING query functions: 
16098             *_new_seeking and *_parse_seeking
16099
16100 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
16101
16102         * gst/gstelement.c: (gst_element_dispose):
16103           don't loop forever
16104
16105         * gst/gstiterator.c:
16106         * gst/gststructure.c:
16107           doc fixes
16108
16109         * libs/gst/controller/gstcontroller.c:
16110         (gst_controlled_property_set_interpolation_mode):
16111         * libs/gst/controller/gstcontroller.h:
16112         * libs/gst/controller/gstinterpolation.c:
16113         (interpolate_none_get_enum_value_array):
16114           support controlling enums
16115
16116 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
16117
16118         * gst/gstvalue.c:
16119           Improve documentation for gst_value_union().
16120
16121         * gst/gstvalue.h:
16122           Change return value for union, intersect and subtract functions
16123           from gint to gboolean.
16124
16125 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
16126
16127         * gst/gstvalue.c: (gst_value_serialize_any_list),
16128         (gst_value_transform_any_list_string),
16129         (gst_value_deserialize_list), (gst_value_deserialize_array),
16130         (gst_value_set_int_range), (gst_value_deserialize_int_range),
16131         (gst_value_set_double_range), (gst_value_deserialize_double_range),
16132         (gst_value_set_fraction_range_full),
16133         (gst_value_deserialize_fraction_range),
16134         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
16135         (gst_value_deserialize_boolean),
16136         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
16137         (gst_value_serialize_float), (gst_value_deserialize_float),
16138         (gst_string_wrap), (gst_value_deserialize_string),
16139         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
16140         (gst_value_union_int_range_int_range),
16141         (gst_value_intersect_int_range_int_range),
16142         (gst_value_intersect_double_range_double_range),
16143         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
16144         (gst_value_subtract_int_range_int_range),
16145         (gst_value_subtract_double_double_range),
16146         (gst_value_subtract_double_range_double_range),
16147         (gst_value_deserialize_fraction):
16148         * gst/gstvalue.h:
16149           Use gint, gdouble and gchar in our API instead of int, double and
16150           char (and make usage in gstvalue.c more consistent).
16151
16152 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16153
16154         * check/Makefile.am:
16155         * libs/gst/controller/Makefile.am:
16156         * libs/gst/dataprotocol/Makefile.am:
16157           fix up Makefile.am and remove GST_ENABLE_NEW
16158
16159 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16160
16161         * configure.ac:
16162         * gst/Makefile.am:
16163         * gst/base/Makefile.am:
16164         * gst/check/Makefile.am:
16165         * gst/elements/Makefile.am:
16166         * gst/net/Makefile.am:
16167           update LDFLAGS use some more
16168
16169 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16170
16171         * common/m4/gst-doc.m4:
16172           Fixes #312589
16173
16174 2005-11-26  Edward Hervey  <edward@fluendo.com>
16175
16176         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
16177         This shouldn't issue a g_warning since it returns NULL if it
16178         couldn't find the plugin, and all functions using this behave
16179         properly on a NULL return. Switching to a GST_WARNING.
16180
16181 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
16182
16183         * gst/gstbin.c: (gst_bin_handle_message_func):
16184         Don't leak clock messages.
16185
16186 2005-11-25  Wim Taymans  <wim@fluendo.com>
16187
16188         * gst/gstutils.c: (gst_util_uint64_scale_int64),
16189         (gst_util_uint64_scale_int):
16190         Optimisations, remove unneeded vars.
16191
16192 2005-11-25  Wim Taymans  <wim@fluendo.com>
16193
16194         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16195         Added more checks for the high precision uint64 cases.
16196
16197         * gst/gstutils.c: (gst_util_uint64_scale_int64),
16198         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
16199         Implement high precision (guint64 * guint64) / guint64.
16200
16201 2005-11-24  Wim Taymans  <wim@fluendo.com>
16202
16203         * gst/base/gstbasesrc.c: (gst_base_src_query):
16204         Fix wrong percentage query.
16205
16206         * gst/gstutils.c: (gst_util_uint64_scale),
16207         (gst_util_uint64_scale_int):
16208         Add some more common cases that can be handled 
16209         efficiently to _scale.
16210
16211 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16212
16213         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
16214         (gst_mini_object_suite):
16215           don't use check calls from threads; check probably isn't
16216           threadsafe and using a lock to make it threadsafe would
16217           defeat the purpose of this check
16218         * gst/check/gstcheck.c:
16219         * gst/check/gstcheck.h:
16220           use GST_DEBUG some more
16221
16222 2005-11-24  Wim Taymans  <wim@fluendo.com>
16223
16224         * gst/gstutils.c: (gst_util_uint64_scale),
16225         (gst_util_uint64_scale_int):
16226         Chain trivial case to _scale_int.
16227
16228 2005-11-24  Wim Taymans  <wim@fluendo.com>
16229
16230         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16231         Added test for scaling.
16232
16233         * gst/gstclock.h:
16234         Small doc fix.
16235
16236         * gst/gstutils.c: (gst_util_uint64_scale_int):
16237         Implemented high precision scaling code.
16238
16239 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
16240
16241         * gst/gstinfo.h:
16242           do not crash on pad==NULL
16243
16244 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16245
16246         Patch by: Stefan Kost
16247
16248         * common/gtk-doc.mak:
16249         * docs/gst/Makefile.am:
16250         * docs/libs/Makefile.am:
16251           Fix distcheck issues for the libraries docs build
16252           Closes #319599.
16253
16254 2005-11-24  Michael Smith <msmith@fluendo.com>
16255
16256         * docs/manual/basics-helloworld.xml:
16257           Fix bug #315027: memory leak in example code in docs.
16258
16259 2005-11-24  Michael Smith <msmith@fluendo.com>
16260
16261         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16262           Unlock the PREROLL_LOCK in a failure case.
16263
16264 2005-11-24  Wim Taymans  <wim@fluendo.com>
16265
16266         * docs/gst/gstreamer-sections.txt:
16267         * gst/base/gstadapter.h:
16268         * gst/base/gstbasesink.h:
16269         * gst/base/gstbasesrc.h:
16270         * gst/base/gstbasetransform.h:
16271         * gst/base/gstpushsrc.h:
16272         * gst/elements/gstfakesink.h:
16273         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
16274         * gst/elements/gstfakesrc.h:
16275         * gst/elements/gstfilesink.h:
16276         * gst/elements/gstfilesrc.h:
16277         * gst/gst.c:
16278         * gst/gstbin.c:
16279         * gst/gstbuffer.c: (_gst_buffer_copy):
16280         * gst/gstbus.h:
16281         * gst/gstcaps.c:
16282         * gst/gstchildproxy.c:
16283         * gst/gstclock.c:
16284         * gst/gstelement.c:
16285         * gst/gstelementfactory.c:
16286         * gst/gstelementfactory.h:
16287         * gst/gstevent.c:
16288         * gst/gstghostpad.h:
16289         * gst/gstindex.h:
16290         * gst/gstinterface.h:
16291         * gst/gstminiobject.c:
16292         * gst/gstminiobject.h:
16293         * gst/gstpad.c:
16294         * gst/gstpad.h:
16295         * gst/gstpadtemplate.h:
16296         * gst/gstpipeline.h:
16297         * gst/gstpluginfeature.h:
16298         * gst/gstquery.h:
16299         * gst/gstqueue.h:
16300         * gst/gsttaglist.c:
16301         * gst/gsttaglist.h:
16302         * gst/gsttagsetter.c:
16303         * gst/gsttagsetter.h:
16304         * gst/gsttrace.c:
16305         * gst/gsttrace.h:
16306         * gst/gsttypefind.h:
16307         * gst/gsturi.h:
16308         * gst/gstvalue.c:
16309         * gst/net/gstnetclientclock.c:
16310         * gst/net/gstnetclientclock.h:
16311         * gst/net/gstnettimepacket.c:
16312         * gst/net/gstnettimeprovider.c:
16313         * gst/net/gstnettimeprovider.h:
16314         Doc fixes.
16315
16316 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16317
16318         * configure.ac: back to HEAD
16319
16320 === release 0.9.6 ===
16321
16322 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
16323
16324         * configure.ac:
16325           releasing 0.9.6, "Always On Time"
16326
16327 2005-11-23  Wim Taymans  <wim@fluendo.com>
16328
16329         * docs/gst/gstreamer-sections.txt:
16330         * gst/glib-compat.c:
16331         * gst/gsttagsetter.c:
16332         * gst/gstvalue.c:
16333         * gst/net/gstnetclientclock.c:
16334         * gst/net/gstnettimepacket.h:
16335         Doc updates.
16336
16337 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16338
16339         * docs/faq/using.xml:
16340         * docs/libs/tmpl/gstcontrol.sgml:
16341         * docs/manual/advanced-dparams.xml:
16342         * docs/manual/appendix-checklist.xml:
16343         * docs/manual/basics-elements.xml:
16344         * docs/pwg/other-source.xml:
16345         * docs/random/moving-plugins:
16346         * gst/gstpad.c:
16347         * tools/gst-launch.1.in:
16348           remove mentions of sinesrc
16349
16350 2005-11-23  Michael Smith <msmith@fluendo.com>
16351
16352         * docs/gst/gstreamer-sections.txt:
16353           Update for new API and API changes.
16354         * gst/gstobject.h:
16355           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
16356         * gst/gstvalue.c:
16357           Documentation typo fix.
16358         * gst/net/gstnettimepacket.c:
16359           Documentation fixes for arguments.
16360
16361 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
16362
16363         * gst/gststructure.c: (gst_structure_get_fraction),
16364         (gst_structure_parse_value),
16365         (gst_structure_fixate_field_nearest_fraction):
16366         * gst/gststructure.h:
16367         * gst/gstutils.c: (gst_util_uint64_scale_int):
16368         * gst/gstutils.h:
16369         * scripts/update-funcnames:
16370         API Changes. 
16371         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
16372         Make gst_structure_fixate_field_nearest_fraction take a numerator
16373         and denominator argument instead of a GValue
16374         add gst_structure_get_fraction helper function.
16375
16376 2005-11-23  Wim Taymans  <wim@fluendo.com>
16377
16378         * docs/design/part-TODO.txt:
16379         Update TODO.
16380
16381         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
16382         * gst/net/gstnetclientclock.h:
16383         Use parent fields for timeout and window_size.
16384
16385 2005-11-23  Andy Wingo  <wingo@pobox.com>
16386
16387         * check/net/gstnetclientclock.c (test_functioning): Adjust to
16388         rate_num/rate_denom change.
16389
16390         * gst/net/gstnetclientclock.c
16391         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
16392         OBJECT_LOCK. Don't call add_observation with the lock.
16393
16394         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
16395         fraction.
16396         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
16397         rate fraction.
16398         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
16399         deal with rate as a fraction whose numerator and denominator are
16400         GstClockTime values.
16401         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
16402         master; the other fields are protected by the SLAVE_LOCK.
16403         (do_linear_regression): Note that this must be called with the
16404         SLAVE_LOCK.
16405         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
16406         OBJECT_LOCK. Call set_calibration instead of touching the
16407         variables directly.
16408         (gst_clock_set_property, gst_clock_get_property): Protect
16409         master/slave parameters with the SLAVE_LOCK.
16410
16411         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
16412         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
16413         note that all of the instance variables that add_observation and
16414         the set_master functions use are protected by that lock and not
16415         the OBJECT_LOCK.
16416         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
16417
16418         * gst/gstclock.c (gst_clock_add_observation): No longer requires
16419         the caller to take the object lock.
16420
16421 2005-11-23  Wim Taymans  <wim@fluendo.com>
16422
16423         * gst/gsterror.c: (_gst_core_errors_init):
16424         * gst/gsterror.h:
16425         Add error for clock stuff.
16426
16427         * gst/gstpipeline.c: (gst_pipeline_change_state),
16428         (gst_pipeline_set_clock):
16429         Post clock error when clock cannot be used in a pipeline.
16430
16431 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
16432
16433         * docs/gst/gstreamer-sections.txt:
16434           make two symbols from gstinfo private for the docs
16435         * gst/base/gstcollectpads.h:
16436         * gst/gstutils.c:
16437           fix doc typos, update docs
16438
16439 2005-11-22  Wim Taymans  <wim@fluendo.com>
16440
16441         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16442         (gst_base_sink_wait), (gst_base_sink_do_sync),
16443         (gst_base_sink_handle_event):
16444         * gst/base/gstbasesink.h:
16445         No need to store the clock, the parent element class already
16446         has it.
16447
16448         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
16449         Updates for clock_set returning a gboolean
16450
16451         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
16452         (gst_clock_id_wait_async), (gst_clock_class_init),
16453         (gst_clock_init), (gst_clock_finalize),
16454         (gst_clock_get_internal_time), (gst_clock_get_time),
16455         (gst_clock_slave_callback), (gst_clock_set_master),
16456         (gst_clock_get_master), (do_linear_regression),
16457         (gst_clock_add_observation), (gst_clock_set_property),
16458         (gst_clock_get_property):
16459         * gst/gstclock.h:
16460         Implement master/slave. When setting a clock as a slave, a
16461         periodic timeout is scheduled to sample master and slave times.
16462         Then the slave clock is recalibrated to match offset and rate
16463         of the master clock.
16464         Update logging a bit.
16465         Add flag so that a clock can state that is cannot be slaved to
16466         another clock.
16467
16468         * gst/gstelement.c: (gst_element_set_clock):
16469         * gst/gstelement.h:
16470         The set clock returns a gboolean for when an element cannot
16471         deal with the selected clock in the pipeline. 
16472
16473         * gst/gstpipeline.c: (gst_pipeline_change_state),
16474         (gst_pipeline_set_clock):
16475         * gst/gstpipeline.h:
16476         Handle the case where the selected clock cannot be set on
16477         the pipeline.
16478
16479         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
16480         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
16481         (gst_net_client_clock_set_property),
16482         (gst_net_client_clock_get_property),
16483         (gst_net_client_clock_observe_times):
16484         * gst/net/gstnetclientclock.h:
16485         Use regression code in GstClock parent, remove duplicated
16486         functionality.
16487
16488 2005-11-22  Michael Smith <msmith@fluendo.com>
16489
16490         * gst/gstutils.c: (gst_util_clock_time_scale):
16491         * gst/gstutils.h:
16492         * docs/gst/gstreamer-sections.txt:
16493           Rename method to have extra underscore.
16494
16495 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16496
16497         * gst/elements/Makefile.am:
16498         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
16499         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
16500         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
16501         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
16502         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
16503         * gst/elements/gstfakesrc.h:
16504         * gst/gstqueue.c: (queue_leaky_get_type):
16505           correctly fix GEnumValues so that nick is the short lowercase
16506           dashed tag
16507         * tools/gst-inspect.c: (print_element_properties_info):
16508           also show the nick, since it's useful to use from parse_launch
16509           syntax
16510           Fixes #322139
16511
16512 2005-11-22  Michael Smith <msmith@fluendo.com>
16513
16514         * gst/gstutils.c: (gst_util_clocktime_scale):
16515         * gst/gstutils.h:
16516         * docs/gst/gstreamer-sections.txt:
16517           Add util method for scaling a clocktime by a fraction. Useful 
16518           implementation is left as an exercise for the reader.
16519
16520 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16521
16522         * gst/gstvalue.c: (gst_value_collect_fraction_range):
16523         If needed, allocate storage in the destination value during
16524         collection.
16525
16526 2005-11-22  Edward Hervey  <edward@fluendo.com>
16527
16528         * docs/gst/gstreamer-sections.txt:
16529         * gst/Makefile.am:
16530         * gst/gst.h:
16531         * gst/gsturitype.c:
16532         * gst/gsturitype.h:
16533         * gst/gstutils.c: (gst_util_set_object_arg):
16534         * tools/gst-compprep.c: (main):
16535         * tools/gst-inspect.c: (print_element_properties_info):
16536         Removed GstURI, closes bug #321061
16537
16538 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16539
16540         * check/gst/gststructure.c: (GST_START_TEST):
16541         * gst/gststructure.c: (gst_structure_parse_value):
16542           Oops, broke automatic string type parsing.
16543           Add a test to catch it in future.
16544
16545 2005-11-22  Andy Wingo  <wingo@pobox.com>
16546
16547         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
16548         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
16549         Actually rename the function implementations. Grr.
16550
16551 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16552
16553         * check/gst/capslist.h:
16554           Comment test cases
16555         * check/gst/gststructure.c: (GST_START_TEST),
16556         (gst_structure_suite):
16557           Test automatic value type detection in gst_structure_from_string.
16558         * gst/gststructure.c: (gst_structure_parse_value):
16559           Add fraction as a type we try and guess automatically in
16560           caps/structure strings.
16561
16562 2005-11-22  Andy Wingo  <wingo@pobox.com>
16563
16564         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
16565
16566         * gst/gsttagsetter.h:
16567         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
16568         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
16569         (gst_tag_setter_add_tag_valist)
16570         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
16571         _add_values, _add_valist, and _add_valist_values. Since this is an
16572         interface the function suffixes should be more explicit so
16573         language binding don't end up with element.add_valist ->
16574         gst_tag_setter_add_valist, for example. Fixes #322069.
16575
16576 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16577
16578         * check/gst/gstcaps.c: (GST_START_TEST):
16579           Extend caps string tests to check that a caps to string
16580           conversion is reversible and produces the same caps.
16581
16582         * gst/gststructure.c: (gst_structure_value_get_generic_type):
16583           Output "fraction" as the generic type fraction range, so caps
16584           serialisation and deserialisation works.
16585         * check/gst/capslist.h:
16586         * gst/gstvalue.c: (gst_value_deserialize_fraction):
16587           Support 'MIN' and 'MAX' for deserialising fractions.
16588
16589 2005-11-22  Andy Wingo  <wingo@pobox.com>
16590
16591         * gst/gstevent.h (gst_event_new_new_segment)
16592         (gst_event_parse_new_segment, gst_event_new_buffer_size)
16593         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
16594         Renamed from *_newsegment, *_buffersize, *_notarget.
16595
16596         * scripts/update-funcnames: New script, performs the changes
16597         listed above.
16598
16599 2005-11-22  Wim Taymans  <wim@fluendo.com>
16600
16601         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16602         Make sure the GstFlowReturn is returned.
16603
16604         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
16605         (gst_bus_add_signal_watch):
16606         * gst/gstbus.h:
16607         add gst_bus_add_signal_watch_full.
16608
16609         * gst/gstplugin.c: (gst_plugin_load_file):
16610         Small style cleanup.
16611
16612 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16613
16614         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
16615           Block the fakesrc srcpad when we send an event, to avoid
16616           contention on the stream_lock causing random test failures.
16617
16618 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16619
16620         * check/gst/gstvalue.c: (GST_START_TEST):
16621         * gst/gstvalue.c: (gst_value_fraction_subtract):
16622           Fix subtraction.
16623
16624 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
16625
16626         * gst/gst.h:
16627           include "gstchildproxy.h"
16628         * gst/gstchildproxy.h:
16629         * libs/gst/controller/gstcontroller.h:
16630           use G_GNUC_NULL_TERMINATED
16631
16632 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16633
16634         * check/gst/capslist.h:
16635         * check/gst/gstcaps.c: (GST_START_TEST):
16636         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16637         * gst/gststructure.c: (gst_structure_parse_range),
16638         (gst_structure_fixate_field_nearest_fraction):
16639         * gst/gststructure.h:
16640         * gst/gstvalue.c: (gst_value_init_fraction_range),
16641         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
16642         (gst_value_collect_fraction_range),
16643         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
16644         (gst_value_set_fraction_range_full),
16645         (gst_value_get_fraction_range_min),
16646         (gst_value_get_fraction_range_max),
16647         (gst_value_serialize_fraction_range),
16648         (gst_value_transform_fraction_range_string),
16649         (gst_value_compare_fraction_range),
16650         (gst_value_deserialize_fraction_range),
16651         (gst_value_intersect_fraction_fraction_range),
16652         (gst_value_intersect_fraction_range_fraction_range),
16653         (gst_value_subtract_fraction_fraction_range),
16654         (gst_value_subtract_fraction_range_fraction),
16655         (gst_value_subtract_fraction_range_fraction_range),
16656         (gst_value_collect_fraction), (gst_value_fraction_multiply),
16657         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
16658         (gst_value_transform_string_fraction), (_gst_value_initialize):
16659         * gst/gstvalue.h:
16660           Implement fraction ranges and extend GstFraction to support
16661           arithmetic subtraction, as well as deserialization from integer
16662           strings such as "100"
16663           Add a testsuite as for int and double range set operations
16664
16665 2005-11-21  Andy Wingo  <wingo@pobox.com>
16666
16667         * gst/gsttaglist.h: 
16668         * gst/gstcaps.h: 
16669         * gst/gststructure.h: Add glib-compat.h.
16670
16671 2005-11-21  Wim Taymans  <wim@fluendo.com>
16672
16673         * gst/gstbin.c: (gst_bin_change_state_func):
16674         Fix for #321595
16675
16676 2005-11-21  Wim Taymans  <wim@fluendo.com>
16677
16678         * gst/gstsegment.h:
16679         And add a nice define too.
16680
16681 2005-11-21  Wim Taymans  <wim@fluendo.com>
16682
16683         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
16684         (gst_segment_new), (gst_segment_free), (gst_segment_init),
16685         (gst_segment_set_duration), (gst_segment_set_last_stop),
16686         (gst_segment_set_seek), (gst_segment_set_newsegment),
16687         (gst_segment_to_stream_time), (gst_segment_to_running_time),
16688         (gst_segment_clip):
16689         * gst/gstsegment.h:
16690         Make binding friendly.
16691
16692 2005-11-21  Andy Wingo  <wingo@pobox.com>
16693
16694         * gst/gsttagsetter.h: 
16695         * gst/gsttaglist.h: 
16696         * gst/gststructure.h: 
16697         * gst/gstcaps.h: 
16698         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
16699         #319940.
16700
16701         * gst/gsterror.c (_gst_core_errors_init):
16702         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
16703         category.
16704
16705         * gst/Makefile.am (gst_headers): Add glib-compat.h.
16706         (noinst_HEADERS): noinst the -private.
16707
16708 2005-11-21  Michael Smith <msmith@fluendo.com>
16709
16710         * gst/gstplugin.h:
16711         * gst/gstregistry.h:
16712           Remove unimplemented declarations for which we can see no sensible
16713           use.
16714
16715 2005-11-21  Andy Wingo  <wingo@pobox.com>
16716
16717         * gst/gst.h: Include glib-compat.h.
16718
16719         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
16720
16721         * gst/glib-compat.c: Include the public and the private header.
16722
16723         * gst/glib-compat-private.h: Copied here from glib-compat.h.
16724
16725         * gst/gstvalue.c: 
16726         * gst/gstpad.c: 
16727         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
16728
16729         * check/gst/gstevent.c (create_custom_events): Check that
16730         FLUSH_STOP is serialized.
16731
16732         * check/elements/identity.c (event_func): 
16733         * check/elements/fakesrc.c (event_func): No stream lock, the core
16734         takes it.
16735
16736         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
16737         stream lock taking, yay.
16738
16739         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
16740         ensure that core takes the stream lock.
16741
16742         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
16743         lock name change.
16744
16745         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
16746         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
16747         it already. For the flush start we do take it though so we get the
16748         right preroll state change messages.
16749
16750         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
16751         the stream lock here, the core does it for us.
16752
16753         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
16754         GST_STREAM_GET_LOCK.
16755         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
16756         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
16757         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
16758         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
16759         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
16760         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
16761
16762         * gst/gstpad.c: Update for stream lock name change.
16763
16764         * gst/base/gstbasesink.c: Update for preroll lock name change.
16765
16766 2005-11-21  Wim Taymans  <wim@fluendo.com>
16767
16768         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
16769         (gst_clock_get_master):
16770         * gst/gstclock.h:
16771         * gst/gstsystemclock.c: (gst_system_clock_init):
16772         Convert Clock flags to object flags.
16773         Added methods to manage master/slave clocks.
16774
16775 2005-11-21  Wim Taymans  <wim@fluendo.com>
16776
16777         * check/gst/gstsegment.c: (GST_START_TEST):
16778         * docs/design/part-TODO.txt:
16779         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16780         (gst_base_sink_event), (gst_base_sink_do_sync),
16781         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
16782         (gst_base_sink_query), (gst_base_sink_change_state):
16783         * gst/base/gstbasesink.h:
16784         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
16785         (gst_base_src_default_newsegment),
16786         (gst_base_src_configure_segment), (gst_base_src_do_seek),
16787         (gst_base_src_get_range), (gst_base_src_loop),
16788         (gst_base_src_change_state):
16789         * gst/base/gstbasesrc.h:
16790         * gst/base/gstbasetransform.c:
16791         (gst_base_transform_prepare_output_buf),
16792         (gst_base_transform_event), (gst_base_transform_change_state):
16793         * gst/base/gstbasetransform.h:
16794         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
16795         (gst_collect_pads_event):
16796         * gst/base/gstcollectpads.h:
16797         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
16798         (gst_fake_src_create):
16799         * gst/elements/gstfakesrc.h:
16800         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
16801         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
16802         (gst_segment_set_last_stop), (gst_segment_set_seek),
16803         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
16804         (gst_segment_to_running_time), (gst_segment_clip):
16805         * gst/gstsegment.h:
16806         More segment updates, replace code in plugins with segment
16807         helper functions.
16808
16809 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
16810
16811         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
16812         Don't ignore sscanf results
16813
16814 2005-11-21  Andy Wingo  <wingo@pobox.com>
16815
16816         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
16817
16818         * *.h:
16819         * *.c: Ran scripts/update-macros. Oh yes.
16820
16821         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
16822         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
16823         GST_GET_LOCK, etc.
16824
16825         * scripts/update-macros: New script. Run it on your files to
16826         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
16827         well.
16828
16829 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
16830
16831         * docs/gst/Makefile.am:
16832         * docs/gst/gstreamer-docs.sgml:
16833         * docs/gst/gstreamer-sections.txt:
16834         * docs/gst/gstreamer.types:
16835         * gst/gstinfo.h:
16836           more docs fixes, add new api to the docs
16837
16838 2005-11-21  Andy Wingo  <wingo@pobox.com>
16839
16840         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
16841         state_broadcast call.
16842
16843         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
16844
16845 2005-11-21  Julien MOUTTE  <julien@moutte.net>
16846
16847         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
16848         function calls for arrays.
16849
16850 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
16851
16852         * docs/random/ensonic/media-device-daemon.txt:
16853           wild idea, can this be done?
16854         * docs/gst/gstreamer-sections.txt:
16855         * gst/gsterror.h:
16856         * gst/gstfilter.c:
16857         * gst/gstfilter.h:
16858         * gst/gstplugin.h:
16859         * gst/gstpluginfeature.c:
16860         * gst/gsttrace.c:
16861         * gst/gstvalue.c:
16862         * gst/gstvalue.h:
16863           doc fixes and additions
16864
16865 2005-11-21  Andy Wingo  <wingo@pobox.com>
16866
16867         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
16868         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
16869         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
16870         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
16871         private to the basesrc implementation.
16872
16873         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
16874         behalf of event function if necessary. It should no longer be
16875         necessary to take the stream lock in pad's event functions. Fixes
16876         #320299.
16877
16878 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
16879         * docs/gst/gstreamer-sections.txt:
16880         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
16881         (gst_structure_fixate_field_nearest_double),
16882         (gst_structure_fixate_field_boolean):
16883         * gst/gststructure.h:
16884         * win32/common/libgstreamer.def:
16885         * win32/gstreamer.def:
16886
16887         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
16888         (#322027)
16889
16890 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
16891
16892         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
16893         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
16894         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
16895         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
16896         (gst_fdsrc_uri_handler_init):
16897         * gst/elements/gstfdsrc.h:
16898           Port fd:// URI handler from 0.8 to fdsrc
16899
16900 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16901
16902         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
16903         (gst_value_serialize_fourcc):
16904         * gst/gstvalue.h:
16905           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
16906           consistent with our other format defines (#320324).
16907
16908 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16909
16910         * gst/gstvalue.c: (gst_value_is_fixed):
16911           Revert previous commit. Value lists are by definition
16912           not fixed, as they are a list of possible values.
16913
16914 2005-11-21  Andy Wingo  <wingo@pobox.com>
16915
16916         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
16917         during the stable series if we need it. Fixes #319178.
16918
16919         * gst/gstevent.c (gst_event_new_filler): Removed.
16920
16921         * check/gst/gstevent.c: Update comment about filler events.
16922
16923 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16924
16925         * gst/gstvalue.c: (gst_value_is_fixed):
16926           Should handle both value arrays and value lists.
16927
16928 2005-11-21  Andy Wingo  <wingo@pobox.com>
16929
16930         patch by: Alessandro Dessina <alessandro nnva org>
16931
16932         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
16933         functions to access arrays. Fixes #321962.
16934
16935 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16936
16937         * docs/gst/gstreamer.types:
16938           gst_collectpads_get_type => gst_collect_pads_get_type.
16939           
16940         * gst/base/gstbasetransform.c:
16941           Remove unused SIGNAL_HANDOFF enum.
16942
16943 2005-11-21  Andy Wingo  <wingo@pobox.com>
16944
16945         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
16946         the event type (upstream, downstream, serialized). Renamed
16947         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
16948         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
16949         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
16950
16951         * gst/gstevent.c: Update for new CUSTOM event names.
16952
16953         * check/gst/gstevent.c: Update check for new CUSTOM event names.
16954
16955         * gst/gstevent.h:
16956         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
16957         bug #319392.
16958
16959 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16960
16961         * docs/gst/gstreamer-sections.txt:
16962         * win32/common/libgstbase.def:
16963         * win32/libgstbase.def:
16964         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
16965         (gst_collect_pads_class_init), (gst_collect_pads_init),
16966         (gst_collect_pads_finalize), (gst_collect_pads_new),
16967         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
16968         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
16969         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
16970         (gst_collect_pads_start), (gst_collect_pads_stop),
16971         (gst_collect_pads_peek), (gst_collect_pads_pop),
16972         (gst_collect_pads_available), (gst_collect_pads_read),
16973         (gst_collect_pads_flush), (gst_collect_pads_event),
16974         (gst_collect_pads_chain):
16975         * gst/base/gstcollectpads.h:
16976           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
16977           unimplemented functions as unimplemented. Add padding to
16978           GstCollectData. (#320766, #320423)
16979
16980 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
16981
16982         * gst/gstmessage.c:
16983           Improve docs for DURATION message (usage of duration parameter)
16984           (#320113)
16985
16986 2005-11-20  Wim Taymans  <wim@fluendo.com>
16987
16988         * check/Makefile.am:
16989         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
16990         (main):
16991         * gst/Makefile.am:
16992         * gst/gst.h:
16993         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
16994         (gst_segment_set_seek), (gst_segment_set_newsegment),
16995         (gst_segment_to_stream_time), (gst_segment_to_running_time),
16996         (gst_segment_clip):
16997         * gst/gstsegment.h:
16998         Added segment helper structure and methods. Not fully implemented
16999         yet.
17000         Added segment check.
17001
17002 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
17003
17004         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17005           Add a deserialisation test for fractions
17006         * examples/metadata/read-metadata.c: (message_loop),
17007         (make_pipeline), (main):
17008           Fix up metadata reading sample.
17009         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17010           Debug format fix
17011         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
17012           Don't try and fixate empty caps
17013         * gst/gst_private.h:
17014           Wrap in G_BEGIN_DECLS/G_END_DECLS
17015         * gst/gstvalue.c: (gst_value_collect_fraction),
17016         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
17017         (gst_value_transform_string_fraction),
17018         (gst_value_compare_fraction):
17019           Add some extra guards to ensure that we don't end up 
17020           with an invalid denominator of 0 in a gstfraction and
17021           that fractions always get reduced.
17022
17023 2005-11-20  Wim Taymans  <wim@fluendo.com>
17024
17025         * docs/gst/gstreamer-sections.txt:
17026         * gst/gstbuffer.h:
17027         * gst/gstelement.c:
17028         * gst/gstformat.c:
17029         * gst/gstformat.h:
17030         * gst/gstindex.h:
17031         * gst/gstquery.c:
17032         * gst/gstquery.h:
17033         * gst/gstvalue.c:
17034         Doc fixes.
17035
17036 2005-11-20  Wim Taymans  <wim@fluendo.com>
17037
17038         * docs/design/part-TODO.txt:
17039         * gst/gstcaps.h:
17040         Make a proper enum of the flag.
17041
17042 2005-11-19  Wim Taymans  <wim@fluendo.com>
17043
17044         * docs/design/part-TODO.txt:
17045         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
17046         (gst_format_to_quark), (gst_format_register):
17047         * gst/gstformat.h:
17048         * gst/gstquery.c: (_gst_query_initialize),
17049         (gst_query_type_get_name), (gst_query_type_to_quark),
17050         (gst_query_type_register):
17051         * gst/gstquery.h:
17052         Add type to quark and type to string conversions.
17053
17054 2005-11-19  Andy Wingo  <wingo@pobox.com>
17055
17056         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
17057         #320097.
17058
17059 2005-11-19  Wim Taymans  <wim@fluendo.com>
17060
17061         * docs/design/part-TODO.txt:
17062         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
17063         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
17064         (gst_bin_handle_message_func):
17065         * gst/gstbin.h:
17066         Make message handling overridable.
17067
17068 2005-11-19  Andy Wingo  <wingo@pobox.com>
17069
17070         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
17071
17072         * gst/gstclock.h:
17073         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
17074         be a GstClockTime.
17075         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
17076         is a GstClockTime. Fixes #321710.
17077
17078         * gst/gstclock.h (GstClock): Remove offset property. Add
17079         internal_calibration and external_calibration. Fix padding. Pad
17080         also by GstClockTime so we don't run into problems.
17081
17082         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
17083         (gst_clock_get_rate_offset): Remove.
17084         (gst_clock_set_time_adjust): Remove. Fixes #321712.
17085
17086         * gst/gstutils.h:
17087         * gst/gstutils.c (g_static_rec_cond_wait)
17088         (g_static_rec_cond_timed_wait): Removed, no longer needed.
17089
17090         * gst/gstbin.c: Remove terrible continue_state prototype.
17091
17092         * gst/gstelement.h (gst_element_continue_state): Make public.
17093
17094         * gst/gstelement.h:
17095         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
17096         by continue_state. Fixes #319389.
17097
17098         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
17099         Really fixes #168438. However I don't see anywhere where the
17100         filter function is called... stupid GStreamer...
17101         
17102         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
17103         don't have a dispose function, so it won't get called when the
17104         object is unreffed, but oh well!
17105
17106         * gst/gstindex.c (gst_index_set_filter_full): New API function,
17107         allows a destroy function to be set so user_data can be freed.
17108         Fixes #168438.
17109         (gst_index_set_filter): Call gst_index_set_filter_full.
17110
17111         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
17112
17113         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
17114         string should produce an error, given the lack of a way to
17115         represent NULL strings. Fixes #165650.
17116         
17117         * gst/gstvalue.h: 
17118         * gst/gstvalue.c (gst_value_array_append_value) 
17119         (gst_value_array_prepend_value, gst_value_array_get_size) 
17120         (gst_value_array_get_value): New API, copied from
17121         gst_value_list_*, only operates on arrays.
17122         (gst_value_list_append_value, gst_value_list_prepend_value) 
17123         (gst_value_list_concat, gst_value_list_get_size) 
17124         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
17125
17126         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
17127         init_list, because it works on both.
17128         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
17129         (gst_value_copy_list_or_array): Renamed from copy_list.
17130         (gst_value_free_list_or_array): Renamed from free_list.
17131         (gst_value_collect_list_or_array): Renamed from collect_list.
17132         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
17133         (gst_value_list_or_array_peek_pointer): Renamed from
17134         list_peek_pointer.
17135         (_gst_value_array_value_table, _gst_value_list_value_table):
17136         Update value table functions.
17137         (gst_value_compare_list_or_array): Renamed from compare_list.
17138
17139         * gsttaglist.h: Whoops, foreach function returns void. Also fix
17140         some constness.
17141
17142         * gst/gsttaglist.c:
17143         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
17144         GstTagList*. Fixes #143472.
17145
17146         * gst/gststructure.h: Clarify what the foreach/map functions can
17147         or can't do to their arguments.
17148
17149 2005-11-18  Wim Taymans  <wim@fluendo.com>
17150
17151         * gst/gstclock.c: (gst_clock_set_calibration),
17152         (gst_clock_get_calibration):
17153         Doc and API fixes.
17154         Calibration can be set with internal time equal to current
17155         internal time too.
17156
17157 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17158
17159         * gst/gsterror.c:
17160         * gst/gsterror.h:
17161           document
17162
17163 2005-11-18  Andy Wingo  <wingo@pobox.com>
17164
17165         * configure.ac: 
17166         * pkgconfig/gstreamer-net.pc.in:
17167         * pkgconfig/gstreamer-net-uninstalled.pc.in:
17168         * pkgconfig/Makefile.am: Add net pkgconfig files.
17169
17170 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
17171
17172         * gst/gstcaps.c:
17173         * gst/gstghostpad.c:
17174         * gst/gsttrace.c:
17175         * gst/gstvalue.c:
17176         * gst/gstvalue.h:
17177           docs fixes
17178
17179 2005-11-18  Andy Wingo  <wingo@pobox.com>
17180
17181         * gst/net/gstnetclientclock.c: Turn off debugging.
17182
17183         * check/net/gstnetclientclock.c (test_functioning): Assert that the
17184         times connverge somewhat. Can't make a real test.
17185
17186         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
17187         integer arithmetic. Return the minimum of the domain, which can be
17188         set as "internal" for gst_clock_set_calibration.
17189         (gst_net_client_clock_observe_times): Call _set_calibration.
17190         (gst_net_client_clock_new): Call _set_calibration instead of
17191         rate_offset.
17192
17193         * check/net/gstnetclientclock.c (test_functioning): Use the right
17194         adjustment api.
17195
17196         * gst/gstclock.h:
17197         * gst/gstclock.c (gst_clock_get_calibration) 
17198         (gst_clock_set_calibration): New functions, obsolete the ones I
17199         added yesterday. Doh. Precision issues mean we have to extrapolate
17200         from a point in the more recent past than 1970.
17201         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
17202         obsolete.
17203         (gst_clock_adjust_unlocked): Use the right calibration data.
17204
17205 2005-11-18  Edward Hervey  <edward@fluendo.com>
17206
17207         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
17208         Also reset the ->current_* values in READY->PAUSED
17209
17210 2005-11-18  Andy Wingo  <wingo@pobox.com>
17211
17212         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
17213         Whoops, check the right fd. Also add some debugging.
17214         (gst_net_client_clock_observe_times): Adjust for int64 offset.
17215         (do_linear_regression): Add a crapload of debugging. Subtract off
17216         the minimum values from the input series to discard unneeded bits.
17217         Use only int arithmetic. There is still double arithmetic when
17218         calculating the intercept that needs fixing. Return boolean to
17219         indicate success; FALSE would mean the domain or range is too
17220         great. Still needs fixes.
17221
17222 2005-11-18  Wim Taymans  <wim@fluendo.com>
17223
17224         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
17225         For the current position in stream time, we need to subtract
17226         accumulated time.
17227         
17228         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
17229         Release lock before calling the callback function of async
17230         entries.
17231
17232 2005-11-18  Andy Wingo  <wingo@pobox.com>
17233
17234         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
17235         Port goes all the way to MAXUINT16.
17236
17237         * gst/net/gstnettimeprovider.c: Make the port range the same as
17238         for the kernel: 0 assigns, otherwise ports are less than
17239         MAXUINT16.
17240
17241         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
17242         port change.
17243
17244         * check/net/gstnetclientclock.c (test_functioning): Add the start
17245         of another test. 
17246
17247 2005-11-18  Wim Taymans  <wim@fluendo.com>
17248
17249         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17250         (gst_bin_remove_func), (bin_bus_handler):
17251         * gst/gstbin.h:
17252         Removing a clock provider from a bin, triggers a clock lost message
17253         so that a new clock will be selected.
17254         Adding a clock to a bin triggers a clock provider message.
17255         Make sure we reselect a clock when we received a clock lost message.
17256         Keep a reference to the element that provided the clock.
17257
17258 2005-11-18  Andy Wingo  <wingo@pobox.com>
17259
17260         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
17261         the clock initially so it produces values around the base time.
17262         (gst_net_client_clock_class_init): Typo fix.
17263         (gst_net_client_clock_thread): Add note on when the socket gets
17264         closed.
17265
17266 2005-11-17  Wim Taymans  <wim@fluendo.com>
17267
17268         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
17269         Free remote and local time arrays.
17270
17271 2005-11-17  Wim Taymans  <wim@fluendo.com>
17272
17273         * gst/net/gstnetclientclock.c: (do_linear_regression),
17274         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
17275         Fix compilation, uninitialized vars and a forgotten continue.
17276
17277 2005-11-17  Andy Wingo  <wingo@pobox.com>
17278
17279         * check/Makefile.am (check_PROGRAMS): 
17280         * check/net/gstnetclientclock.c: Add a most minimal test for the
17281         net client clock. More to come later.
17282
17283         * gst/net/gstnet.h: 
17284         * gst/net/Makefile.am: Add netclientclock.
17285
17286         * gst/net/gstnetclientclock.h:
17287         * gst/net/gstnetclientclock.c: New files, implement an untested
17288         GstClock that takes its time from a network time provider.
17289         Implements the algorithm in network-clock.scm.
17290
17291         * tests/network-clock.scm (*window-size*): Rename from
17292         *queue-length*.
17293         * tests/network-clock.scm (network-time): 
17294         * tests/network-clock-utils.scm (q-push): Update callers.
17295
17296 2005-11-17  Wim Taymans  <wim@fluendo.com>
17297
17298         * gst/gstbin.c: (gst_bin_provide_clock_func),
17299         (gst_bin_sort_iterator_new):
17300         And unref the child too..
17301
17302 2005-11-17  Wim Taymans  <wim@fluendo.com>
17303
17304         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17305         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
17306         Refactor the sort iterator so it can be used while holding the
17307         LOCK too.
17308         Make clock selection select a clock closest to the source.
17309
17310 2005-11-17  Michael Smith <msmith@fluendo.com>
17311
17312         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
17313         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
17314         * gst/gstclock.h:
17315           Anonymous structs are a gcc (and some other compilers) extension, so
17316           don't use them. Since this is only for ABI-compatibility, and our
17317           API/ABI freeze is over in a few days, this whole thing will only
17318           last a few days, so don't bother trying to think up a meaningful
17319           name for the struct.
17320
17321 2005-11-17  Andy Wingo  <wingo@pobox.com>
17322
17323         * gst/gstclock.h (GstClock): Add rate and offset properties,
17324         preserving ABI stability. Add rate/offset accessors. Will file bug
17325         for the freeze break.
17326
17327         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
17328         and offset, trying to keep precision and avoiding
17329         underflow/overflow.
17330         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
17331         functions. Make gst_clock_set_time_adjust obsolete.
17332         (gst_clock_set_time_adjust): Note that this function is obsolete.
17333         Will file bug soon.
17334
17335         * gst/base/gstbasetransform.h: Make the ABI-stability hack
17336         greppable by using GST_PADDING-1+1.
17337
17338 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
17339
17340         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17341
17342         * gst/gstmessage.c: (gst_message_parse_clock_lost):
17343           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
17344
17345         * gst/gstpadtemplate.h:
17346         * gst/gstpluginfeature.h:
17347           Don't use c++ style comments in headers (#321638).
17348
17349 2005-11-16  Andy Wingo  <wingo@pobox.com>
17350
17351         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
17352         buffer.
17353
17354         * check/net/gstnettimeprovider.c: Check to see that the time
17355         provider actually provides times. Works, yo!
17356
17357 2005-11-16  Wim Taymans  <wim@fluendo.com>
17358
17359         * check/Makefile.am:
17360         Enable more tests.
17361
17362         * check/elements/fakesrc.c: (GST_START_TEST):
17363         Set element to NULL before disposing it.
17364
17365 2005-11-16  Andy Wingo  <wingo@pobox.com>
17366
17367         * gst/net/Makefile.am:
17368         * gst/net/gstnet.h:
17369         * gst/net/gstnettimeprovider.c: 
17370         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
17371         provider, include it from gstnet.h, and add it to the build.
17372
17373         * gst/net/gstnettimepacket.h: 
17374         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
17375         sending and receiving.
17376
17377 2005-11-16  Wim Taymans  <wim@fluendo.com>
17378
17379         * check/Makefile.am:
17380         Enable valgrind check.
17381
17382         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
17383         (gst_fake_src_alloc_buffer):
17384         Fix memleak.
17385
17386 2005-11-16  Wim Taymans  <wim@fluendo.com>
17387
17388         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
17389         Call parent finalize too.
17390
17391 2005-11-16  Wim Taymans  <wim@fluendo.com>
17392
17393         * check/Makefile.am:
17394         Enable valgrind check that should work fine now.
17395
17396         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17397         * gst/gstqueue.c: (gst_queue_init):
17398         Fix memleaks in pad allocation.
17399
17400 2005-11-16  Andy Wingo  <wingo@pobox.com>
17401
17402         * gst/net/Makefile.am:
17403         * gst/net/gstnet.h: New part of core to hold network elements and
17404         objects. Put in core because it exposes API that applications want
17405         to use. The library is named libgstnet-tempname right now because
17406         of the existing libgstnet in gst-plugins-base. Solution is
17407         probably to rename the one in plugins-base; will file a bug for
17408         the freeze break.
17409
17410         * gst/net/gstnettimeprovider.c: 
17411         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
17412         get_time call over the network.
17413
17414         * configure.ac: 
17415         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
17416
17417         * check/Makefile.am:
17418         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
17419         get additions shortly.
17420
17421 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17422
17423         * gst/gstpad.c: (gst_pad_new_from_static_template):
17424         * gst/gstpad.h:
17425           add gst_pad_new_from_static_template functions
17426         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
17427         (gst_check_setup_sink_pad):
17428         * gst/elements/gsttee.c: (gst_tee_init):
17429           and use them
17430
17431 2005-11-16  Wim Taymans  <wim@fluendo.com>
17432
17433         * gst/gstpad.c: (gst_pad_pause_task):
17434         Removed warning, it's not really an error either.
17435
17436 2005-11-16  Wim Taymans  <wim@fluendo.com>
17437
17438         * gst/base/gstbasetransform.c:
17439         (gst_base_transform_prepare_output_buf),
17440         (gst_base_transform_event):
17441         Check if the caps are NULL, this can happen if the element
17442         is shutting down and the pad caps are set to NULL.
17443
17444 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17445
17446         * gst/elements/gsttee.c: (gst_tee_init):
17447           fix pad template leak in tee
17448
17449 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17450
17451         * gst/glib-compat.c: (g_value_dup_gst_object):
17452         * gst/glib-compat.h:
17453         * gst/gstpad.c: (gst_pad_set_property):
17454           use gst_object_ref when setting the pad template; this will
17455           trigger the pad template leaks on GLib 2.6 and the slaves
17456
17457 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17458
17459         * gst/glib-compat.c: (gst_flags_get_first_value):
17460         * gst/glib-compat.h:
17461         * gst/gstregistryxml.c:
17462           remove functions copied from GLib 2.6
17463
17464 2005-11-16  Michael Smith <msmith@fluendo.com>
17465
17466         * gst/Makefile.am:
17467           Don't link against VALGRIND_LIBS. That was always the wrong thing to
17468           do, but only breaks with newer valgrind versions. We're not a
17469           valgrind tool, we have no link-time dependencies on libcoregrind.
17470
17471 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17472
17473         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
17474           some debug changes
17475         * gst/gstmessage.h:
17476           typo fixes
17477
17478 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17479
17480         * gst/base/gstbasesrc.c: (gst_base_src_init):
17481         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17482         * gst/gstqueue.c: (gst_queue_init):
17483         * gst/gstregistryxml.c: (load_feature):
17484           Revert all these unrefs, they don't even pass make check !
17485
17486 2005-11-15  Johan Dahlin  <johan@gnome.org>
17487
17488         * gst/base/gstbasesrc.c: (gst_base_src_init):
17489         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17490         * gst/gstqueue.c: (gst_queue_init): 
17491         Free pad templates, fixes a couple of leaks.
17492
17493 2005-11-15  Daniel Fischer  <dan at f3c dot com>
17494
17495         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17496
17497         * gst/gstpad.c: (gst_pad_get_property):
17498           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
17499           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
17500           (#321452)
17501
17502 2005-11-15  Wim Taymans  <wim@fluendo.com>
17503
17504         * gst/gstevent.c:
17505         Small doc update.
17506
17507 2005-11-15  Andy Wingo  <wingo@pobox.com>
17508
17509         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
17510
17511         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
17512         using GST_CLOCK_TIME_NONE to disable base time management.
17513         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
17514         time if it was NONE before.
17515         (gst_pipeline_change_state): Only munge the base time if
17516         stream_time != GST_CLOCK_TIME_NONE.
17517
17518         * check/gst/gstpipeline.c (test_base_time): Punt around the
17519         problem of the probe not being called, because that's not the
17520         issue I'm looking at. Add a check that setting stream_time to NONE
17521         disables base time management.
17522         
17523 2005-11-15  Wim Taymans  <wim@fluendo.com>
17524
17525         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
17526         segment_stop == -1 at startup.
17527
17528         * gst/base/gstbasetransform.c: (gst_base_transform_event),
17529         (gst_base_transform_change_state):
17530         Init segment values at start.
17531
17532 2005-11-15  Wim Taymans  <wim@fluendo.com>
17533
17534         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17535         0 segment values are 0 in any format.
17536
17537         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17538         * gst/base/gstbasetransform.h:
17539         Parse newsegment correctly in basetransform
17540
17541         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
17542         Sync to clock using updated segment values.
17543
17544 2005-11-15  Andy Wingo  <wingo@pobox.com>
17545
17546         * check/gst/gstpipeline.c (test_base_time): Add check that the
17547         base time and stream time are reset correctly.
17548
17549 2005-11-15  Wim Taymans  <wim@fluendo.com>
17550
17551         * docs/design/part-TODO.txt:
17552         Some more TODO items.
17553
17554 2005-11-15  Andy Wingo  <wingo@pobox.com>
17555
17556         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
17557         error if the user selected "no clock" as the clocking method.
17558
17559         * check/gst/gstpipeline.c (test_base_time): New test for buffer
17560         timestamps with live capture.
17561
17562         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
17563         is 0 but we are a live source, timestamp the buffers using the
17564         element's clock.
17565
17566 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
17567
17568         * docs/gst/gstreamer-sections.txt:
17569         * gst/gsterror.c:
17570         * gst/gstghostpad.c:
17571         * gst/gstobject.h:
17572         * gst/gstxml.c:
17573           more section docs
17574
17575 2005-11-14  Wim Taymans  <wim@fluendo.com>
17576
17577         * common/gst.supp:
17578           add suppressions from Wim's Debian machine
17579
17580 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
17581
17582         * common/gst.supp:
17583           add suppressions from Andy's AMD64 Ubuntu machine
17584
17585 2005-11-14  Andy Wingo  <wingo@pobox.com>
17586
17587         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
17588         STATE_LOCK not necessary. Fixes #311489.
17589
17590         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
17591         #305291.
17592
17593         * gst/gstindex.c (gst_index_add_object): Note in the docs that
17594         this function is not implemented.
17595
17596 2005-11-14  Julien MOUTTE  <julien@moutte.net>
17597
17598         * gst/base/gstbasetransform.c:
17599         (gst_base_transform_prepare_output_buf):
17600         Ref the source pad caps while we need them.
17601         Fixes (#321386)
17602
17603 2005-11-11  Wim Taymans  <wim@fluendo.com>
17604
17605         * docs/gst/gstreamer-sections.txt:
17606         Added some docs for GstCollectData.
17607
17608         * gst/base/gstadapter.c:
17609         Some small code example fix.
17610
17611         * gst/base/gstcollectpads.c:
17612         * gst/base/gstcollectpads.h:
17613         Document some more.
17614
17615 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17616
17617         * configure.ac: back to HEAD
17618
17619 === release 0.9.5 ===
17620
17621 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
17622
17623         * configure.ac:
17624           releasing 0.9.5, "Bike Lunch Day"
17625
17626 2005-11-11  Wim Taymans  <wim@fluendo.com>
17627
17628         * gst/gstbuffer.c: (_gst_buffer_copy):
17629         Copy more flags.
17630
17631         * gst/gstcaps.c: (gst_caps_is_equal):
17632         Fix some docs.
17633         Make _is_equal fast in the trivial cases.
17634
17635         * gst/gstminiobject.c:
17636         * gst/gstminiobject.h:
17637         More docs. Spifify .h file.
17638
17639         * gst/gstutils.c:
17640         Small doc update.
17641
17642 2005-11-11  Wim Taymans  <wim@fluendo.com>
17643
17644         * gst/base/gstbasetransform.c:
17645         (gst_base_transform_prepare_output_buf),
17646         (gst_base_transform_handle_buffer):
17647         Small cleanups.
17648         If we're processing a buffer and need to allocate an output
17649         buffer, we cannot accept a format change. If we did get a 
17650         format change, we have to alloc a buffer ourselves of the 
17651         right size.
17652
17653 2005-11-11  Wim Taymans  <wim@fluendo.com>
17654
17655         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
17656         While checking the flag for reentrancy in the gstcaps function
17657         is nice to detect recursive invocations, it also makes it 
17658         impossible to call getcaps from multiple threads, which must be
17659         possible. So, checking for recursive calls has to go.
17660
17661 2005-11-11  Michael Smith <msmith@fluendo.com>
17662
17663         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17664           Don't sync on buffers that fall partially outside our current
17665           segment. Prevents an assertion failure/abort playing some files.
17666
17667 2005-11-10  Andy Wingo  <wingo@pobox.com>
17668
17669         * check/gst/gstbin.c (test_message_state_changed_children): Style
17670         fix..
17671
17672         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
17673         gst_bus_poll with the signal watch. Ensures that poll and a signal
17674         watch see the same messages.
17675
17676         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
17677         a poll and a watch at the same time get the same messages.
17678
17679 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17680
17681         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
17682         * gst/gstcaps.c: (gst_caps_intersect):
17683           Don't call gst_caps_do_simplify - it doesn't respect order of caps
17684           and it's not needed.
17685
17686 2005-11-10  Wim Taymans  <wim@fluendo.com>
17687
17688         * docs/design/part-TODO.txt:
17689         Updated todo.
17690
17691 2005-11-10  Wim Taymans  <wim@fluendo.com>
17692
17693         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17694         * gst/base/gstbasesrc.c: (gst_base_src_wait),
17695         (gst_base_src_do_sync), (gst_base_src_get_range):
17696         Implement clock sync in base class.
17697
17698 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17699
17700         patch by: Tim-Philipp Müller <tim at centricular dot net>
17701
17702         * gst/gststructure.c: (gst_structure_parse_field),
17703         (gst_structure_from_string):
17704           Forward-port a 0.8 patch to handle escaped spaces in structure string,
17705           so that gst_parse_launch() can deal with spaces in filtered link
17706           caps (fixes #164479)
17707         * check/gst/capslist.h:
17708         * check/gst/gststructure.c: (GST_START_TEST):
17709           add unit tests for this change
17710
17711 2005-11-10  Wim Taymans  <wim@fluendo.com>
17712
17713         * docs/gst/gstreamer-sections.txt:
17714         * gst/gstelement.c:
17715         * gst/gstelement.h:
17716         Fix docs, move some STATE macros to private.
17717
17718 2005-11-10  Wim Taymans  <wim@fluendo.com>
17719
17720         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
17721         Added check for bug #317341
17722
17723         * gst/gstbuffer.c:
17724         * gst/gstbuffer.h:
17725         Some more spiffifying.
17726
17727         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
17728         Call peer linkfunction if we are a source pad. Totally fixes
17729         #317341
17730
17731         * gst/gstpad.c:
17732         Update docs, source pads should call the peer linkfunction
17733         so they can atomically perform the pad link.
17734
17735 2005-11-09  Wim Taymans  <wim@fluendo.com>
17736
17737         * gst/gstbuffer.c:
17738         * gst/gstbuffer.h:
17739         Uber-spiffy-spiffify some more.
17740
17741 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
17742
17743         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
17744         * gst/elements/gstfilesink.c: (gst_file_sink_init):
17745         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17746         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
17747         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
17748         * gst/gstpad.c: (gst_pad_init):
17749           Use GST_DEBUG_FUNCPTR() more extensively.
17750
17751 2005-11-09  Wim Taymans  <wim@fluendo.com>
17752
17753         * gst/gstobject.c: (gst_object_class_init):
17754         * gst/gstobject.h:
17755         Documentation fixes.
17756
17757 2005-11-09  Edward Hervey  <edward@fluendo.com>
17758
17759         * gst/gsttypefindfactory.c:
17760         Fix docs.
17761         
17762 2005-11-09  Edward Hervey  <edward@fluendo.com>
17763
17764         * gst/base/gsttypefindhelper.c:
17765         * gst/gsttypefind.c:
17766         * gst/gsttypefind.h:
17767         Fix docs.
17768
17769 2005-11-09  Wim Taymans  <wim@fluendo.com>
17770
17771         * gst/gstiterator.c:
17772         Fix revision data.
17773
17774         * gst/gsttask.c:
17775         * gst/gsttask.h:
17776         Fix docs.
17777
17778 2005-11-09  Wim Taymans  <wim@fluendo.com>
17779
17780         * gst/gstevent.h:
17781         * gst/gsturi.h:
17782         Fix docs.
17783
17784 2005-11-09  Wim Taymans  <wim@fluendo.com>
17785
17786         * docs/gst/gstreamer-sections.txt:
17787         Moved the message async delivery private lock and cond
17788         to the private section.
17789
17790         * gst/gstmessage.c:
17791         * gst/gstmessage.h:
17792         Fixed docs.
17793
17794 2005-11-09  Edward Hervey  <edward@fluendo.com>
17795
17796         * docs/gst/gstreamer-sections.txt:
17797         * gst/gsturi.c:
17798         * gst/gsturi.h:
17799         Document GstURIHandler
17800
17801 2005-11-09  Wim Taymans  <wim@fluendo.com>
17802
17803         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
17804         (gst_iterator_find_custom):
17805         * gst/gstiterator.h:
17806         Fix iterator docs.
17807
17808 2005-11-09  Wim Taymans  <wim@fluendo.com>
17809
17810         * gst/gstbin.h:
17811         Document another field.
17812
17813         * gst/gststructure.c:
17814         * gst/gststructure.h:
17815         Document.
17816
17817 2005-11-09  Wim Taymans  <wim@fluendo.com>
17818
17819         * gst/gstbin.h:
17820         Documented structs.
17821
17822 2005-11-09  Wim Taymans  <wim@fluendo.com>
17823
17824         * docs/gst/gstreamer-sections.txt:
17825         Added some new macros.
17826
17827         * gst/gstclock.c:
17828         * gst/gstclock.h:
17829         * gst/gstobject.h:
17830         Docs updates.
17831
17832 2005-11-09  Wim Taymans  <wim@fluendo.com>
17833
17834         * docs/design/part-TODO.txt:
17835         Some more items for the TODO
17836
17837         * gst/gstcaps.c:
17838         * gst/gstcaps.h:
17839         Document GstCaps.
17840
17841 2005-11-09  Andy Wingo  <wingo@pobox.com>
17842
17843         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
17844         to work on something else now tho...
17845
17846         * gst/base/gstadapter.c: More adapter docs.
17847
17848         * gst/elements/gstfilesink.c (gst_file_sink_start) 
17849         (gst_file_sink_stop): New functions, replace the state change
17850         handler.
17851         (gst_file_sink_class_init): Hook up the start and stop functions.
17852         (gst_file_sink_base_init): Don't set the state change handler any
17853         more. It was a bit ugly too, being set from here...
17854         (gst_file_sink_get_property, gst_file_sink_set_property):
17855         Cleanups...
17856         (gst_file_sink_set_location): More robust check that doesn't call
17857         GST_STATE. Ugggggg.
17858
17859 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
17860
17861         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17862           Hold STREAM_LOCK while pushing newsegment or tag events as well.
17863
17864 2005-11-08  Wim Taymans  <wim@fluendo.com>
17865
17866         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
17867         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17868         (gst_base_sink_chain), (gst_base_sink_change_state):
17869         * gst/base/gstbasesink.h:
17870         * gst/base/gstbasesrc.h:
17871         * gst/gstelement.h:
17872         * gst/gstevent.h:
17873         Avoid excessive typechecking in macros.
17874
17875         * gst/gstminiobject.c: (gst_mini_object_get_type),
17876         (gst_mini_object_init), (gst_mini_object_new),
17877         (gst_mini_object_free):
17878         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17879         (gst_object_finalize):
17880         Remove cruft code, optimize alloc_trace.
17881
17882 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
17883
17884         * docs/faq/gst-uninstalled:
17885           fix up PS1 for systems that try to reset it
17886
17887 2005-11-07  Wim Taymans  <wim@fluendo.com>
17888
17889         * gst/base/gstbasesrc.c: (gst_base_src_init),
17890         (gst_base_src_get_range):
17891         Set the segment_end to -1 initially. Fixed typefind.
17892
17893 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
17894
17895         * gst/base/gstadapter.c:
17896           Debug category should be 'adapter', not 'GstAdapter'.
17897           
17898         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
17899         (gst_collectpads_class_init), (gst_collectpads_init),
17900         (gst_collectpads_peek), (gst_collectpads_pop),
17901         (gst_collectpads_event), (gst_collectpads_chain):
17902           Add debug category and some debugging output. Use boilerplate
17903           macros. Remove some extraneous words from docs.
17904
17905 2005-11-05  Andy Wingo  <wingo@pobox.com>
17906
17907         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
17908         macro.
17909
17910 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
17911
17912         * docs/gst/gstreamer-sections.txt:
17913         * gst/gstcaps.h:
17914         * gst/gstinfo.c:
17915         * gst/gstminiobject.h:
17916         * gst/gstobject.h:
17917         * gst/gstutils.h:
17918           more docs added
17919
17920 2005-11-04  Wim Taymans  <wim@fluendo.com>
17921
17922         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
17923         Small update to stop at the configured segment_end
17924         position.
17925
17926 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
17927
17928         * gst/gstregistry.c:
17929         * gst/gstregistry.h:
17930           added missing docs
17931
17932 2005-11-04  Edward Hervey  <edward@fluendo.com>
17933
17934         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
17935         Check if we are doing a segment seek and have arrived at the
17936         end of that segment.
17937
17938 2005-11-04  Wim Taymans  <wim@fluendo.com>
17939
17940         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
17941         Don't leak a mutex unlock in case of an error.
17942
17943         * gst/gstbus.h:
17944         Doc fixes.
17945
17946 2005-11-04  Wim Taymans  <wim@fluendo.com>
17947
17948         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
17949         (gst_bus_post):
17950         Get the context to wake up only once.
17951
17952 2005-11-03  Wim Taymans  <wim@fluendo.com>
17953
17954         * check/states/sinks.c: (GST_START_TEST):
17955         Uncomment fixed check.
17956
17957         * docs/design/part-TODO.txt:
17958         Updated TODO.
17959
17960         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
17961         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
17962         (gst_base_sink_get_position):
17963         If we are going to PLAYING, post the right pending state
17964         when we post the intermediate paused message.
17965
17966         * gst/gstelement.c: (gst_element_continue_state),
17967         (gst_element_set_state_func), (gst_element_change_state):
17968         Don't post state changes that were between the same state
17969         and were not ASYNC.
17970
17971 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
17972
17973         * docs/gst/gstreamer-sections.txt:
17974         * gst/gstcaps.h:
17975         * gst/gstinfo.c:
17976         * gst/gstminiobject.h:
17977         * gst/gstobject.h:
17978         * gst/gstutils.h:
17979           more docs and doc style fixes
17980
17981 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
17982
17983         * docs/gst/gstreamer-sections.txt:
17984         * gst/gstelement.c:
17985         * gst/gstminiobject.c:
17986         doc fixes
17987
17988 2005-11-03  Andy Wingo  <wingo@pobox.com>
17989
17990         * check/states/sinks.c (test_livesrc_sink): Add checks that the
17991         state-changed messages actually have the right order and the right
17992         values.
17993
17994 2005-11-03  Wim Taymans  <wim@fluendo.com>
17995
17996         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
17997         Added some more checks. Specifically the case where NO_PREROLL
17998         elements are in the pipeline.
17999
18000         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18001         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
18002         (gst_base_sink_get_position):
18003         Post READY->PAUSED state change messages too.
18004         Fix bug where VOID was posted as pending state...
18005
18006         * gst/gstbin.c: (gst_bin_recalc_state):
18007         use _element_continue_state() to continue the state change.
18008
18009         * gst/gstelement.c: (gst_element_continue_state),
18010         (gst_element_commit_state), (gst_element_set_state_func),
18011         (gst_element_change_state), (gst_element_change_state_func):
18012         Lots of state change cleanups, assign the STATE_RETURN in
18013         a new continue_state() function that also propagates the
18014         last return value from a state change to the app.
18015         Update some debug statements with proper category.
18016
18017 2005-11-03  Wim Taymans  <wim@fluendo.com>
18018
18019         * docs/design/part-events.txt:
18020         * docs/design/part-gstpipeline.txt:
18021         * docs/design/part-messages.txt:
18022         * docs/design/part-overview.txt:
18023         * docs/design/part-seeking.txt:
18024         * docs/design/part-states.txt:
18025         * docs/design/part-trickmodes.txt:
18026         * docs/manual/advanced-position.xml:
18027         Small docs updates.
18028
18029         * gst/gstobject.h:
18030         People think !! is ugly, this looks better.
18031
18032         * gst/gstpad.c: (gst_pad_set_blocked_async):
18033         Remove !! since it's fixed elsewhere now.
18034
18035 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
18036
18037         * gst/gstminiobject.h:
18038         * gst/gstobject.h:
18039           Add !! to _FLAG_IS_SET macros to make the result boolean.
18040
18041 2005-11-03  Edward Hervey  <edward@fluendo.com>
18042
18043         * gst/gstpad.c: (gst_pad_set_blocked_async):
18044         comparing a flag and a gboolean rarely returns coherent results...
18045         Added two characters (!!) to make that work correctly.
18046         
18047 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
18048
18049         * gst/gstbus.c: (gst_bus_class_init):
18050           Fix some typos.
18051           
18052         * gst/gstqueue.c: (gst_queue_loop):
18053           Don't assume a miniobject that isn't a buffer is an
18054           event (it could be that there is a refcounting
18055           problem somewhere and the pointer is stale and
18056           refers to an already destroyed miniobject).
18057
18058 2005-11-03  Julien MOUTTE  <julien@moutte.net>
18059
18060         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
18061
18062 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
18063
18064         * docs/manual/advanced-position.xml:
18065           Update seek example and explanations to current 0.9 API.
18066
18067         * gst/elements/gsttypefindelement.c:
18068         (gst_type_find_element_activate):
18069           Remove FIXME comment now that the found caps
18070           are unreffed.
18071
18072 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18073
18074         * gst/gstregistryxml.c: (load_feature):
18075           Add another GST_STR_NULL instance
18076
18077 2005-11-02  Edward Hervey  <edward@fluendo.com>
18078
18079         * gst/gstpad.c: (handle_pad_block):
18080         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
18081         
18082 2005-11-02  Wim Taymans  <wim@fluendo.com>
18083
18084         * gst/gstbin.c:
18085         Fix typo in docs.
18086
18087         * gst/gstelement.c: (gst_element_commit_state):
18088         Remove unused value.
18089
18090         * gst/gstiterator.c:
18091         Mention that the returned element is reffed in the docs.
18092
18093 2005-11-02  Wim Taymans  <wim@fluendo.com>
18094
18095         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
18096         (gst_pad_push), (gst_pad_push_event):
18097         Unlock blocked pads when they are flushed.
18098
18099 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18100
18101         * docs/README:
18102         * docs/gst/gstreamer-sections.txt:
18103         * gst/gstbin.c:
18104           doc updates
18105         * gst/gstregistry.c: (gst_registry_scan_path_level):
18106           fix for a nasty little missed situation where an installed plug-in
18107           which was in the cache did not get overridden by an uninstalled one
18108           which was earlier in the plugin path because the newly created plugin
18109           for the uninstalled one (not in the registry) didn't get its
18110           ->registered set to TRUE
18111
18112 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
18113
18114         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
18115         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
18116         (gst_collectpads_is_active), (gst_collectpads_collect),
18117         (gst_collectpads_collect_range), (gst_collectpads_start),
18118         (gst_collectpads_stop), (gst_collectpads_peek),
18119         (gst_collectpads_pop), (gst_collectpads_available),
18120         (gst_collectpads_read), (gst_collectpads_flush):
18121           Guard public API with assertions.
18122         
18123         * gst/gstpad.c:
18124           Fix docs for gst_pad_set_link_function().
18125
18126 2005-11-02  Johan Dahlin  <johan@gnome.org>
18127
18128         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
18129         Unref found_caps after we used it.
18130
18131 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
18132
18133         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
18134           Don't try to ref NULL.
18135
18136 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18137
18138         * win32/common/config.h.in:
18139           provide a GST_FUNCTION that just gives a string for now
18140
18141 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18142
18143         * win32/common/gstenumtypes.c: (register_gst_object_flags),
18144         (gst_object_flags_get_type), (register_gst_bin_flags),
18145         (gst_bin_flags_get_type), (register_gst_buffer_flag),
18146         (gst_buffer_flag_get_type), (register_gst_bus_flags),
18147         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
18148         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
18149         (gst_clock_return_get_type), (register_gst_clock_entry_type),
18150         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
18151         (gst_clock_flags_get_type), (register_gst_state),
18152         (gst_state_get_type), (register_gst_state_change_return),
18153         (gst_state_change_return_get_type), (register_gst_state_change),
18154         (gst_state_change_get_type), (register_gst_element_flags),
18155         (gst_element_flags_get_type), (register_gst_core_error),
18156         (gst_core_error_get_type), (register_gst_library_error),
18157         (gst_library_error_get_type), (register_gst_resource_error),
18158         (gst_resource_error_get_type), (register_gst_stream_error),
18159         (gst_stream_error_get_type), (register_gst_event_type),
18160         (gst_event_type_get_type), (register_gst_seek_type),
18161         (gst_seek_type_get_type), (register_gst_seek_flags),
18162         (gst_seek_flags_get_type), (register_gst_format),
18163         (gst_format_get_type), (register_gst_index_certainty),
18164         (gst_index_certainty_get_type), (register_gst_index_entry_type),
18165         (gst_index_entry_type_get_type),
18166         (register_gst_index_lookup_method),
18167         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
18168         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
18169         (gst_index_resolver_method_get_type), (register_gst_index_flags),
18170         (gst_index_flags_get_type), (register_gst_debug_level),
18171         (gst_debug_level_get_type), (register_gst_debug_color_flags),
18172         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
18173         (gst_iterator_result_get_type), (register_gst_iterator_item),
18174         (gst_iterator_item_get_type), (register_gst_message_type),
18175         (gst_message_type_get_type), (register_gst_mini_object_flags),
18176         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
18177         (gst_pad_link_return_get_type), (register_gst_flow_return),
18178         (gst_flow_return_get_type), (register_gst_activate_mode),
18179         (gst_activate_mode_get_type), (register_gst_pad_direction),
18180         (gst_pad_direction_get_type), (register_gst_pad_flags),
18181         (gst_pad_flags_get_type), (register_gst_pad_presence),
18182         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
18183         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
18184         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
18185         (gst_plugin_error_get_type), (register_gst_plugin_flags),
18186         (gst_plugin_flags_get_type), (register_gst_rank),
18187         (gst_rank_get_type), (register_gst_query_type),
18188         (gst_query_type_get_type), (register_gst_tag_merge_mode),
18189         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
18190         (gst_tag_flag_get_type), (register_gst_task_state),
18191         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
18192         (gst_alloc_trace_flags_get_type),
18193         (register_gst_type_find_probability),
18194         (gst_type_find_probability_get_type), (register_gst_uri_type),
18195         (gst_uri_type_get_type), (register_gst_parse_error),
18196         (gst_parse_error_get_type):
18197         * win32/common/gstversion.h:
18198           update win32 copies
18199
18200 2005-11-01  Luca Ognibene  <luogni@tin.it>
18201
18202         * gst/gst.c:
18203           fix docs. popt is dead, long live GOption.
18204
18205 2005-10-31  Wim Taymans  <wim@fluendo.com>
18206
18207         * gst/gstbuffer.h:
18208         Small doc fix.
18209
18210 2005-10-31  Andy Wingo  <wingo@pobox.com>
18211
18212         * Boo!
18213
18214         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
18215
18216         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
18217         need to serialize property notifications on GLib 2.8. GLib 2.6 has
18218         the possibility of deadlocks here if code calling notify() or
18219         set() has a lock that can be taken in another notify handler (ABBA
18220         with class lock and e.g. python GIL state lock).
18221
18222 2005-10-28  Julien MOUTTE  <julien@moutte.net>
18223
18224         * gst/gstbus.c: Doc updates.
18225
18226 2005-10-28  Wim Taymans  <wim@fluendo.com>
18227
18228         * docs/design/part-TODO.txt:
18229         * gst/gstiterator.c:
18230         * gst/gstsystemclock.c:
18231         * gst/gstsystemclock.h:
18232         Doc updates.
18233
18234 2005-10-28  Edward Hervey  <edward@fluendo.com>
18235
18236         * docs/gst/gstreamer-docs.sgml:
18237         * docs/gst/gstreamer-sections.txt:
18238         the GstURIType documentation page is private, it only defines GstURIType
18239         which should be defined in the GstURIHandler page
18240         
18241 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18242
18243         * gst/gstbin.c: (gst_bin_class_init):
18244         * gst/gstbin.h:
18245         * gst/gstutils.c:
18246         Documentation updates.
18247
18248 2005-10-28  Wim Taymans  <wim@fluendo.com>
18249
18250         * docs/gst/gstreamer-sections.txt:
18251         * gst/gstclock.c:
18252         * gst/gstclock.h:
18253         Documented the clocks.
18254
18255 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
18256
18257         * docs/gst/gstreamer-sections.txt:
18258           move some macros to private sections
18259         * gst/gstminiobject.c:
18260         * gst/gstminiobject.h:
18261           add descriptions provided by ds and some more
18262         * gst/gstpad.h:
18263           mark macro as to be removed
18264
18265 2005-10-28  Wim Taymans  <wim@fluendo.com>
18266
18267         * docs/design/part-TODO.txt:
18268         Add an item to TODO.
18269
18270         * gst/gstiterator.c: (gst_iterator_fold),
18271         (gst_iterator_find_custom):
18272         * gst/gstiterator.h:
18273         Add iterator docs.
18274
18275 2005-10-28  Wim Taymans  <wim@fluendo.com>
18276
18277         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
18278         (gst_base_transform_init):
18279         Don't leak class.
18280
18281         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
18282         An EOS event marks the queue as completely filled.
18283
18284 2005-10-27  Wim Taymans  <wim@fluendo.com>
18285
18286         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18287         (gst_base_sink_do_sync), (gst_base_sink_get_position):
18288         Some more debugging.
18289
18290         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
18291         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
18292         (gst_base_transform_event), (gst_base_transform_getrange),
18293         (gst_base_transform_chain):
18294         * gst/base/gstbasetransform.h:
18295         Fix debugging,
18296         Protect transform and concurrent buffer alloc with a new lock.
18297         Try not to break ABI/API.
18298
18299 2005-10-27  Wim Taymans  <wim@fluendo.com>
18300
18301         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18302         (gst_base_src_init), (gst_base_src_query),
18303         (gst_base_src_default_newsegment),
18304         (gst_base_src_configure_segment), (gst_base_src_do_seek),
18305         (gst_base_src_send_event), (gst_base_src_event_handler),
18306         (gst_base_src_pad_get_range), (gst_base_src_loop),
18307         (gst_base_src_unlock), (gst_base_src_default_negotiate),
18308         (gst_base_src_start), (gst_base_src_deactivate),
18309         (gst_base_src_activate_push), (gst_base_src_change_state):
18310         Move some stuff around and cleanup things.
18311
18312 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
18313
18314         * gst/base/gstbasesrc.c: (gst_base_src_query):
18315           Add missing break statements.
18316
18317 2005-10-27  Wim Taymans  <wim@fluendo.com>
18318
18319         * check/gst/gstbin.c: (GST_START_TEST):
18320         An extra refcount is taken in basesrc.
18321
18322         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
18323         (gst_base_src_get_range), (gst_base_src_pad_get_range),
18324         (gst_base_src_loop):
18325         Small cleanups, check for flushing after being unlocked from the 
18326         LIVE_LOCK. take refcounts correctly (not yet everywhere).
18327         Don't send out EOS when going to READY.
18328
18329 2005-10-27  Wim Taymans  <wim@fluendo.com>
18330
18331         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18332         (gst_base_sink_get_position):
18333         Some more debug.
18334
18335         * gst/gstbin.c: (message_check), (bin_replace_message),
18336         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18337         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18338         (bin_query_duration_init), (bin_query_duration_fold),
18339         (bin_query_duration_done), (bin_query_generic_fold),
18340         (gst_bin_query):
18341         * tools/gst-launch.c: (main):
18342         Remove old option.
18343
18344 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
18345
18346         * examples/controller/audio-example.c: (main):
18347         * examples/queue/queue.c: (event_loop):
18348         * gst/base/gstbasetransform.h:
18349         * gst/gstelement.c: (gst_element_send_event):
18350         * gst/gstevent.h:
18351         * gst/gstpad.c: (gst_pad_send_event):
18352           fixing examples
18353           fixing docs typos
18354           changing log priority in error situations
18355
18356 2005-10-25  Wim Taymans  <wim@fluendo.com>
18357
18358         * gst/gstbin.c: (message_check), (bin_replace_message),
18359         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18360         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18361         (bin_query_duration_init), (bin_query_duration_fold),
18362         (bin_query_duration_done), (bin_query_generic_fold),
18363         (gst_bin_query):
18364         Some doc and debug updates.
18365         Cache previously requested query DURATION for speed. invalidate
18366         cached duration if element posts a DURATION message.
18367
18368 2005-10-25  Wim Taymans  <wim@fluendo.com>
18369
18370         * docs/design/part-TODO.txt:
18371         Update TODO.
18372
18373         * gst/gstbin.c: (message_check), (bin_replace_message),
18374         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18375         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18376         (bin_query_duration_init), (bin_query_duration_fold),
18377         (bin_query_duration_done), (bin_query_generic_fold),
18378         (gst_bin_query):
18379         Handle SEGMENT_START/DONE messages correctly.
18380         More evolved query algorithm that handles duration queries
18381         correctly.
18382
18383         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
18384         (gst_element_get_state_func), (gst_element_abort_state),
18385         (gst_element_commit_state), (gst_element_lost_state):
18386         Some more debugging.
18387
18388         * gst/gstmessage.h:
18389         Added doc.
18390
18391 2005-10-25  Wim Taymans  <wim@fluendo.com>
18392
18393         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
18394         Don't use invalid stream_time.
18395
18396         * gst/gstevent.c: (gst_event_new_newsegment):
18397         stream_time in newsegment cannot be undefined.
18398
18399 2005-10-24  Wim Taymans  <wim@fluendo.com>
18400
18401         * gst/gstbus.c:
18402         Doc fix.
18403
18404         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18405         (gst_queue_loop):
18406         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
18407
18408 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
18409
18410         * docs/libs/tmpl/gstdparam.sgml:
18411         * docs/libs/tmpl/gstdplinint.sgml:
18412         * docs/libs/tmpl/gstdpman.sgml:
18413         * docs/libs/tmpl/gstdpsmooth.sgml:
18414         * docs/libs/tmpl/gstunitconvert.sgml:
18415           these are obsolete
18416
18417 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18418
18419         * configure.ac:
18420           back to HEAD
18421
18422 === release 0.9.4 ===
18423
18424 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18425
18426         * configure.ac:
18427           releasing 0.9.4, "Tyrannosaurus Rex"
18428
18429 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
18430
18431         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
18432         (gst_file_sink_get_current_offset):
18433           Use fseeko() and ftello() if available. When falling back on
18434           lseek() to get the current offset, fflush() first to make sure
18435           everything is up-to-date and we get the right offset.
18436
18437 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18438
18439         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18440         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18441         * gst/gsterror.c: (_gst_stream_errors_init):
18442         * gst/gsterror.h:
18443         * gst/gstqueue.c: (gst_queue_loop):
18444         * po/POTFILES.in:
18445           remove prematurely added error category and clean up the instances
18446
18447 2005-10-21  Wim Taymans  <wim@fluendo.com>
18448
18449         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18450         (gst_base_sink_get_position), (gst_base_sink_query),
18451         (gst_base_sink_change_state):
18452         Simply set the right flag when going to playing, that's all
18453         we need to do instead of calling a function inside the object
18454         lock (that could take the lock as well and deadlock)
18455
18456 2005-10-21  Wim Taymans  <wim@fluendo.com>
18457
18458         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
18459         (gst_base_src_loop):
18460         Don't warn, the peer element knows what to do best when
18461         the seek failed, it might try something else.
18462
18463 2005-10-21  Wim Taymans  <wim@fluendo.com>
18464
18465         * gst/base/gstbasesrc.c: (gst_base_src_init),
18466         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18467         Fix seeking.
18468
18469 2005-10-21  Wim Taymans  <wim@fluendo.com>
18470
18471         * docs/design/part-segments.txt:
18472         More docs.
18473
18474         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18475         Correctly set caps, even on the subbufer.
18476
18477 2005-10-21  Wim Taymans  <wim@fluendo.com>
18478
18479         * docs/gst/gstreamer-docs.sgml:
18480         * docs/gst/gstreamer-sections.txt:
18481         * gst/gstelement.h:
18482         * gst/gstevent.c:
18483         * gst/gstevent.h:
18484         * gst/gstmessage.h:
18485         * gst/gstpad.h:
18486         * gst/gstparse.h:
18487         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
18488         * gst/gsttask.h:
18489         * gst/gstutils.c:
18490         * gst/gstutils.h:
18491         And 2% more doc coverage.
18492
18493 2005-10-21  Andy Wingo  <wingo@pobox.com>
18494
18495         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
18496         position reporting.
18497
18498 2005-10-20  Wim Taymans  <wim@fluendo.com>
18499
18500         * gst/gsterror.c: (gst_error_get_message):
18501         * gst/gstparse.h:
18502         * gst/gstquery.h:
18503         * gst/gststructure.c:
18504         * gst/gsttrace.c:
18505         * gst/gstutils.c:
18506         More docs.
18507
18508 2005-10-20  Wim Taymans  <wim@fluendo.com>
18509
18510         * gst/gstbuffer.h:
18511         * gst/gstpad.c:
18512         * gst/gstparse.c:
18513         Another 1% more coverage.
18514
18515 2005-10-20  Wim Taymans  <wim@fluendo.com>
18516
18517         * docs/gst/gstreamer-sections.txt:
18518         * gst/gstelement.c: (gst_element_get_state_func),
18519         (gst_element_abort_state), (gst_element_commit_state),
18520         (gst_element_lost_state):
18521         * gst/gstevent.h:
18522         * gst/gstquery.c: (gst_query_set_position),
18523         (gst_query_parse_position), (gst_query_set_duration),
18524         (gst_query_parse_duration), (gst_query_new_convert):
18525         * gst/gstutils.c:
18526         Yay! 1% more docs coverage.
18527
18528 2005-10-20  Wim Taymans  <wim@fluendo.com>
18529
18530         * gst/gstpad.h:
18531         * gst/gstquery.c: (gst_query_set_position),
18532         (gst_query_parse_position), (gst_query_set_duration),
18533         (gst_query_parse_duration), (gst_query_new_convert):
18534         * gst/gstquery.h:
18535         * gst/gstutils.c: (gst_element_query_convert):
18536         * gst/gstutils.h:
18537         Docs and consistency fixes.
18538
18539 2005-10-20  Wim Taymans  <wim@fluendo.com>
18540
18541         * gst/gsttask.c:
18542         * gst/gsttask.h:
18543         More docs.
18544
18545 2005-10-20  Wim Taymans  <wim@fluendo.com>
18546
18547         * gst/gstbin.c: (message_check), (bin_replace_message),
18548         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18549         (update_degree), (gst_bin_sort_iterator_next),
18550         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
18551         Reworked the message handling a bit, cache the messages instead of
18552         only the senders. alows us to do more in the future.
18553
18554 2005-10-20  Wim Taymans  <wim@fluendo.com>
18555
18556         * docs/design/part-TODO.txt:
18557         Update TODO
18558
18559         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
18560         (gst_base_sink_query):
18561         Don't use clock time to report position when in EOS.
18562
18563 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
18564
18565         * tools/gst-inspect.c: (print_interfaces),
18566         (print_element_properties_info), (print_element_info):
18567           Fix interface output with gst-inspect -a; don't print
18568           newlines after double/float properties.
18569
18570 2005-10-20  Wim Taymans  <wim@fluendo.com>
18571
18572         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
18573         (gst_base_sink_query):
18574         Speed up current position calculation.
18575
18576         * gst/base/gstbasesrc.c: (gst_base_src_query),
18577         (gst_base_src_default_newsegment):
18578         Correctly set stream position in newsegment.
18579
18580         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
18581         (update_degree), (gst_bin_sort_iterator_next),
18582         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
18583         * gst/gstmessage.c: (gst_message_new_custom):
18584         Clean up debugging info
18585
18586         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18587         (gst_queue_loop), (gst_queue_handle_src_query):
18588         Pause task faster.
18589
18590 2005-10-19  Wim Taymans  <wim@fluendo.com>
18591
18592         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18593         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
18594         Fix query handling again.
18595
18596 2005-10-19  Wim Taymans  <wim@fluendo.com>
18597
18598         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18599         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
18600         * gst/base/gstbasesrc.c: (gst_base_src_query):
18601         * gst/elements/gstfilesink.c: (gst_file_sink_query):
18602         * gst/elements/gsttypefindelement.c:
18603         (gst_type_find_handle_src_query), (find_element_get_length),
18604         (gst_type_find_element_activate):
18605         API change fix.
18606
18607         * gst/gstquery.c: (gst_query_new_position),
18608         (gst_query_set_position), (gst_query_parse_position),
18609         (gst_query_new_duration), (gst_query_set_duration),
18610         (gst_query_parse_duration), (gst_query_set_segment),
18611         (gst_query_parse_segment):
18612         * gst/gstquery.h:
18613         Bundling query position/duration is not a good idea since duration
18614         does not change much and we don't want to recalculate it for every
18615         position query, so they are separated again..
18616         Base value in segment query is not needed.
18617
18618         * gst/gstqueue.c: (gst_queue_handle_src_query):
18619         * gst/gstutils.c: (gst_element_query_position),
18620         (gst_element_query_duration), (gst_pad_query_position),
18621         (gst_pad_query_duration):
18622         * gst/gstutils.h:
18623         Updates for query API change.
18624         Added some docs here and there.
18625
18626 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18627
18628         * check/gst/gstbin.c: (GST_START_TEST):
18629         * check/gst/gstghostpad.c: (GST_START_TEST):
18630         * check/pipelines/cleanup.c: (GST_START_TEST):
18631           wait on thread to die so we can check refcount correctly
18632
18633 2005-10-18  Wim Taymans  <wim@fluendo.com>
18634
18635         * check/pipelines/stress.c: (GST_START_TEST):
18636         Make check a little more time consuming.
18637
18638 2005-10-18  Wim Taymans  <wim@fluendo.com>
18639
18640         * check/Makefile.am:
18641         * check/pipelines/stress.c: (GST_START_TEST),
18642         (simple_launch_lines_suite), (main):
18643         Small state change torture test.
18644
18645         * docs/design/part-states.txt:
18646         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18647         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
18648         (gst_base_sink_change_state):
18649         Never take state lock from streaming thread, clean up ugly
18650         hacks. Unfortunatly core does not yet support nice ways to
18651         async commit state.
18652         
18653         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
18654         (bin_bus_handler):
18655         Start state recalc if a STATE_DIRTY message is posted, but only
18656         on the toplevel bin.
18657
18658         * gst/gstelement.c: (gst_element_sync_state_with_parent),
18659         (gst_element_get_state_func), (gst_element_abort_state),
18660         (gst_element_commit_state), (gst_element_lost_state),
18661         (gst_element_set_state_func), (gst_element_change_state):
18662         * gst/gstelement.h:
18663         State variables are now protected with the LOCK, the state
18664         lock is only used to serialize _set_state().
18665
18666 2005-10-18  Wim Taymans  <wim@fluendo.com>
18667
18668         * check/gst/gstbin.c: (GST_START_TEST):
18669         * check/gst/gstmessage.c: (GST_START_TEST):
18670         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18671         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
18672         (bin_bus_handler):
18673         * gst/gstelement.c: (gst_element_abort_state),
18674         (gst_element_commit_state), (gst_element_lost_state):
18675         * gst/gstmessage.c: (gst_message_new_state_changed),
18676         (gst_message_new_state_dirty), (gst_message_new_segment_start),
18677         (gst_message_new_segment_done), (gst_message_new_duration),
18678         (gst_message_parse_state_changed),
18679         (gst_message_parse_segment_start),
18680         (gst_message_parse_segment_done), (gst_message_parse_duration):
18681         * gst/gstmessage.h:
18682         * tools/gst-launch.c: (event_loop):
18683         Seriously, this is better than a previous commit as we only need
18684         to notify the fact that an element changed state in a streaming
18685         thread, marking the state of the parents dirty, hence the 
18686         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
18687         message.
18688
18689 2005-10-18  Wim Taymans  <wim@fluendo.com>
18690
18691         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
18692         (gst_bin_recalc_func):
18693         * gst/gstelement.c: (gst_element_set_clock),
18694         (gst_element_abort_state), (gst_element_lost_state):
18695         Cleanups, prepare for state change fixes.
18696
18697 2005-10-18  Wim Taymans  <wim@fluendo.com>
18698
18699         * gst/gstbin.h:
18700         * gst/gstelement.c: (gst_element_class_init),
18701         (gst_element_set_state), (gst_element_set_state_func):
18702         * gst/gstelement.h:
18703         Pending ABI changes.
18704         GThreadPool in GstBinClass to monitor async state changes.
18705         state_cookie in GstElement to detect concurrent gst/set state.
18706         set_state is now virtual too in case a very complicated element
18707         has to be constructed.
18708
18709 2005-10-18  Wim Taymans  <wim@fluendo.com>
18710
18711         * check/gst/gstbin.c: (GST_START_TEST):
18712         * check/gst/gstmessage.c: (GST_START_TEST):
18713         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18714         * gst/gstbin.c: (bin_bus_handler):
18715         * gst/gstelement.c: (gst_element_commit_state),
18716         (gst_element_lost_state):
18717         * gst/gstmessage.c: (gst_message_new_state_changed),
18718         (gst_message_new_segment_start), (gst_message_new_segment_done),
18719         (gst_message_new_duration), (gst_message_parse_state_changed),
18720         (gst_message_parse_segment_start),
18721         (gst_message_parse_segment_done), (gst_message_parse_duration):
18722         * gst/gstmessage.h:
18723         * tools/gst-launch.c: (event_loop):
18724         Make messages future proof.
18725         state-change gets a flag if it was a message comming from the
18726         streaming thread.
18727         segment-start/stop can also be specified in other formats.
18728         A message to notify an app that a pipeline changed playback 
18729         duration.
18730         Also fix a GstMessage leak in -launch
18731
18732 2005-10-18  Andy Wingo  <wingo@pobox.com>
18733
18734         * gst/gstelement.c (gst_element_dispose): More helpful message.
18735
18736 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18737
18738         reviewed by: <delete if not using a buddy>
18739
18740         * common/gtk-doc.mak:
18741
18742 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18743
18744         * gst/gstregistry.c: (gst_registry_scan_path_level):
18745           unref a plug-in we get that was already initialized
18746
18747 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
18748
18749         * docs/gst/gstreamer-sections.txt:
18750         * docs/libs/gstreamer-libs-sections.txt:
18751         * gst/gstelement.h:
18752           add new api entries
18753           hide internal macro
18754
18755 2005-10-17  Andy Wingo  <wingo@pobox.com>
18756
18757         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
18758         cleanup.
18759
18760         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
18761
18762         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
18763
18764         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
18765         (gst_element_get_state_func): Better debug message.
18766         (gst_element_commit_state): s/INFO/DEBUG/.
18767         (gst_element_lost_state, gst_element_change_state): 
18768
18769         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
18770         (gst_message_new_custom): s/INFO/LOG/.
18771
18772 2005-10-17  Michael Smith <msmith@fluendo.com>
18773
18774         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
18775           Check if end time is valid using end time, not start time.
18776
18777 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
18778
18779         * check/gst-libs/controller.c: (GST_START_TEST),
18780         (gst_controller_suite):
18781         * libs/gst/controller/gstcontroller.c:
18782         (gst_controlled_property_set_interpolation_mode):
18783         * libs/gst/controller/gstcontroller.h:
18784         * libs/gst/controller/gstinterpolation.c:
18785         * testsuite/controller/.cvsignore:
18786         * testsuite/controller/Makefile.am:
18787         * testsuite/controller/interpolator.c:
18788           merge controller testsuites
18789           fix broken tests
18790           remove mem-chunk from docs
18791
18792 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18793
18794         * gst/gstmemchunk.c:
18795         * gst/gstmemchunk.h:
18796         * gst/gsttrashstack.c:
18797         * gst/gsttrashstack.h:
18798           out.  get out.  you're fired.  to the Attic !
18799
18800 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
18801
18802         * gst/gstcaps.c: (gst_caps_intersect):
18803           fix signedness issues in a (hopefully) correct way
18804         * gst/gstelement.c: (gst_element_pads_activate):
18805           some debugging
18806         * gst/gstobject.c: (gst_object_set_parent):
18807           some debugging
18808
18809 2005-10-17  Julien MOUTTE  <julien@moutte.net>
18810
18811         * gst/gstvalue.h: Fix prototypes.
18812
18813 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18814
18815         * docs/gst/gstreamer-sections.txt:
18816         * gst/gst.c: (gst_version_string):
18817         * gst/gst.h:
18818         * gst/gstversion.h.in:
18819         * win32/common/libgstreamer.def:
18820           add gst_version_string ()
18821
18822 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18823
18824         * configure.ac:
18825           clean up further
18826         * gst/gst.c: (init_post):
18827         * win32/common/config.h.in:
18828           it's PLUGINDIR now
18829         * gst/gstcaps.c: (gst_caps_intersect):
18830           use gint64, the range could be bigger than a guint
18831
18832 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18833
18834         * gst/gstclock.h:
18835           document potential problem in 2038
18836
18837 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18838
18839         * gst/gstcaps.c: (gst_caps_intersect):
18840           Fix guint j diving under 0
18841
18842 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18843
18844         * configure.ac:
18845         * win32/common/config.h:
18846         * win32/common/config.h.in:
18847           check for process.h, declares getpid() on Windows
18848         * gst/gstinfo.c:
18849           include process.h if we have it
18850         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
18851         * gst/gstmemchunk.h:
18852           fix signedness issues
18853         * win32/common/libgstreamer.def:
18854           fix get_type's
18855
18856 2005-10-16  Julien MOUTTE  <julien@moutte.net>
18857
18858         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
18859         fix. Because of unsigned ints, caps intersection was going nuts and
18860         trying to access structures with G_MAXUINT index. That fixes
18861         videotestsrc ! ffmpegcolorspace ! fakesink
18862         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
18863         consistency.
18864
18865 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18866
18867         * configure.ac:
18868           use the gettext macro
18869         * gst/elements/gstelements.c:
18870         * gst/gst.c:
18871         * gst/indexers/gstindexers.c:
18872           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
18873         * win32/common/config.h:
18874           updated config.h
18875         * win32/common/config.h.in:
18876           add the template to generate config.h
18877         * win32/common/gstenumtypes.c:
18878         * win32/common/gstversion.h:
18879           updated copies
18880
18881 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18882
18883         * gst/gst.c: (gst_version):
18884         * gst/gstversion.h.in:
18885           add the nano
18886
18887 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
18888
18889         * gst/gstevent.h:
18890           Oops, add missing closing bracket.
18891
18892 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18893
18894         * configure.ac:
18895           use common m4's for argument checking
18896
18897 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
18898
18899         * docs/gst/gstreamer-sections.txt:
18900         * gst/gstevent.h:
18901           Add GST_EVENT_TYPE_NAME() macro.
18902
18903 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18904
18905         * gst/gstinfo.c:
18906         * gst/gstpluginfeature.c:
18907         * gst/gsttask.c:
18908           privatize more symbols
18909
18910 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18911
18912         * configure.ac:
18913           add srcdir, builddir includes to GST_ALL_CFLAGS, since
18914           everything that uses GStreamer API should have the includes
18915
18916 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18917
18918         * docs/gst/gstreamer-sections.txt:
18919         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
18920         * gst/gstvalue.h:
18921           give each value a _get_type, removes the DATA exports
18922
18923 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18924
18925         * gst/gst.c:
18926         * gst/gst.h:
18927           remove _gst_registry_auto_load, not used anymore
18928         * gst/gstbin.c: (gst_bin_get_type):
18929         * gst/gstbin.h:
18930         * gst/gstelement.c: (gst_element_get_type):
18931         * gst/gstelement.h:
18932         * gst/gstobject.c: (gst_object_get_type):
18933         * gst/gstobject.h:
18934         * gst/gstpad.c: (gst_pad_get_type):
18935         * gst/gstpad.h:
18936           make _get_type functions similar, fixes data export from library
18937
18938 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18939
18940         * configure.ac:
18941           correctly make conditionals
18942         * gst/elements/Makefile.am:
18943         * gst/elements/gstelements.c:
18944           fix typo causing fdsrc not to build
18945
18946 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18947
18948         * testsuite/Makefile.am:
18949         * testsuite/bytestream/.cvsignore:
18950         * testsuite/bytestream/Makefile.am:
18951         * testsuite/bytestream/filepadsink.c:
18952         * testsuite/bytestream/gstbstest.c:
18953         * testsuite/bytestream/test1.c:
18954         * testsuite/bytestream/testfile1:
18955         * testsuite/caps/normalisation.c:
18956         * testsuite/caps/random.c: (main):
18957         * testsuite/cleanup/.cvsignore:
18958         * testsuite/cleanup/Makefile.am:
18959         * testsuite/cleanup/cleanup1.c:
18960         * testsuite/cleanup/cleanup2.c:
18961         * testsuite/cleanup/cleanup3.c:
18962         * testsuite/cleanup/cleanup4.c:
18963         * testsuite/cleanup/cleanup5.c:
18964         * testsuite/controller/interpolator.c:
18965         * testsuite/debug/printf_extension.c: (main):
18966         * testsuite/elements/tee.c:
18967         * testsuite/negotiation/.cvsignore:
18968         * testsuite/negotiation/Makefile.am:
18969         * testsuite/negotiation/pad_link.c:
18970         * testsuite/pad/Makefile.am:
18971         * testsuite/pad/chainnopull.c:
18972         * testsuite/pad/getnopush.c:
18973         * testsuite/pad/link.c:
18974         * testsuite/refcounting/sched.c: (create_pipeline):
18975         * testsuite/registry/Makefile.am:
18976         * testsuite/registry/gst-print-formats.c:
18977         * testsuite/schedulers/.cvsignore:
18978         * testsuite/schedulers/142183-2.c:
18979         * testsuite/schedulers/142183.c:
18980         * testsuite/schedulers/143777-2.c:
18981         * testsuite/schedulers/143777.c:
18982         * testsuite/schedulers/147713.c:
18983         * testsuite/schedulers/147819.c:
18984         * testsuite/schedulers/147894-2.c:
18985         * testsuite/schedulers/147894.c:
18986         * testsuite/schedulers/Makefile.am:
18987         * testsuite/schedulers/group_link.c:
18988         * testsuite/schedulers/queue_link.c:
18989         * testsuite/schedulers/relink.c:
18990         * testsuite/schedulers/unlink.c:
18991         * testsuite/schedulers/unref.c:
18992         * testsuite/schedulers/useless_iteration.c:
18993         * testsuite/states/bin.c:
18994           clean out/remove some stuff from the testsuite directories
18995
18996 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18997
18998         * configure.ac:
18999           check for some headers
19000         * gst/elements/Makefile.am:
19001         * gst/elements/gstelements.c:
19002           don't compile fdsrc without sys/socket.h
19003         * gst/indexers/Makefile.am:
19004         * gst/indexers/gstindexers.c: (plugin_init):
19005           don't compile fileindex without mmap
19006
19007 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19008
19009         * configure.ac:
19010           reorganize
19011           clean up
19012           document more
19013           remove cruft
19014         * check/Makefile.am:
19015         * docs/gst/Makefile.am:
19016         * examples/helloworld/Makefile.am:
19017         * gst/Makefile.am:
19018         * gst/base/Makefile.am:
19019         * gst/check/Makefile.am:
19020         * gst/elements/Makefile.am:
19021         * gst/indexers/Makefile.am:
19022         * gst/parse/Makefile.am:
19023         * libs/gst/controller/Makefile.am:
19024         * libs/gst/dataprotocol/Makefile.am:
19025         * examples/helloworld/helloworld.c: (event_loop):
19026           compile fixes, though it's not being compiled currently
19027
19028 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
19029
19030         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
19031           Add some simple tests for the new taglist date API.
19032
19033 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
19034
19035         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
19036         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
19037           Beautify 'last-message' output: print 'none' for buffer timestamps
19038           and durations if none is set; improve alignment with next messages.
19039
19040 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
19041
19042         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
19043         * gst/gstpluginfeature.h:
19044         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
19045         * gst/gstregistry.h:
19046         * docs/gst/gstreamer-sections.txt:
19047           Add new API to check plugin feature version requirements.
19048
19049         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
19050           Some basic tests for the above.         
19051
19052 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19053
19054         * gst/gststructure.c: (gst_structure_to_string):
19055           guard against NULL printf - happens when for example
19056           a message structure with GstClock gets serialized
19057
19058 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
19059
19060         * gst/base/gstcollectpads.c: (gst_collectpads_event):
19061           Fix presumable copy'n'pasto.
19062
19063 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19064
19065         * gst/elements/gstfakesrc.h:
19066         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
19067         * gst/elements/gsttypefindelement.c:
19068           fix some signedness
19069         * gst/elements/gstfilesink.c: (gst_file_sink_render):
19070           I wonder if this could actually write +2GB files before
19071
19072 2005-10-13  Andy Wingo  <wingo@pobox.com>
19073
19074         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
19075         Fix Timmeke Waymans bug.
19076         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
19077         string of the proper length to gst_caps_from_string. There's a
19078         potential for, before this fix, that this could cause someone
19079         connecting over the network to cause a segfault if the payload is
19080         not NUL-terminated.
19081
19082 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
19083
19084         * docs/design/draft-push-pull.txt:
19085         * docs/design/part-overview.txt:
19086         * docs/random/TODO-pre-0.9:
19087         * docs/random/old/ChangeLog.gstreamer:
19088         * gst/base/gstpushsrc.c:
19089         * gst/gstclock.c:
19090           fixed typos
19091
19092 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19093
19094         * gst/glib-compat.c: (gst_flags_get_first_value):
19095         * gst/glib-compat.h:
19096         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
19097         (gst_value_compare_double), (gst_value_serialize_flags):
19098           GLib 2.6 g_flags_get_first_value has a bug that triggers an
19099           infinite loop
19100
19101 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19102
19103         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19104         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19105           fix up debugging
19106         * tools/gst-launch.c: (event_loop):
19107           print out clock nicely
19108
19109 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
19110
19111         * docs/gst/gstreamer-sections.txt:
19112         * gst/gsttaglist.h:
19113         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
19114         (gst_tag_list_get_date_index):
19115           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
19116           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
19117
19118 2005-10-13  Julien MOUTTE  <julien@moutte.net>
19119
19120         * gst/base/gstcollectpads.c: (gst_collectpads_event),
19121         (gst_collectpads_chain):
19122         * gst/base/gstcollectpads.h: Handle newsegment and store informations
19123         in CollectData.
19124
19125 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
19126
19127         * docs/gst/gstreamer-sections.txt:
19128         * gst/gst.c:
19129         * gst/gsterror.h:
19130         * tools/gst-inspect.c: (main):
19131         * tools/gst-launch.c: (main):
19132         * tools/gst-run.c: (main):
19133         * tools/gst-xmlinspect.c: (main):
19134           fix GOption context leaks
19135           doc fixes
19136
19137 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19138
19139         * gst/gstbus.c:
19140           use HAVE_UNISTD_H
19141         * win32/common/config.h:
19142           update config
19143         * win32/vs6/grammar.dsp:
19144         * win32/vs6/libgstelements.dsp:
19145         * win32/vs6/libgstreamer.dsp:
19146           update vs6 files
19147
19148 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19149
19150         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19151         * gst/base/gstbasesrc.c: (gst_base_src_query):
19152           fix more guint64<->gdouble conversions
19153
19154 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19155
19156         * Makefile.am:
19157           add win32-update target
19158         * win32/common/gstconfig.h:
19159         * win32/common/gstenumtypes.c:
19160         * win32/common/gstenumtypes.h:
19161         * win32/common/gstversion.h:
19162           add files that visual studio can't generate
19163
19164 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19165
19166         * Makefile.am:
19167           add a win32-update target
19168         * configure.ac:
19169
19170 2005-10-12  Wim Taymans  <wim@fluendo.com>
19171
19172         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
19173         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
19174         * gst/gstelement.c: (gst_element_commit_state),
19175         (gst_element_set_state):
19176         Protect flags with proper lock.
19177         unref provided cached clock in dispose.
19178
19179 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
19180
19181         * gst/gst.c:
19182         * gst/gstminiobject.h:
19183         * gst/gstpad.h:
19184         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
19185           removed unused flags from miniobject
19186           doc fixes
19187
19188 2005-10-12  Wim Taymans  <wim@fluendo.com>
19189
19190         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
19191         (gst_file_sink_event), (gst_file_sink_render):
19192         Flush before seeking.
19193
19194 2005-10-12  Andy Wingo  <wingo@pobox.com>
19195
19196         * gst/gst.c (gst_init_check): Ignore unknown options, as has
19197         always been the case.
19198
19199 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
19200
19201         * check/gst/gstbin.c: (GST_START_TEST):
19202         * docs/gst/gstreamer-sections.txt:
19203         * gst/base/gstbasesink.c: (gst_base_sink_init):
19204         * gst/base/gstbasesrc.c: (gst_base_src_init),
19205         (gst_base_src_get_range), (gst_base_src_check_get_range),
19206         (gst_base_src_start), (gst_base_src_stop):
19207         * gst/base/gstbasesrc.h:
19208         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
19209         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
19210         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
19211         (bin_bus_handler):
19212         * gst/gstbin.h:
19213         * gst/gstbuffer.h:
19214         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
19215         * gst/gstbus.h:
19216         * gst/gstelement.c: (gst_element_is_locked_state),
19217         (gst_element_set_locked_state), (gst_element_commit_state),
19218         (gst_element_set_state):
19219         * gst/gstelement.h:
19220         * gst/gstindex.c: (gst_index_init):
19221         * gst/gstindex.h:
19222         * gst/gstminiobject.h:
19223         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
19224         (gst_object_set_parent):
19225         * gst/gstobject.h:
19226         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
19227         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
19228         * gst/gstpad.h:
19229         * gst/gstpadtemplate.h:
19230         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
19231         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
19232         * gst/gstpipeline.h:
19233         * gst/indexers/gstfileindex.c: (gst_file_index_load),
19234         (gst_file_index_commit):
19235         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
19236         * testsuite/pad/link.c: (gst_test_src_init),
19237         (gst_test_filter_init), (gst_test_sink_init):
19238         * testsuite/states/locked.c: (main):
19239           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
19240           moved bitshift from macro to enum definition
19241
19242 2005-10-12  Wim Taymans  <wim@fluendo.com>
19243
19244         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
19245         * gst/elements/gstfilesink.c: (gst_file_sink_event),
19246         (gst_file_sink_render):
19247         Some more debugging info.
19248
19249 2005-10-12  Wim Taymans  <wim@fluendo.com>
19250
19251         * docs/design/part-states.txt:
19252         * tools/gst-launch.c: (main):
19253         Some doc updates.
19254         Revert non-intentional change.
19255
19256 2005-10-12  Wim Taymans  <wim@fluendo.com>
19257
19258         * check/gst/gstbin.c: (GST_START_TEST):
19259         * check/gst/gstelement.c: (GST_START_TEST):
19260         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
19261         * check/gst/gstghostpad.c: (GST_START_TEST):
19262         * check/gst/gstpipeline.c: (GST_START_TEST):
19263         * check/pipelines/simple_launch_lines.c: (run_pipeline):
19264         * check/states/sinks.c: (GST_START_TEST):
19265         * gst/elements/gsttypefindelement.c: (stop_typefinding):
19266         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19267         (gst_bin_remove_func), (gst_bin_get_state_func),
19268         (gst_bin_recalc_state), (gst_bin_change_state_func),
19269         (bin_bus_handler):
19270         * gst/gstelement.c: (gst_element_get_state_func),
19271         (gst_element_get_state), (gst_element_abort_state),
19272         (gst_element_commit_state), (gst_element_set_state),
19273         (gst_element_change_state), (gst_element_change_state_func):
19274         * gst/gstelement.h:
19275         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
19276         (gst_pipeline_provide_clock_func):
19277         * gst/gstutils.c: (gst_element_link_pads_filtered):
19278         * tools/gst-launch.c: (main):
19279         * tools/gst-typefind.c: (main):
19280         Use GstClockTime in _get_state() instead of GTimeVal.
19281         Remove old code in gstutils.c
19282
19283 2005-10-12  Andy Wingo  <wingo@pobox.com>
19284
19285         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
19286         removed.
19287
19288         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
19289         there is no task. Shouldn't affect any code, as nothing in our
19290         plugins checks this return value.
19291         (gst_pad_stop_task): Also take the stream lock if the pad has no
19292         task. Docs updated.
19293
19294 2005-10-12  Wim Taymans  <wim@fluendo.com>
19295
19296         * gst/gstpad.c: (pre_activate), (post_activate),
19297         (gst_pad_activate_pull), (gst_pad_activate_push):
19298         Cleanup activation code. Reset old state if
19299         activation failed.
19300
19301 2005-10-12  Wim Taymans  <wim@fluendo.com>
19302
19303         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19304         (gst_base_sink_change_state):
19305         No need to prerol after receiving EOS.
19306
19307         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
19308         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
19309         * gst/elements/gstidentity.c: (gst_identity_event):
19310         Print events more verbosely.
19311
19312 2005-10-12  Wim Taymans  <wim@fluendo.com>
19313
19314         * check/Makefile.am:
19315         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
19316         * check/states/sinks2.c:
19317         Moved sinks2 testcode in sinks check.
19318
19319         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19320         (gst_bin_remove_func), (gst_bin_recalc_state),
19321         (gst_bin_change_state_func), (bin_bus_handler):
19322         Fix potential race condition when _get_state() iterated over an
19323         ASYNC element right before it posted a state completion.
19324
19325         * gst/gstclock.h:
19326         Do proper cast here.
19327
19328         * gst/gstevent.c: (gst_event_new_newsegment),
19329         (gst_event_parse_newsegment):
19330         A playback rate of 0.0 is not allowed.
19331
19332 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19333
19334         * win32/common/config.h:
19335         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
19336         (_trewinddir), (_ttelldir), (_tseekdir):
19337         * win32/common/dirent.h:
19338         * win32/common/gtchar.h:
19339         * win32/common/libgstbase.def:
19340         * win32/common/libgstreamer.def:
19341         * win32/vs6/grammar.dsp:
19342         * win32/vs6/gst_inspect.dsp:
19343         * win32/vs6/gst_launch.dsp:
19344         * win32/vs6/gstreamer.dsw:
19345         * win32/vs6/libgstbase.dsp:
19346         * win32/vs6/libgstelements.dsp:
19347         * win32/vs6/libgstreamer.dsp:
19348           Visual Studio 6 project files, and a new common directory.
19349           Phear.
19350
19351 2005-10-11  Wim Taymans  <wim@fluendo.com>
19352
19353         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19354         (gst_base_sink_do_sync), (gst_base_sink_query),
19355         (gst_base_sink_change_state):
19356         * gst/base/gstbasesink.h:
19357         Correctly parse newsegment info.
19358
19359 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19360
19361         * gst/gst.c: (init_post):
19362           split plugin paths correctly
19363
19364 2005-10-11  Wim Taymans  <wim@fluendo.com>
19365
19366         * check/gst/gstevent.c: (GST_START_TEST):
19367         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19368         (gst_base_sink_change_state):
19369         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
19370         * gst/base/gstbasetransform.c: (gst_base_transform_event):
19371         * gst/elements/gstfilesink.c: (gst_file_sink_event):
19372         * gst/gstevent.c: (gst_event_new_newsegment),
19373         (gst_event_parse_newsegment):
19374         * gst/gstevent.h:
19375         Added extra flag to newsegment for future API freeze.
19376         Updated check and base elements.
19377
19378 2005-10-11  Julien MOUTTE  <julien@moutte.net>
19379
19380         * gst/base/gstcollectpads.c: (gst_collectpads_init),
19381         (gst_collectpads_add_pad), (gst_collectpads_pop),
19382         (gst_collectpads_event), (gst_collectpads_chain):
19383         * gst/base/gstcollectpads.h: Handle EOS correctly.
19384
19385 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19386
19387         * tools/gst-launch.c: (main):
19388           more null protecting
19389
19390 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19391
19392         * gst/gst-i18n-lib.h:
19393           check for ENABLE_NLS, not GETTEXT_PACKAGE
19394         * gst/gstregistry.c: (gst_registry_add_plugin),
19395         (gst_registry_scan_path_level),
19396         (_gst_registry_remove_cache_plugins):
19397           protect possibly NULL strings
19398         * gst/parse/types.h:
19399           config.h already included before
19400         * tools/gst-inspect.c: (main):
19401           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
19402           check for ENABLE_NLS, not GETTEXT_PACKAGE
19403         * tools/gst-launch.c: (main):
19404           check for ENABLE_NLS, not GETTEXT_PACKAGE
19405
19406 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19407
19408         * configure.ac:
19409           if we don't have glib, fail before testing 2.8
19410         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
19411           fix a leak, should fix plugins-base testsuite
19412
19413 2005-10-11  Andy Wingo  <wingo@pobox.com>
19414
19415         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
19416         take the mode we're going to as an arg. Go head and set the mode
19417         and flushing flags now, so that if the activate function starts a
19418         thread all the flags will be in the right state.
19419         (post_activate): Renamed also. Just handle making sure streaming
19420         finishes for the deactivation case, and setting the deactivated
19421         mode.
19422         (gst_pad_set_active): Complain loudly if deactivation fails.
19423         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
19424         (gst_pad_activate_push): Adapt to pre/post_activate changes,
19425         remove the terrible hack.
19426
19427 2005-10-11  Wim Taymans  <wim@fluendo.com>
19428
19429         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
19430         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
19431         (gst_bin_recalc_state), (gst_bin_change_state_func),
19432         (gst_bin_dispose), (bin_bus_handler):
19433         * gst/gstbin.h:
19434         Prepare to make current EOS message queue more generic.
19435         Fix some typos.
19436
19437         * gst/gstevent.c: (gst_event_new_newsegment),
19438         (gst_event_parse_newsegment):
19439         * gst/gstevent.h:
19440         Rename base to stream_time.
19441
19442         * gst/gstmessage.h:
19443         Fix typo in docs.
19444
19445 2005-10-11  Wim Taymans  <wim@fluendo.com>
19446
19447         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
19448         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
19449         (gst_bin_change_state_func), (bin_bus_handler):
19450         * gst/gstbin.h:
19451         Work on proper clock selection.
19452
19453 2005-10-11  Edward Hervey  <edward@fluendo.com>
19454
19455         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
19456         * libs/gst/controller/gstcontroller.h:
19457         Added GList* version of _remove_properties() in order to be able to wrap
19458         it in bindings.
19459
19460 2005-10-11  Wim Taymans  <wim@fluendo.com>
19461
19462         * docs/design/part-states.txt:
19463         Some more docs.
19464
19465         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
19466         (gst_bin_change_state_func), (bin_bus_handler):
19467         Doc updates. Don't distribute the same clock over and over again.
19468
19469         * gst/gstclock.c:
19470         * gst/gstclock.h:
19471         Doc updates.
19472
19473         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
19474         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
19475         (gst_pad_send_event):
19476         * gst/gstpad.h:
19477         Make probe emission threadsafe again.
19478         Register quarks and move _get_name() from utils.
19479         Doc updates.
19480
19481         * gst/gstpipeline.c: (gst_pipeline_class_init),
19482         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
19483         Only redistribute the clock of it changed.
19484
19485         * gst/gstsystemclock.h:
19486         Doc updates. 
19487
19488         * gst/gstutils.c:
19489         * gst/gstutils.h:
19490         Moved the _flow_get_name() to GstPad.
19491
19492 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19493
19494         * check/gst-libs/gdp.c: (GST_START_TEST):
19495         * check/gst/gstcaps.c: (GST_START_TEST):
19496         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
19497         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
19498         (gst_dp_packet_from_caps):
19499           fix more valgrind warnings before turning up the heat
19500
19501 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19502
19503         * gst/parse/grammar.y:
19504           some cleanup before the hacking
19505
19506 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19507
19508         * gst/base/gstbasesrc.c: (gst_base_src_query):
19509           use conversions
19510         * gst/gstutils.c: (gst_guint64_to_gdouble),
19511         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
19512         * gst/gstutils.h:
19513           externalize, basesrc uses it
19514           obviously the implementation needs testing
19515
19516 2005-10-10  Wim Taymans  <wim@fluendo.com>
19517
19518         * tests/sched/Makefile.am:
19519         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
19520         (make_pipeline3), (make_pipeline4), (print_elem), (main):
19521
19522 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19523
19524         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
19525           apparently converting from guint64 to double is not implemented
19526           on MSVC
19527
19528 2005-10-10  Wim Taymans  <wim@fluendo.com>
19529
19530         * check/Makefile.am:
19531         * check/generic/states.c: (GST_START_TEST):
19532         * check/gst/gstbin.c: (GST_START_TEST):
19533         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
19534         * check/states/sinks.c: (GST_START_TEST):
19535         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
19536         (main):
19537         Check fixes, use API as stated in design docs, remove hacks.
19538
19539         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19540         (gst_base_sink_change_state):
19541         Catch stopping our task while we're shutting down.
19542
19543         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
19544         (gst_bin_remove_func), (gst_bin_get_state_func),
19545         (gst_bin_recalc_state), (gst_bin_change_state_func),
19546         (bin_bus_handler):
19547         * gst/gstbin.h:
19548         * gst/gstelement.c: (gst_element_init),
19549         (gst_element_get_state_func), (gst_element_abort_state),
19550         (gst_element_commit_state), (gst_element_lost_state),
19551         (gst_element_set_state), (gst_element_change_state),
19552         (gst_element_change_state_func):
19553         * gst/gstelement.h:
19554         New state change algorithm (see #318116)
19555
19556         * gst/gstpipeline.c: (gst_pipeline_class_init),
19557         (gst_pipeline_init), (gst_pipeline_set_property),
19558         (gst_pipeline_get_property), (do_pipeline_seek),
19559         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
19560         * gst/gstpipeline.h:
19561         Remove crude state change hacks.
19562
19563         * gst/gstutils.h:
19564         Remove crude hacks.
19565
19566         * tools/gst-launch.c: (main):
19567         Fixes for state change. Needs some more work to fully use the
19568         new stuff.
19569
19570 2005-10-10  Andy Wingo  <wingo@pobox.com>
19571
19572         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
19573
19574         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
19575         this flag, but it's not even in GLib 2.6. Odd. Hack around the
19576         issue.
19577
19578 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19579
19580         * gst/gstiterator.c: (gst_iterator_new):
19581           Fix my previous commit: GTypes passed to gst_iterator_new()
19582           can be fundamental types.
19583
19584 2005-10-10  Wim Taymans  <wim@fluendo.com>
19585
19586         * gst/gstelement.c: (gst_element_iterate_pad_list),
19587         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
19588         (gst_element_iterate_sink_pads):
19589         Use src/sink pads lists for the respective iterators instead
19590         of filtering.
19591
19592 2005-10-10  Andy Wingo  <wingo@pobox.com>
19593
19594         Merged in popt removal + GOption addition patch from Ronald, bug
19595         #169772.
19596
19597         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
19598         GstElement macros around, remove popt-related symbols, add goption
19599         stuff.
19600
19601         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
19602         
19603         * docs/gst/Makefile.am:
19604         * docs/libs/Makefile.am: No POPT_CFLAGS.
19605         
19606         * examples/manual/Makefile.am:
19607         * docs/manual/basics-init.xml: Doc updates with an example.
19608         
19609         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
19610         (gst_init), (parse_one_option), (parse_goption_arg):
19611         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
19612         bit of hand merging and debugging to get the GOption stuff working
19613         tho.
19614         
19615         * tests/Makefile.am:
19616         * tools/Makefile.am:
19617         * tools/gst-inspect.c: (main):
19618         * tools/gst-launch.c: (main):
19619         * tools/gst-run.c: (main):
19620         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
19621
19622 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19623
19624         * gst/gstiterator.c: (gst_iterator_new):
19625           Add assertions to make sure passed GType is likely to really
19626           be a GType (as the compiler won't catch it if the size and
19627           GType arguments get mixed up, see #318447).
19628
19629 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
19630
19631         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19632
19633         * gst/gstbin.c: (gst_bin_iterate_sorted):
19634           Pass GType and size arguments to gst_iterator_new() in the right
19635           order (maybe we should make _new() take the GType as first argument
19636           just like _new_list()?) (#318447).
19637           
19638
19639 2005-10-10  Wim Taymans  <wim@fluendo.com>
19640
19641         * gst/gstelement.c: (gst_element_finalize):
19642         And free the GStaticRecMutex too
19643
19644 2005-10-10  Andy Wingo  <wingo@pobox.com>
19645
19646         * gst/gstelement.c (gst_element_init, gst_element_finalize):
19647         Allocate and free the mutex properly.
19648
19649         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
19650         New macros.
19651         (GstElement): The state_lock is now recursive. Rebuild your
19652         plugins, suckers. Old macros adapted.
19653
19654         * docs/gst/gstreamer-sections.txt: Doc updates.
19655
19656         * gst/gstutils.h:
19657         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
19658         (g_static_rec_cond_wait): Ported from state changes patch, while
19659         we wait on bug #317802 to be solved in a well-distributed GLib.
19660
19661         * gst/gstelement.c (gst_element_change_state_func): Renamed from
19662         gst_element_change_state, variable name changes.
19663         (gst_element_change_state): Split out of gst_element_set_state in
19664         preparation for the state change merge. Doesn't pay attention to
19665         the 'transition' argument.
19666         (gst_element_set_state): Updates, hopefully purely cosmetic.
19667         (gst_element_sync_state_with_parent): MT-safety. Ported from the
19668         state change patch.
19669         (gst_element_get_state_func): Renamed from get_state, cosmetic
19670         changes.
19671
19672 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19673
19674         * gst/elements/gstelements.c:
19675         * win32/GStreamer.vcproj:
19676         * win32/config.h:
19677         * win32/dirent.c: (_tseekdir):
19678         * win32/gst-inspect.vcproj:
19679         * win32/gst-launch.vcproj:
19680         * win32/gstconfig.h:
19681         * win32/gstelements.vcproj:
19682         * win32/gstenumtypes.c: (gst_object_flags_get_type):
19683         * win32/gstreamer.def:
19684         * win32/msvc71.sln:
19685           updates for the win32 build (patch from Sebastien Moutte)
19686
19687 2005-10-10  Andy Wingo  <wingo@pobox.com>
19688
19689         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
19690         gst_bin_get_state, cleaned up (but no logic changes).
19691         (bin_element_is_sink): Comment updates.
19692         (sink_iterator_filter): Remove needless cast.
19693         (gst_bin_iterate_sinks): Doc update.
19694         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
19695         cleaned up (but no logic changes).
19696
19697         * check/states/sinks.c (test_src_sink): Cleanups from the state
19698         change patch.
19699         (test_livesrc_sink): Sync on the state.
19700
19701         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
19702         the state change patch.
19703
19704         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
19705         change patch.
19706
19707         * check/gst/gstbin.c: Merge in some style fixes and additional
19708         checks from Wim's state change patch.
19709
19710 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19711
19712         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19713         (gst_type_find_helper):
19714           Check whether we have the requested data already in our list of
19715           cached buffers before pulling a new buffer; also make the buffer
19716           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
19717
19718 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19719
19720         * gst/gstcaps.c:
19721         * gst/gstevent.c:
19722           doc updates
19723         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
19724           don't use long long, it's not portable.  Replacing with
19725           gint64 seems to work; let's hope no skeletons fall out of the closet.
19726
19727 2005-10-10  Andy Wingo  <wingo@pobox.com>
19728
19729         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
19730
19731 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
19732
19733         * docs/gst/gstreamer-sections.txt:
19734         * gst/gstevent.c:
19735         * gst/gstevent.h:
19736         * gst/gstinfo.c:
19737         * gst/gstinfo.h:
19738         * gst/gstmessage.c: (gst_message_parse_state_changed):
19739         * gst/gstpad.c:
19740         * gst/gstpad.h:
19741           more docs, fix compilation
19742
19743 2005-10-09  Philippe Khalaf <burger@speedy.org>
19744         * gst/gstmessage.c:
19745           Fixed a few forgotten variables on previous commit
19746
19747 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
19748
19749         * gst/base/gsttypefindhelper.c: (helper_find_peek):
19750           Fix evil typefind crasher: getrange() might return a short
19751           buffer at the end of a file, but gst_type_find_peek() must
19752           either return the full data as requested or NULL, but
19753           never a short buffer.
19754
19755 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19756
19757         * gst/gstmessage.c: (gst_message_new_state_changed),
19758         (gst_message_parse_state_changed):
19759         * gst/gstmessage.h:
19760           don't use "new", it's a C++ keyword
19761
19762 2005-10-08  Wim Taymans  <wim@fluendo.com>
19763
19764         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
19765         * gst/gstelement.c: (gst_element_post_message):
19766         * gst/gstpipeline.c: (gst_pipeline_change_state):
19767         Small docs and debug updates.
19768
19769 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
19770
19771         * docs/gst/gstreamer-sections.txt:
19772         * gst/gstelementfactory.c:
19773         * gst/gstevent.c:
19774         * gst/gsttaglist.c:
19775           more docs
19776
19777 2005-10-08  Wim Taymans  <wim@fluendo.com>
19778
19779         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
19780         (gst_bin_dispose), (bin_bus_handler):
19781         Fix typos, add comments.
19782         Clear EOS list when going to PAUSED from any direction and do it
19783         in a threadsafe way.
19784         Get base time in a threadsafe way too.
19785         Fix confusing debug in the change_state function.
19786         Various other small cleanups.
19787         
19788         * gst/gstelement.c: (gst_element_post_message):
19789         Fix very verbose bus posting code.
19790
19791         * gst/gstpipeline.c: (gst_pipeline_class_init),
19792         (gst_pipeline_set_property), (gst_pipeline_get_property),
19793         (gst_pipeline_change_state):
19794         Small ARG_ -> PROP_ cleanup
19795
19796 2005-10-08  Wim Taymans  <wim@fluendo.com>
19797
19798         * gst/gstbin.c: (is_eos), (bin_bus_handler):
19799         Do a less CPU demanding EOS check because we can.
19800
19801 2005-10-08  Wim Taymans  <wim@fluendo.com>
19802
19803         * libs/gst/dataprotocol/dataprotocol.c:
19804         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
19805         (gst_dp_packet_from_event):
19806         * libs/gst/dataprotocol/dataprotocol.h:
19807         * libs/gst/dataprotocol/dp-private.h:
19808         It's about time we bump the version number.
19809         Since event types don't fit in the guint8 anymore describing
19810         the payload type, make payload type 16 bits wide.
19811
19812 2005-10-08  Wim Taymans  <wim@fluendo.com>
19813
19814         * docs/design/part-TODO.txt:
19815         * docs/design/part-clocks.txt:
19816         * docs/design/part-events.txt:
19817         * docs/design/part-gstbin.txt:
19818         * docs/design/part-gstelement.txt:
19819         * docs/design/part-gstpipeline.txt:
19820         * docs/design/part-live-source.txt:
19821         * docs/design/part-messages.txt:
19822         * docs/design/part-overview.txt:
19823         * docs/design/part-states.txt:
19824         Many doc updates.
19825
19826 2005-10-08  Wim Taymans  <wim@fluendo.com>
19827
19828         * gst/gstevent.c:
19829         * gst/gstevent.h:
19830         Fix event quark registration.
19831         Add some space between events so we can insert them in the
19832         right groups.
19833
19834 2005-10-08  Wim Taymans  <wim@fluendo.com>
19835
19836         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19837         (gst_base_sink_handle_buffer):
19838         Better log message.
19839
19840         * gst/gstbus.h:
19841         * gst/gstelement.h:
19842         More docs.
19843
19844         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
19845         (gst_queue_set_property), (gst_queue_get_property):
19846         * gst/gstqueue.h:
19847         Remove old unused properties.
19848
19849 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
19850         * docs/gst/gstreamer-sections.txt:
19851         * gst/gstmessage.c:
19852         * gst/gstmessage.h:
19853         * gst/gstminiobject.c:
19854         * gst/gstminiobject.h:
19855         * gst/gstobject.h:
19856         * gst/gstpad.h:
19857         * gst/gstutils.h:
19858           lots of new docs and doc fixes
19859
19860 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19861
19862         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
19863         * gst/gstplugin.h:
19864         * gst/gstregistry.c: (gst_registry_lookup_locked),
19865         (gst_registry_scan_path_level):
19866         * gst/gstregistryxml.c: (load_plugin):
19867           Only ever load one plugin for a given plugin basename.
19868           This ensures correct overriding of GST_PLUGIN_PATH over
19869           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
19870           system installed plugins.
19871
19872 2005-10-08  Wim Taymans  <wim@fluendo.com>
19873
19874         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19875         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
19876         Prepare for doing QOS.
19877
19878 2005-10-08  Wim Taymans  <wim@fluendo.com>
19879
19880         * check/gst/gstbin.c: (GST_START_TEST):
19881         * check/pipelines/cleanup.c: (GST_START_TEST):
19882         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19883         Allow new clock message too.
19884
19885 2005-10-08  Wim Taymans  <wim@fluendo.com>
19886
19887         * gst/gstmessage.c: (gst_message_new_error),
19888         (gst_message_new_warning), (gst_message_new_tag),
19889         (gst_message_new_state_changed), (gst_message_new_clock_provide),
19890         (gst_message_new_clock_lost), (gst_message_new_new_clock),
19891         (gst_message_new_segment_start), (gst_message_new_segment_done),
19892         (gst_message_parse_state_changed),
19893         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
19894         (gst_message_parse_new_clock):
19895         * gst/gstmessage.h:
19896         Also carry the clock in question.
19897
19898 2005-10-08  Wim Taymans  <wim@fluendo.com>
19899
19900         * gst/gstmessage.c: (gst_message_new_custom),
19901         (gst_message_new_eos), (gst_message_new_error),
19902         (gst_message_new_warning), (gst_message_new_tag),
19903         (gst_message_new_state_changed), (gst_message_new_clock_provide),
19904         (gst_message_new_new_clock), (gst_message_new_segment_start),
19905         (gst_message_new_segment_done), (gst_message_parse_state_changed),
19906         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
19907         * gst/gstmessage.h:
19908         Clean up.
19909         Added clock related messages.
19910
19911         * gst/gstpipeline.c: (gst_pipeline_change_state):
19912         Post message when the clock changed.
19913
19914         * tools/gst-launch.c: (event_loop):
19915         Print new clock.
19916
19917 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
19918
19919         * tools/gst-inspect.c: (print_element_properties_info):
19920           Can't pass NULL strings to g_print() on windows.
19921
19922 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19923
19924         * docs/Makefile.am:
19925         * docs/gst/Makefile.am:
19926         * docs/gst/gstreamer-docs.sgml:
19927         * docs/gst/running.xml:
19928         * docs/version.entities.in:
19929           add a chapter on running GStreamer.
19930           document GST_DEBUG and GST_PLUGIN* env vars
19931
19932 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19933
19934         * Makefile.am:
19935           remove include dir
19936         * configure.ac:
19937           remove PLUGINS_BUILDDIR stuff
19938         * gst/gst.c: (init_post):
19939           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
19940         * idiottest.mak:
19941           remove, it was condescending and not needed
19942
19943 2005-10-08  Wim Taymans  <wim@fluendo.com>
19944
19945         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
19946         (gst_base_sink_handle_object), (gst_base_sink_event),
19947         (gst_base_sink_wait), (gst_base_sink_handle_event),
19948         (gst_base_sink_change_state):
19949         * gst/base/gstbasesink.h:
19950         Repost EOS message while going to PLAYING if still EOS.
19951         Make sure that when receiving a FLUSH_START we don't attempt
19952         to sync on the clock anymore.
19953
19954 2005-10-08  Wim Taymans  <wim@fluendo.com>
19955
19956         * tools/gst-launch.c: (event_loop):
19957         Better message printout.
19958
19959 2005-10-08  Wim Taymans  <wim@fluendo.com>
19960
19961         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
19962         (gst_bin_child_proxy_get_children_count):
19963         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
19964         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
19965         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
19966         (gst_child_proxy_set_valist):
19967         * gst/parse/grammar.y:
19968         Make ChildProxy threadsafe and fix mem leaks.
19969
19970 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19971
19972         * gst/gst.c: (init_post):
19973           debug the GST_PLUGIN_ env vars
19974
19975 2005-10-08  Wim Taymans  <wim@fluendo.com>
19976
19977         * check/gst/gstbin.c: (GST_START_TEST):
19978         * check/gst/gstmessage.c: (GST_START_TEST):
19979         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
19980         * gst/gstelement.c: (gst_element_commit_state),
19981         (gst_element_lost_state):
19982         * gst/gstmessage.c: (gst_message_new_state_changed),
19983         (gst_message_parse_state_changed):
19984         * gst/gstmessage.h:
19985         * tools/gst-launch.c: (event_loop):
19986         Added extra field to STATE_CHANGE message with the pending
19987         state, which will be different from the new state soon.
19988
19989 2005-10-08  Wim Taymans  <wim@fluendo.com>
19990
19991         * gst/gstbus.c: (gst_bus_pop):
19992         * gst/gstclock.c:
19993         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
19994         Small cleanups and doc updates.
19995
19996 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19997
19998         * gst/gst.c: (init_pre):
19999         * gst/gstbin.c: (gst_bin_add_func):
20000           log distributing clocks and base time
20001         * gst/gstregistry.c: (gst_registry_add_plugin),
20002         (gst_registry_scan_path_level), (gst_registry_scan_path):
20003           clean up the debugging output a little
20004         * gst/gstutils.c: (gst_element_state_get_name):
20005           warn about a memleak (I've actually seen this be used, though
20006           it was probably a bug)
20007
20008 2005-10-07  Wim Taymans  <wim@fluendo.com>
20009
20010         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20011         (gst_base_src_init), (gst_base_src_default_newsegment),
20012         (gst_base_src_newsegment), (gst_base_src_do_seek),
20013         (gst_base_src_loop), (gst_base_src_start):
20014         * gst/base/gstbasesrc.h:
20015         Make the newsegment event customizable by subclasses.
20016
20017 2005-10-07  Wim Taymans  <wim@fluendo.com>
20018
20019         * gst/gstevent.c: (gst_event_new_buffersize),
20020         (gst_event_parse_buffersize):
20021         * gst/gstevent.h:
20022         New event for future idea.
20023
20024 2005-10-07  Andy Wingo  <wingo@pobox.com>
20025
20026         * gst/gstelement.c (gst_element_post_message): Doc update.
20027
20028         * docs/gst/gstreamer-sections.txt: Update.
20029
20030         * gst/gstmessage.c (gst_message_new_application): Made into a
20031         function like honest API calls.
20032         (gst_message_new_element): New message type.
20033
20034         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
20035
20036         * check/elements/fakesrc.c (test_no_preroll): New check, checks
20037         that setting a live fakesrc to PAUSED returns NO_PREROLL both
20038         times.
20039
20040         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
20041         NO_PREROLL from gst_element_change_state to fall through.
20042
20043 2005-10-07  Wim Taymans  <wim@fluendo.com>
20044
20045         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
20046         (gst_ghost_pad_do_activate_push):
20047         Activating a ghostpad with no internal pad in push mode
20048         is ok.
20049
20050 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
20051
20052         * gst/gstobject.h:
20053           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
20054           Fixes compilation on Windows.
20055
20056 2005-10-07  Michael Smith <msmith@fluendo.com>
20057
20058         * tools/gst-inspect.c:
20059           Print out feature and plugin count at the end when printing out
20060           all features.
20061
20062 2005-10-04  Michael Smith <msmith@fluendo.com>
20063
20064         * gst/gsterror.c: (_gst_stream_errors_init):
20065           Add another error string used in a few existing plugins.
20066
20067         * gst/gstplugin.c:
20068         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20069         * tools/gst-inspect.c: (print_element_info):
20070           When a feature disappears from a plugin (and the feature exists in
20071           the cached registry file), things went horribly wrong. This isn't a
20072           complete fix, we should actually be removing the 'missing' features
20073           from the features list when we load the actual plugin. That's not
20074           yet implemented. 
20075
20076 2005-10-04  Johan Dahlin  <johan@gnome.org>
20077
20078         * check/gst/gstiterator.c: (GST_START_TEST):
20079         * gst/gstbin.c: (gst_bin_iterate_elements),
20080         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
20081         * gst/gstelement.c: (gst_element_iterate_pads):
20082         * gst/gstformat.c: (gst_format_iterate_definitions):
20083         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
20084         (gst_iterator_new_list), (gst_iterator_filter):
20085         * gst/gstiterator.h:
20086         * gst/gstquery.c: (gst_query_type_iterate_definitions):
20087         Add a GType to GstIterator, update callsites and tests.
20088
20089 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20090
20091         * gst/gstpad.c: (gst_pad_event_default_dispatch):
20092           give events a chance to be handled by event probes when the pad
20093           is not linked
20094
20095 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20096
20097         * gst/gstevent.c: (gst_event_type_get_name),
20098         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
20099         * gst/gstevent.h:
20100           add string representations for event types
20101
20102 2005-10-06  Wim Taymans  <wim@fluendo.com>
20103
20104         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
20105         Don't use NULL pointers.
20106
20107 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20108
20109         * gst/gst_private.h:
20110         * gst/gstbus.c:
20111         * gst/gstelement.c:
20112         * gst/gstinfo.c:
20113         * gst/gstpluginfeature.c:
20114           widen the debug category in output to fit the biggest one we have
20115           add a bus category and use it
20116           play with the colors
20117           fix up some categories
20118
20119 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20120
20121         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
20122           add push activation of sink ghost pads.
20123           Andye, please verify
20124
20125 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
20126
20127         * gst/gstutils.c: (gst_element_link_pads):
20128           fix a bug in the case where neither element has a pad
20129         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
20130           add a test for that case
20131
20132 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
20133
20134         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
20135           emit have-data before checking for peers.  This allows
20136           for probe handlers to connect elements.  This helps autopluggers.
20137         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
20138         (gst_pad_suite):
20139           add six checks, linked/unlinked with no/true/false probe
20140
20141 2005-10-04  Wim Taymans  <wim@fluendo.com>
20142
20143         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
20144         (gst_fake_sink_event), (gst_fake_sink_preroll),
20145         (gst_fake_sink_render), (gst_fake_sink_change_state):
20146         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
20147         (gst_fake_src_get_property), (gst_fake_src_create),
20148         (gst_fake_src_stop):
20149         * gst/elements/gstidentity.c: (gst_identity_stop):
20150         Protect last_message with lock.
20151
20152 2005-10-04  Edward Hervey  <edward@fluendo.com>
20153
20154         * gst/gstformat.h: 
20155         Added precision in the comments for GST_FORMAT_DEFAULT
20156
20157 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
20158
20159         * tools/gst-launch.c: (main):
20160           Don't try to run erroneous pipelines.
20161
20162 2005-10-04  Julien MOUTTE  <julien@moutte.net>
20163
20164         * gst/gstbus.c: We don't need this header.
20165
20166 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20167
20168         * configure.ac:
20169           back to development
20170
20171 === release 0.9.3 ===
20172
20173 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20174
20175         * README:
20176         * configure.ac:
20177           Releasing 0.9.3, "Unregistered"
20178
20179 2005-10-03  Andy Wingo  <wingo@pobox.com>
20180
20181         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
20182         whereby calling a pad's activatepush() function can start a thread
20183         that starts to push or pull before the pad gets the FLUSHING flag
20184         unset. Hack around it by holding the stream lock until the flag is
20185         set. Need to replace this with a proper solution. Together with
20186         the ghost pad fixes, this fixes mp3 playing/tagreading.
20187
20188         * docs/design/part-gstghostpad.txt: Add a note about activation of
20189         proxy pads outside of ghost pads.
20190
20191         * gst/gstghostpad.c: Implement the ghost pad activation design.
20192
20193 2005-10-02  Andy Wingo  <wingo@pobox.com>
20194
20195         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
20196         It is volatile, after all.
20197
20198         * docs/design/part-gstghostpad.txt: Flesh out activation with
20199         ghost pads.
20200
20201         * gst/base/gstbasesrc.c (gst_base_src_init): Use
20202         GST_DEBUG_FUNCPTR.
20203
20204 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
20205
20206         * configure.ac:
20207           Fix (unused) AM_CONDITIONAL tests.
20208
20209 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
20210
20211         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20212
20213         * gst/gstutils.c: (gst_pad_query_convert):
20214           Add assertion that makes sure src_val is >=0, just like
20215           gst_query_new_convert() has. (#315895)
20216
20217 2005-09-30  Edward Hervey  <edward@fluendo.com>
20218
20219         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
20220         Let's not iterate pads we're not interested in, it avoids getting 
20221         sky-high refcounts on sinkpad.
20222
20223 2005-09-30  Wim Taymans  <wim@fluendo.com>
20224
20225         * gst/gstelement.c: (gst_element_set_state),
20226         (gst_element_change_state):
20227         Small tweak, element in ASYNC remains ASYNC.
20228
20229 2005-09-30  Wim Taymans  <wim@fluendo.com>
20230
20231         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20232         Only error is an error.
20233
20234         * gst/gstbin.c: (gst_bin_change_state):
20235         Better debugging.
20236
20237         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
20238         Also call pad_block in pad alloc.
20239
20240         * gst/gstutils.c: (gst_flow_get_name):
20241         Better debugging.
20242
20243 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
20244
20245         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20246         (gst_base_src_get_range):
20247           Fix documentation typos. Add some more debug info.
20248
20249 2005-09-29  David Schleef  <ds@schleef.org>
20250
20251         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
20252           more end-user friendly.
20253         * tools/gst-inspect.c: (main): Check if command-line argument is
20254           a file and attempt to load that file as a plugin.
20255
20256 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20257
20258         * check/gst/gstbin.c:
20259         * check/states/sinks.c:
20260           fix tests for the new warning
20261         * check/gst/gstpipeline.c:
20262           add a test for pipeline and bus interaction
20263         * gst/gstelement.c:
20264           elements should be NULL if they get disposed; add a warning if not
20265
20266 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20267
20268         * gst/gstobject.c:
20269           for 2.6 refcounting, make debug log more correct by printing
20270           the actual refcounts at the time of swap (Wim)
20271
20272 2005-09-29  Andy Wingo  <wingo@pobox.com>
20273
20274         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
20275         removes signal watches previously added via
20276         gst_bus_add_signal_watch.
20277         (gst_bus_add_signal_watch): Don't return the source id, just store
20278         it on the bus if there wasn't an id already.
20279
20280         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
20281         add_signal_watch and remove_signal_watch.
20282
20283 2005-09-29  Edward Hervey  <edward@fluendo.com>
20284
20285         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
20286         Better if we actually iterate the list :)
20287
20288 2005-09-29  Wim Taymans  <wim@fluendo.com>
20289
20290         * check/gst/gstbin.c: (GST_START_TEST):
20291         Change for new bus API.
20292
20293         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
20294         (send_messages), (GST_START_TEST), (gstbus_suite):
20295         Change for new bus signal API.
20296
20297         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
20298         (gst_bus_source_prepare), (gst_bus_source_check),
20299         (gst_bus_create_watch), (gst_bus_add_watch_full),
20300         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
20301         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
20302         * gst/gstbus.h:
20303         Remove support for multiple GSources operating on different
20304         message types as it is too complex and unneeded when using
20305         signals.
20306         Added support for receiving signals from the bus.
20307
20308 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20309
20310         * docs/libs/tmpl/gstdataprotocol.sgml:
20311         * docs/manual/advanced-dataaccess.xml:
20312         * gst/elements/gstcapsfilter.c:
20313         * gst/gstutils.c:
20314           rename filter-caps to caps property
20315
20316 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
20317
20318         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20319           More robust fraction string parsing.
20320
20321         * docs/pwg/appendix-porting.xml:
20322           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
20323
20324 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
20325
20326         * gst/gstcaps.c: (gst_caps_do_simplify):
20327           Thou shalt not free a structure and then continue using it
20328           in the next loop iteration.
20329
20330         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
20331         (gst_caps_suite):
20332           Add test case for caps simplification.
20333
20334 2005-09-29  Wim Taymans  <wim@fluendo.com>
20335
20336         * check/gst/gstbin.c: (GST_START_TEST):
20337         Oops.
20338
20339 2005-09-29  Wim Taymans  <wim@fluendo.com>
20340
20341         * check/gst/gstbin.c: (GST_START_TEST):
20342         Add bus to bin.
20343
20344         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
20345         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
20346         (find_element), (gst_bin_sort_iterator_next),
20347         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20348         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20349         (gst_bin_change_state), (gst_bin_dispose):
20350         A bin does not have a bus, it gets the bus from the parent.
20351
20352         * gst/gstelement.c: (gst_element_requires_clock),
20353         (gst_element_provides_clock), (gst_element_is_indexable),
20354         (gst_element_is_locked_state), (gst_element_change_state),
20355         (gst_element_set_bus_func):
20356         Small cleanups.
20357
20358         * gst/gstpipeline.c: (gst_pipeline_class_init),
20359         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
20360         The pipeline provides a bus.
20361
20362 2005-09-28  Johan Dahlin  <johan@gnome.org>
20363
20364         * gst/gstmessage.c (gst_message_parse_state_changed): Use
20365         gst_structure_get_enum instead of gst_structure_get_int
20366
20367         * gst/gststructure.c (gst_structure_get_enum): Impl.
20368
20369         * gst/gststructure.h (gst_structure_get_enum): Add
20370
20371         * docs/gst/gstreamer-sections.txt: Ditto
20372
20373         * gst/gstmessage.c (gst_message_new_state_changed): Use
20374         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
20375         which does introspection.
20376         Reviewed by Christian Schaller
20377
20378 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
20379
20380         * gst/gstinfo.c: (gst_debug_log_default):
20381           don't do dummy g_strdup()s
20382         * libs/gst/controller/gstcontroller.c:
20383         (on_object_controlled_property_changed),
20384         (gst_controlled_property_new), (gst_controller_new_valist),
20385         (gst_controller_new_list),
20386         (gst_controller_remove_properties_valist), (gst_controller_set),
20387         (gst_controller_get), (gst_controller_sync_values),
20388         (gst_controller_get_value_array), (_gst_controller_class_init),
20389         (gst_controller_get_type):
20390         * libs/gst/controller/gstcontroller.h:
20391         * libs/gst/controller/gstinterpolation.c:
20392         (gst_controlled_property_find_timed_value_node):
20393           convert // to /**/ comments
20394
20395 2005-09-28  Wim Taymans  <wim@fluendo.com>
20396
20397         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
20398         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
20399         (gst_bus_sync_signal_handler):
20400         * gst/gstbus.h:
20401         Added async-message and sync-message signals to the bus.
20402         Added helper BusFunc to emit signals for all posted messages.
20403
20404         * gst/gstmessage.c: (gst_message_type_get_name),
20405         (gst_message_type_to_quark), (gst_message_get_type):
20406         * gst/gstmessage.h:
20407         Register quarks for message names.
20408
20409 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
20410
20411         * docs/libs/gstreamer-libs-sections.txt:
20412         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
20413         (gst_controller_new_list):
20414         * libs/gst/controller/gstcontroller.h:
20415           added another constructor for language bindings
20416
20417 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20418
20419         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
20420           add another check
20421         * gst/gstbus.c:
20422           add some doc
20423         * gst/gstinfo.c: (_gst_debug_init):
20424           slightly more readable color for refcount debugging
20425
20426 2005-09-28  Wim Taymans  <wim@fluendo.com>
20427
20428         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20429         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
20430         (find_element), (gst_bin_sort_iterator_next),
20431         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20432         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20433         (gst_bin_change_state), (gst_bin_dispose):
20434         Small doc fixes. get_clock -> provide_clock.
20435
20436         * gst/gstelement.c: (gst_element_class_init),
20437         (gst_element_provides_clock), (gst_element_provide_clock),
20438         (gst_element_get_clock), (gst_element_commit_state),
20439         (gst_element_lost_state):
20440         * gst/gstelement.h:
20441         Make get/set_clock() symetric. Add provide_clock vmethod since
20442         that is actually what this function does.
20443
20444         * gst/gstpipeline.c: (gst_pipeline_class_init),
20445         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
20446         (gst_pipeline_get_clock):
20447         get_clock -> provide_clock.
20448
20449 2005-09-28  Andy Wingo  <wingo@pobox.com>
20450
20451         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
20452         lieu of real docs...
20453
20454         * gst/elements/gstfdsrc.c: Cleaned up a bit.
20455
20456 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
20457
20458         * gst/elements/gstcapsfilter.c:
20459         * gst/elements/gstfakesink.c:
20460         * gst/elements/gstfakesrc.c:
20461         * gst/elements/gstfdsink.c:
20462         * gst/elements/gstfdsrc.c:
20463         * gst/elements/gstfilesink.c:
20464         * gst/elements/gstfilesrc.c:
20465         * gst/elements/gstidentity.c:
20466         * gst/elements/gsttee.c:
20467         * gst/elements/gsttypefindelement.c:
20468           Make element details static.
20469
20470 2005-09-28  Wim Taymans  <wim@fluendo.com>
20471
20472         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20473         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20474         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20475         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20476         (gst_bin_change_state), (gst_bin_dispose):
20477         Some documentation updates.
20478         Clean up dispose handlers.
20479
20480         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
20481         * gst/gstpad.c: (gst_pad_dispose):
20482         Clean up dispose handler.
20483
20484         * gst/gstpipeline.c: (gst_pipeline_change_state):
20485         Removed spurious UNLOCK.
20486
20487 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
20488
20489         * docs/gst/gstreamer-sections.txt:
20490         * gst/base/gstbasesrc.h:
20491         * gst/gstelement.h:
20492         * gst/gstevent.h:
20493         * gst/gstobject.h:
20494         * gst/gstpad.h:
20495         * gst/gstpipeline.c:
20496         * gst/gstpipeline.h:
20497         * gst/gstutils.h:
20498         * gst/gstxml.h:
20499           added two new functions to the docs
20500                 documents all undocumented GstXXXFlags
20501                 completed some incomplete docs 
20502
20503 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20504
20505         * gst/gstbin.c: (gst_bin_dispose):
20506         * gst/gstelement.c: (gst_element_dispose):
20507           remove now useless and leaky resurrection code in dispose
20508         * gst/base/gstbasesrc.c: (gst_base_src_init):
20509         * gst/gstelementfactory.c: (gst_element_factory_create):
20510         * gst/gstobject.c: (gst_object_set_parent):
20511           add some debugging
20512
20513 2005-09-27  Wim Taymans  <wim@fluendo.com>
20514
20515         * docs/design/part-TODO.txt:
20516         Update TODO.
20517
20518         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20519         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20520         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20521         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20522         (gst_bin_change_state):
20523         * gst/gstelement.h:
20524         Remove element variable, we keep element info in the iterator now.
20525
20526 2005-09-27  Andy Wingo  <wingo@pobox.com>
20527
20528         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
20529         values.
20530
20531 2005-09-27  Wim Taymans  <wim@fluendo.com>
20532
20533         * check/gst/gstbin.c: (GST_START_TEST):
20534         Enable check that works now.
20535
20536         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20537         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20538         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20539         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20540         (gst_bin_change_state):
20541         * gst/gstbin.h:
20542         Redid the state change algorithm using a topological sort algo.
20543         Handles all cases correctly.
20544         Exposed iterator for state change order.
20545
20546         * gst/gstelement.h:
20547         Temp storage for state changes. Need to get rid of this soon.
20548
20549 2005-09-27  Wim Taymans  <wim@fluendo.com>
20550
20551         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
20552         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
20553         (link_fold_func), (gst_pad_proxy_setcaps):
20554         Leak fixes, the fold functions need to unref the passed object and
20555         _get_parent_*() returns ref to parent.
20556
20557 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20558
20559         * check/gst/gstbuffer.c: (test_make_writable):
20560           Plug leak in test case and fix 'make check-valgrind'
20561
20562 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20563
20564         * gst/gstbuffer.c: (gst_subbuffer_init):
20565           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
20566           works correctly in all circumstances (we could have just copied
20567           the parent buffer's readonly flag, but conceptually it seems
20568           cleaner to mark all subbuffers as read-only). (based on patch
20569           by Alessandro Decina, #314710).
20570         
20571         * check/gst/gstbuffer.c: (create_read_only_buffer),
20572         (test_make_writable), (test_subbuffer_make_writable),
20573         (gst_test_suite):
20574           Add some tests for gst_buffer_make_writable().
20575
20576 2005-09-27  Wim Taymans  <wim@fluendo.com>
20577
20578         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
20579         use gst_object_has_ancestor().
20580
20581         * gst/gstobject.c: (gst_object_has_ancestor):
20582         * gst/gstobject.h:
20583         gst_object_has_ancestor() copied from gstbin.c as it is a
20584         useful function.
20585
20586         * tests/instantiate/create.c: (create_all_elements):
20587         * tests/lat.c: (handoff_src), (handoff_sink):
20588         * tests/sched/runxml.c: (main):
20589         * tests/seeking/seeking1.c: (main):
20590         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
20591         (main):
20592         Fix compilation of some tests.
20593
20594 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20595
20596         * gst/gsterror.h:
20597           Remove comment. GST_TYPE_G_ERROR is here to stay,
20598           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
20599           (#316961, #300610).
20600
20601 2005-09-26  Wim Taymans  <wim@fluendo.com>
20602
20603         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
20604         Added check that shows error in state change order.
20605
20606 2005-09-26  Wim Taymans  <wim@fluendo.com>
20607
20608         * gst/gstbin.c: (gst_bin_change_state):
20609         Make state change function use 3 queues again, we were
20610         adding elements in the wrong order.
20611
20612         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
20613         Some debug info,
20614
20615         * gst/gstpad.c: (gst_pad_dispose):
20616         Added some debug info first.
20617
20618 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
20619
20620         * docs/design/draft-push-pull.txt:
20621         * docs/design/part-events.txt:
20622         * docs/design/part-overview.txt:
20623         * docs/design/part-scheduling.txt:
20624           Replace all _pull_region() with _pull_range()
20625           
20626 2005-09-26  Andy Wingo  <wingo@pobox.com>
20627
20628         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
20629
20630         * check/gst-libs/controller.c: Update for controller api change.
20631
20632         * configure.ac: 
20633         * tests/Makefile.am:
20634         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
20635         over by GLib bug 118439.
20636         
20637         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
20638         routines to a function.
20639
20640         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
20641
20642         * libs/gst/controller/gsthelper.c:
20643         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
20644         (gst_object_sync_values): Renamed from sink_values. Ugh.
20645
20646         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
20647
20648         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
20649         Renamed from controller_key, as it is exported.
20650
20651         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
20652
20653 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
20654
20655         * gst/Makefile.am:
20656         * gst/gst.h:
20657         * gst/gstpad.h:
20658         * gst/gstpadtemplate.h:
20659         * gst/gstquery.c:
20660         * gst/gstquery.h:
20661         * gst/gstqueryutils.c:
20662         * gst/gstqueryutils.h:
20663           remove queryutils headers after moving the two used functions
20664           to gstquery.  also fixes build problem for gstsiddec
20665
20666 2005-09-26  Michael Smith <msmith@fluendo.com>
20667
20668         * tools/gst-launch.1.in:
20669         Correct documentation in manpage of debug syntax
20670
20671 2005-09-26  Wim Taymans  <wim@fluendo.com>
20672
20673         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
20674         (gst_base_src_is_seekable), (gst_base_src_change_state):
20675         Some more debugging info.
20676
20677 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20678
20679         * docs/gst/gstreamer-sections.txt:
20680         * gst/base/gstbasetransform.h:
20681         * gst/gstindex.h:
20682           added more docs
20683
20684 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20685
20686         * docs/gst/.cvsignore:
20687         * docs/gst/tmpl/.cvsignore:
20688         * docs/gst/tmpl/gstpipeline.sgml:
20689         * docs/gst/tmpl/gstplugin.sgml:
20690         * gst/gstpipeline.c:
20691         * gst/gstplugin.c:
20692         * gst/gstplugin.h:
20693           inlined the last two docs files
20694           removed the tmpl directory from cvs (no more conflicts here!)
20695
20696 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20697
20698         * docs/gst/gstreamer-sections.txt:
20699         * docs/gst/tmpl/.cvsignore:
20700         * docs/gst/tmpl/gstpad.sgml:
20701         * docs/gst/tmpl/gstpadtemplate.sgml:
20702         * gst/Makefile.am:
20703         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
20704         (gst_pad_finalize), (gst_pad_set_pad_template):
20705         * gst/gstpad.h:
20706         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
20707         (gst_pad_template_class_init), (gst_pad_template_init),
20708         (gst_pad_template_dispose), (name_is_valid),
20709         (gst_static_pad_template_get), (gst_pad_template_new),
20710         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
20711         (gst_pad_template_pad_created):
20712         * gst/gstpadtemplate.h:
20713           inlined two more docs
20714           factored gstpadtemplate out of gstpad
20715
20716 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
20717
20718         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
20719         (test_children_state_change_order_semi_sink):
20720           Fix test case: we can't rely on a fixed state change order when
20721           going from READY => PAUSED because the sink might commit its 
20722           new state first when the first buffer created by the source 
20723           reaches the sink before the source has finished its change state.
20724           (Test case still fails at times, see #316856, comment 5 onwards)
20725
20726 2005-09-24  Wim Taymans  <wim@fluendo.com>
20727
20728         * docs/design/part-events.txt:
20729         * docs/design/part-gstbus.txt:
20730         * docs/design/part-gstpipeline.txt:
20731         * docs/design/part-messages.txt:
20732         * docs/design/part-overview.txt:
20733         * docs/design/part-segments.txt:
20734         * gst/gstbin.c:
20735         * gst/gstbuffer.c:
20736         * gst/gstclock.c:
20737         * gst/gstelement.c:
20738         * gst/gstevent.c:
20739         * gst/gstfilter.c:
20740         * gst/gstiterator.c:
20741         Various documentation updates.
20742
20743 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20744
20745         * gst/gstclock.h:
20746           Well, that's embarassing.  Luckily we weren't using
20747           GST_CLOCK_DIFF anywhere.
20748
20749 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20750
20751         * common/gtk-doc.mak:
20752           don't fail on building XML, FC4 slave shows a bunch of doc
20753           missing bits that I don't get
20754         * gst/gstpad.c:
20755         * gst/gstpipeline.c:
20756         * gst/gststructure.c:
20757           some doc updates
20758
20759 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
20760
20761         * docs/design/part-gstbin.txt:
20762         * docs/design/part-gstbus.txt:
20763         * gst/gstbus.c:
20764           Add blurb about how the bus goes into flushing mode and
20765           drops all messages when its bin goes from READY into NULL 
20766           state.
20767
20768 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20769
20770         * docs/gst/gstreamer-sections.txt:
20771         * gst/gststructure.c: (gst_structure_get_clock_time):
20772         * gst/gststructure.h:
20773           add a method to get a GstClockTime out of a structure
20774
20775 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
20776
20777         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
20778         (test_children_state_change_order_semi_sink), (gst_bin_suite):
20779           Added test to check state change order in bins (can still be made
20780           to fail here under heavy disk load; bails out with 'Push on pad
20781           fakesink:sink0, but it was not activated in push mode').
20782
20783         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
20784           Fix state change order when there is only a semi sink (#316856)
20785
20786         * gst/gstbus.c: (gst_bus_class_init):
20787           Use _class_peek_parent(), not _class_ref(); fix docs to say
20788           'default main context' instead of 'mainloop' where that is
20789           what's meant.
20790
20791         * gst/gstelement.c: (gst_element_commit_state),
20792         (gst_element_set_state):
20793           Fix typos in debug messages
20794
20795 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20796
20797         * docs/README:
20798         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
20799         * gst/gstpluginfeature.c:
20800         * gst/gstutils.c:
20801           various doc updates
20802         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20803           change an assert into an error until it gets fixed properly
20804
20805 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
20806
20807         * docs/gst/gstreamer-sections.txt:
20808         * docs/gst/tmpl/.cvsignore:
20809         * docs/gst/tmpl/gstelement.sgml:
20810         * docs/gst/tmpl/gstinfo.sgml:
20811         * docs/gst/tmpl/gstobject.sgml:
20812         * gst/gstelement.c:
20813         * gst/gstelement.h:
20814         * gst/gstinfo.c:
20815         * gst/gstinfo.h:
20816         * gst/gstobject.c: (gst_object_class_init):
20817         * gst/gstobject.h:
20818           inlined 3 more biiiig doc files and added some missing docs on the fly
20819
20820 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20821
20822         * check/gst/.cvsignore:
20823         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
20824         * gst/gstregistryxml.c: (load_plugin),
20825         (gst_registry_xml_save_plugin):
20826           put back source in registry.  add checks for find_plugin.
20827         * testsuite/states/bin.c: (assert_state), (empty_bin),
20828         (test_adding_one_element), (main):
20829         * testsuite/states/locked.c: (main):
20830           some compile/run fixes
20831
20832 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20833
20834         * check/gst/gstvalue.c: (GST_START_TEST):
20835           fix leaks in the test itself
20836
20837 2005-09-22  Wim Taymans  <wim@fluendo.com>
20838
20839         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20840         (gst_base_sink_send_event), (gst_base_sink_peer_query),
20841         (gst_base_sink_query):
20842         Prepare for more accurate position reporting and query
20843         handling.
20844
20845         * gst/gstelement.c: (gst_element_send_event),
20846         (gst_element_set_state):
20847         Add some comment.
20848
20849 2005-09-22  Wim Taymans  <wim@fluendo.com>
20850
20851         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
20852         (gst_query_parse_segment):
20853         * gst/gstquery.h:
20854         More documentation.
20855         Add segment query for future use.
20856
20857 2005-09-22  Wim Taymans  <wim@fluendo.com>
20858
20859         * gst/gstbin.c: (gst_bin_add_func):
20860         Some more debug info.
20861
20862         * gst/gstelement.c: (gst_element_send_event):
20863         Simplify send_event
20864
20865         * gst/gstelement.h:
20866         Don't know how flags got broken.
20867
20868         * gst/gstquery.h:
20869         Added new query.
20870
20871 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
20872
20873         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
20874           Add simplistic test suite for GST_TYPE_DATE serialisation and
20875           deserialisation.
20876
20877 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
20878
20879         * docs/gst/gstreamer-sections.txt:
20880         * gst/gststructure.c: (gst_structure_set_valist),
20881         (gst_structure_get_date):
20882         * gst/gststructure.h:
20883         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
20884         (gst_date_copy), (gst_value_compare_date),
20885         (gst_value_serialize_date), (gst_value_deserialize_date),
20886         (gst_value_transform_date_string),
20887         (gst_value_transform_string_date), (_gst_value_initialize):
20888         * gst/gstvalue.h:
20889           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
20890           bunch of utility functions along with a hack that checks that
20891           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
20892           is required. Part of the grand scheme in #170777.
20893
20894 2005-09-22  Andy Wingo  <wingo@pobox.com>
20895
20896         * gst/gstconfig.h.in: Psych out gtk-doc.
20897
20898         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
20899
20900         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
20901
20902         * tools/gst-inspect.c (print_element_list): Plug some
20903         inconsequential leaks.
20904
20905         * gst/gstregistry.c (gst_registry_get_default): Doc.
20906
20907         * check/gst/gstplugin.c: 
20908         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
20909         * gst/gstelementfactory.c (gst_element_factory_create): 
20910         * gst/gstindexfactory.c (gst_index_factory_create): Update for
20911         refcount changes.
20912
20913         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
20914         (gst_plugin_feature_load): Doc, don't eat refs.
20915
20916         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
20917         (gst_plugin_list_free): Doc.
20918         (gst_plugin_load_file): Doc updates.
20919
20920         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
20921         accessors returning refcounted objects, return a ref.
20922
20923         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
20924         accessor for caps. IDEMPOTENCE. Oh yes.
20925
20926 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
20927
20928         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20929
20930         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
20931         (_gst_debug_register_funcptr):
20932           Add mutex to serialise access to the hash table with
20933           the function pointer => function name string mapping;
20934           make that hash table static scope (#316809).
20935
20936         * gst/registries/.cvsignore:
20937           Remove left-over file.
20938
20939 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
20940
20941         * docs/pwg/appendix-porting.xml:
20942           And something about newsegment events and caps-on-buffers to
20943           the porting guide (feel free to improve).
20944
20945 2005-09-21  Andy Wingo  <wingo@pobox.com>
20946
20947         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
20948         data and event probes on the same pad.
20949         (test_buffer_probe_once): Test that removing probes from within
20950         the probe functions works.
20951
20952 2005-09-21  Andy Wingo  <wingo@pobox.com>
20953
20954         * check/gst/gstutils.c: New file.
20955         (test_buffer_probe_n_times): A simple buffer probe test. More to
20956         come, foolios.
20957
20958         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
20959         have-data::buffer, not have-data.
20960         (gst_pad_add_event_probe): Likewise for have-data::event.
20961         (gst_pad_add_data_probe): More docs. The part about 'resolving the
20962         peer' isn't quite right yet though.
20963         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
20964         (gst_pad_remove_data_probe): Change to take the guint handler_id
20965         as their arg, not the function+data, which is more glib-like.
20966
20967         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
20968         the signal emission to indicate if the data is a buffer or an
20969         event.
20970         (gst_pad_get_type): Initialize buffer and event quarks.
20971         (gst_pad_class_init): have-data is now a detailed signal, yes it
20972         is.
20973
20974 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
20975
20976         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
20977         * gst/gstutils.c: (gst_util_set_value_from_string),
20978         (gst_util_set_object_arg):
20979           Don't put functional code in g_return_if_fail() or
20980           g_return_val_if_fail() statements, otherwise things will 
20981           break when G_DISABLE_CHECKS is defined during compilation.
20982
20983 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
20984
20985         * docs/gst/tmpl/.cvsignore:
20986         * docs/gst/tmpl/gstvalue.sgml:
20987         * gst/gstvalue.c:
20988         * gst/gstvalue.h:
20989           inlied another one and added  some obvious docs
20990
20991 2005-09-21  Wim Taymans  <wim@fluendo.com>
20992
20993         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
20994         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
20995         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
20996         (gst_fdsrc_get_property), (gst_fdsrc_create):
20997         * gst/elements/gstfdsrc.h:
20998         Properly implement fdsrc. Removed signal and timeout,
20999         better implemented somewhere else.
21000
21001 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
21002
21003         * docs/gst/tmpl/.cvsignore:
21004         * docs/gst/tmpl/gstimplementsinterface.sgml:
21005         * gst/gstinterface.c:
21006           inlined more docs
21007
21008 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
21009
21010         * docs/gst/gstreamer-sections.txt:
21011         * docs/gst/tmpl/.cvsignore:
21012         * docs/gst/tmpl/gstenumtypes.sgml:
21013           remove obsolete doc file
21014
21015 2005-09-21  David Schleef  <ds@schleef.org>
21016
21017         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
21018         little beer, fix a little leak.
21019
21020 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
21021
21022         * docs/gst/gstreamer-docs.sgml:
21023         * docs/gst/gstreamer-sections.txt:
21024         * docs/gst/tmpl/.cvsignore:
21025         * gst/Makefile.am:
21026         * gst/gst.h:
21027         * gst/gstbin.c:
21028         * gst/gstelement.h:
21029         * gst/gstindex.c: (gst_index_class_init):
21030         * gst/gstindex.h:
21031         * gst/gstindexfactory.c: (gst_index_factory_get_type),
21032         (gst_index_factory_class_init), (gst_index_factory_init),
21033         (gst_index_factory_finalize), (gst_index_factory_new),
21034         (gst_index_factory_destroy), (gst_index_factory_find),
21035         (gst_index_factory_create), (gst_index_factory_make):
21036         * gst/gstindexfactory.h:
21037         * gst/gstpluginfeature.c:
21038         * gst/gstpluginfeature.h:
21039         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
21040           more docs inlined, splitted gstindex.{c,h}
21041
21042 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21043
21044         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
21045           fix a leak
21046
21047 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
21048
21049         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21050           Set sync to FALSE by default.
21051
21052 2005-09-20  Wim Taymans  <wim@fluendo.com>
21053
21054         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
21055         (gst_base_sink_init):
21056         Make sync property settable from subclass.
21057
21058         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
21059         (gst_fake_sink_change_state):
21060         Set sync to FALSE by default.
21061
21062 2005-09-20  Wim Taymans  <wim@fluendo.com>
21063
21064         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
21065         * tools/gst-launch.c: (main):
21066         The timeout handler should have lower priority than the source
21067         so we don't timeout before popping a message with 0 timeout.
21068         Dump error messages after failed state change.
21069
21070 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
21071
21072         * tools/gst-inspect.c: (print_element_properties_info):
21073           Fix two typos.
21074
21075 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21076
21077         * check/gst/gstevent.c:
21078         * gst/elements/gstfakesink.c:
21079         * gst/elements/gstfakesink.h:
21080           remove the sync property from fakesink.
21081           has the side effect of setting sync TRUE
21082           for fakesink, which is a change.  Anyone who knows how
21083           to fix this nicely in a GObject-y way, feel free.
21084
21085 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
21086
21087         * docs/gst/gstreamer-docs.sgml:
21088           remove probe refsection
21089
21090 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
21091
21092         * check/Makefile.am:
21093           disable valgrinding the controller test again
21094         * docs/gst/gstreamer-sections.txt:
21095           update for api-changes
21096
21097 2005-09-20  Wim Taymans  <wim@fluendo.com>
21098
21099         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
21100         (gst_base_sink_set_property), (gst_base_sink_get_property),
21101         (gst_base_sink_do_sync):
21102         * gst/base/gstbasesink.h:
21103         Added sync property to basesink to disable clock sync.
21104
21105 2005-09-20  Andy Wingo  <wingo@pobox.com>
21106
21107         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
21108         eating the caller's refcount.
21109
21110         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
21111         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
21112         refcount.
21113
21114         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
21115         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
21116         of GLib 2.8 public, so we can know which refcount to check in
21117         tests.
21118
21119         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
21120         (gst_object_init): Only set the gst refcount if we're going ahead
21121         with the refcount hack.
21122
21123 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
21124
21125         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
21126         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
21127           more leaks plumbed, added more debug-logging
21128         * gst/gstmacros.h:
21129           whitespace fix
21130
21131 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21132
21133         * gst/gstmessage.c:
21134           remove include of gstmemchunk.h
21135
21136 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21137
21138         * gst/gstclock.c: (_gst_clock_id_free):
21139           Commit from the Political Party For More Atomic CVS Commits,
21140           so that people don't waste too much of their day fishing
21141           out obvious leaks out of massive commits.
21142           Oh, and fix a pretty damn obvious leak in the memchunk
21143           removal code.
21144
21145 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
21146
21147         * check/Makefile.am:
21148         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
21149           plug mem-leak, re-add to valgrindable tests
21150
21151 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21152
21153         * gst/gstplugin.h:
21154           unbreak the build for those who have chronic arthritis
21155           and typing "make check" is just too taxing on the hands
21156
21157 2005-09-20  Andy Wingo  <wingo@pobox.com>
21158
21159         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
21160         really want it out, you should fix plugins at the same time.
21161
21162 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
21163
21164         * configure.ac:
21165         * docs/gst/gstreamer-sections.txt:
21166         * gst/gstobject.c:
21167           added missing symbols to api docs
21168           disable ref-count hack if we have glib >= 2.8
21169
21170 2005-09-19  David Schleef  <ds@schleef.org>
21171
21172         * docs/gst/Makefile.am: Ignore a few more internal headers
21173         * docs/gst/gstreamer-docs.sgml: Remove old sections
21174         * docs/gst/gstreamer-sections.txt: Remove old sections
21175         * docs/gst/tmpl/gstobject.sgml: update
21176         * docs/gst/tmpl/gstplugin.sgml: update
21177         * docs/gst/tmpl/gstpluginfeature.sgml: update
21178         * docs/random/ds/0.9-suggested-changes: update.
21179         * gst/Makefile.am: remove memchunk and trashstack, since they're
21180           not used.
21181         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
21182         * gst/gst.h: don't include some headers
21183         * gst/gstchildproxy.c: add gstmarshal.h
21184         * gst/gstclock.c: Don't use memchunks
21185         * gst/gstminiobject.c: Add some docs
21186         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
21187         * gst/gstobject.h: same
21188         * gst/gstplugin.c: include gstmacros.h
21189         * gst/gstplugin.h: don't include gstmacros.h, since it's private
21190         * gst/gstquery.c: don't use memchunks
21191         * gst/gstregistry.c: rename gst_registry_deinit()
21192         * gst/gstregistry.h: same
21193
21194 2005-09-19  David Schleef  <ds@schleef.org>
21195
21196         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
21197         * docs/libs/gstreamer-libs-sections.txt:
21198         * docs/libs/tmpl/gstgetbits.sgml:
21199         * docs/libs/tmpl/gstputbits.sgml:
21200
21201 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
21202
21203         * win32/gstenumtypes.c:
21204         * win32/gstenumtypes.h:
21205           Update.
21206
21207 2005-09-19  Wim Taymans  <wim@fluendo.com>
21208
21209         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
21210         Automatically PAUSE and RESUME a pipeline when a flushing seek
21211         is performed.
21212
21213 2005-09-19  Andy Wingo  <wingo@pobox.com>
21214
21215         * gst/gstregistry.h: Spacing fixen.
21216
21217 2005-09-19  Wim Taymans  <wim@fluendo.com>
21218
21219         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
21220         Handle state change failure more correctly.
21221
21222 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21223
21224         * check/Makefile.am:
21225         * check/pipelines/cleanup.c: (run_pipeline):
21226         * check/pipelines/simple_launch_lines.c: (run_pipeline),
21227         (GST_START_TEST):
21228           enable cleanup again after fixing the leak
21229         * docs/README:
21230           some more info on docs
21231
21232 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21233
21234         * check/Makefile.am:
21235           re-enable tests now that leaks are plugged
21236         * check/gst/gst.c:
21237         * check/gst/gstbin.c:
21238         * check/gst/gstpipeline.c:
21239           add some more tests while fixing leaks
21240         * common/check.mak:
21241           make sure binaries are uptodate when valgrinding/gdbing
21242         * gst/gst.c:
21243         * gst/gstelementfactory.c:
21244           remove a ref too many, and add a FIXME for when we get
21245           round to disposing of classes
21246         * gst/gstplugin.c:
21247           fix the refcounting when loading a plugin from a file and
21248           the code pretends that the pointer is the same even though
21249           of course it can change
21250         * gst/gstpluginfeature.c:
21251           unref plugins marked cached (a bit confusing as a name)
21252           as the docs state should be done
21253           various doc additions to explain refcounting
21254         * gst/gstregistry.c:
21255         * gst/gstregistryxml.c:
21256           debugging
21257
21258 2005-09-19  Wim Taymans  <wim@fluendo.com>
21259
21260         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
21261         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
21262         (send_messages), (GST_START_TEST), (gstbus_suite):
21263         * check/gst/gstpipeline.c: (GST_START_TEST):
21264         * check/pipelines/cleanup.c: (run_pipeline):
21265         * check/pipelines/simple_launch_lines.c: (run_pipeline),
21266         (GST_START_TEST):
21267         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
21268         (gst_bus_source_check), (gst_bus_source_dispatch),
21269         (gst_bus_create_watch), (gst_bus_add_watch_full),
21270         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
21271         * gst/gstbus.h:
21272         * tools/gst-launch.c: (event_loop):
21273         * tools/gst-md5sum.c: (event_loop):
21274         GstBusHandler -> GstBusFunc, return value has the same meaning as
21275         any other GSource (FALSE == remove source).
21276         _add_watch() and _add_watch_full() now take a MessageType mask to
21277         only handle specific types of messages.
21278         _poll() returns the GstMessage instead of the message type to avoid
21279         race conditions.
21280         _have_pending() takes a MessageType mask now too.
21281         Added testsuite for multiple bus watches.
21282         Fix testsuites and applications for new bus API.
21283
21284 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21285
21286         * check/Makefile.am:
21287           mark a bunch of the tests as to fix until we fix them
21288
21289 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21290
21291         * common/check.mak:
21292           use GST_PLUGIN settings for valgrind tests as well, so we're
21293           valgrinding the correct thing
21294         * gst/gst.c: (init_post):
21295           plug another leak
21296
21297 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21298
21299         * gst/gst.c: (init_post), (gst_deinit):
21300         * gst/gstelementfactory.c: (gst_element_factory_class_init),
21301         (gst_element_factory_finalize), (gst_element_factory_cleanup):
21302         * gst/gstindex.c: (gst_index_factory_class_init),
21303         (gst_index_factory_finalize):
21304         * gst/gstobject.c: (gst_object_dispose):
21305         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
21306         (gst_plugin_load_file), (gst_plugin_desc_free):
21307         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
21308         (gst_plugin_feature_finalize):
21309         * gst/gstregistry.c: (gst_registry_class_init),
21310         (gst_registry_init), (gst_registry_finalize),
21311         (gst_registry_get_default), (gst_registry_deinit):
21312         * gst/gstregistry.h:
21313         * gst/gstregistryxml.c: (load_feature), (load_plugin):
21314           various cleanups and memleak plugging.  make valgrind is happy now.
21315
21316 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21317
21318         * common/check.mak:
21319           add a check-valgrind target
21320
21321 2005-09-18  David Schleef  <ds@schleef.org>
21322
21323         * tools/gst-inspect.c: Revert the GOption code.
21324
21325 2005-09-17  David Schleef  <ds@schleef.org>
21326
21327         * check/Makefile.am: Fix environment variables.
21328         * check/gst/gstplugin.c: Fix for API changes.
21329         * tools/gst-inspect.c: Fix for API changes.
21330         * tools/gst-xmlinspect.c: Fix for API changes.
21331         * gst/gstelementfactory.c:
21332         * gst/gstplugin.c:
21333         * gst/gstplugin.h:
21334         * gst/gstpluginfeature.c:
21335         * gst/gstpluginfeature.h:
21336         * gst/gstregistry.c:
21337         * gst/gstregistry.h:
21338         * gst/gstregistryxml.c:
21339         * gst/gsttypefind.c:
21340         * gst/gsttypefindfactory.c:
21341         * gst/indexers/gstfileindex.c:
21342         * gst/indexers/gstmemindex.c:
21343         * gst/schedulers/Makefile.am:
21344           Change registry to keep track of both plugins and features,
21345           removing the feature tracking from plugins themselves.
21346
21347 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21348
21349         * check/Makefile.am:
21350         * tools/gst-register.1.in:
21351           remove gst-register
21352
21353 2005-09-15  David Schleef  <ds@schleef.org>
21354
21355         * check/gst/gstplugin.c:
21356         * gst/gstelementfactory.c:
21357         * gst/gstplugin.c:
21358         * gst/gstpluginfeature.c:
21359         * gst/gstregistry.c:
21360           Getting tired of debugging.  Disabled all the unreffing of
21361           plugins and features, which fixes the segfaults, but of
21362           course leaks like crazy.  At least playbin works.
21363
21364 2005-09-15  David Schleef  <ds@schleef.org>
21365
21366         * check/gst/gstplugin.c: (register_check_elements),
21367         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
21368         More testing
21369         * gst/elements/gsttypefindelement.c: Fix refcounting.
21370         * gst/gsttypefind.c:
21371         * gst/gsttypefindfactory.c:
21372         * gst/gsttypefindfactory.h:
21373
21374 2005-09-15  David Schleef  <ds@schleef.org>
21375
21376         * gst/gstindex.c: get refcounting correct.
21377         * gst/gstregistry.c: Handle the case where a feature/plugin is
21378           not found.
21379
21380 2005-09-15  David Schleef  <ds@schleef.org>
21381
21382         * check/Makefile.am:
21383         * check/gst/gstplugin.c: Add test
21384         * gst/gstplugin.c: Fix problems noticed by testsuite
21385         * gst/gstplugin.h:
21386         * gst/gstregistry.c: 
21387         * gst/gstregistry.h:
21388
21389 2005-09-15  David Schleef  <ds@schleef.org>
21390
21391         * gst/gstplugin.c: Implement semi-decent recounting and locking
21392           in plugins and plugin features.
21393         * gst/gstplugin.h:
21394         * gst/gstpluginfeature.c:
21395         * gst/gstpluginfeature.h:
21396         * gst/gstregistry.c:
21397
21398 2005-09-15  Michael Smith <msmith@fluendo.com>
21399
21400         * gst/gstregistry.c: (gst_registry_get_feature_list):
21401           Implement this. Makes oggdemux work; decodebin still broken.
21402
21403 2005-09-14  David Schleef  <ds@schleef.org>
21404
21405         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
21406           #316076)
21407         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
21408         * gst/check/Makefile.am:
21409         * libs/gst/controller/Makefile.am:
21410         * libs/gst/dataprotocol/Makefile.am:
21411
21412 2005-09-14  David Schleef  <ds@schleef.org>
21413
21414         * configure.ac: Remove getbits library.  Nothing uses it, and
21415           it should be in something like liboil if someone did want
21416           to use it.
21417         * libs/gst/Makefile.am:
21418         * libs/gst/getbits/Makefile.am:
21419         * libs/gst/getbits/gbtest.c:
21420         * libs/gst/getbits/getbits.c:
21421         * libs/gst/getbits/getbits.h:
21422         * libs/gst/getbits/gstgetbits_generic.c:
21423         * libs/gst/getbits/gstgetbits_i386.s:
21424         * libs/gst/getbits/gstgetbits_inl.h:
21425
21426 2005-09-14  David Schleef  <ds@schleef.org>
21427
21428         * gst/Makefile.am: Dist glib-compat.h
21429
21430 2005-09-14  David Schleef  <ds@schleef.org>
21431
21432         * configure.ac: Remove gst/registries, since it's no longer used.
21433         * gst/registries/Makefile.am:
21434         * gst/registries/gstlibxmlregistry.c:
21435         * gst/registries/gstlibxmlregistry.h:
21436         * gst/registries/gstxmlregistry.c:
21437         * gst/registries/gstxmlregistry.h:
21438         * gst/registries/registrytest.c:
21439
21440 2005-09-14  David Schleef  <ds@schleef.org>
21441
21442         * gst/glib-compat.h:
21443         * gst/gstregistryxml.c:
21444           Convergence is near.  Seriously.
21445
21446 2005-09-14  David Schleef  <ds@schleef.org>
21447
21448         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21449         * gst/glib-compat.h:
21450           Attempt #4 to appease the buildbots.
21451
21452 2005-09-14  David Schleef  <ds@schleef.org>
21453
21454         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21455           Attempt #3.
21456
21457 2005-09-14  David Schleef  <ds@schleef.org>
21458
21459         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21460         Attempt #2.
21461
21462 2005-09-14  David Schleef  <ds@schleef.org>
21463
21464         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
21465           the new functions.
21466
21467 2005-09-14  David Schleef  <ds@schleef.org>
21468
21469         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21470         * gst/glib-compat.h: Add some functions that are in newer versions
21471           of glib than we care to require.
21472         * gst/gstregistryxml.c: Use them.
21473
21474 2005-09-14  David Schleef  <ds@schleef.org>
21475
21476         * po/POTFILES.in: remove gst-register.c
21477
21478 2005-09-14  David Schleef  <ds@schleef.org>
21479
21480         * docs/gst/gstreamer-docs.sgml:
21481         * docs/gst/gstreamer-sections.txt:
21482         * docs/gst/gstreamer.types:
21483         * docs/gst/tmpl/gstelement.sgml:
21484         * docs/gst/tmpl/gstplugin.sgml:
21485         * docs/gst/tmpl/gstpluginfeature.sgml:
21486           Documentation updates for registry changes.
21487
21488 2005-09-14  David Schleef  <ds@schleef.org>
21489
21490         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
21491           because we don't require glib-2.8.
21492
21493 2005-09-14  David Schleef  <ds@schleef.org>
21494
21495         * gst/gstregistryxml.c: Added.  Essentially moved out of the
21496           registries directory.
21497
21498 2005-09-14  David Schleef  <ds@schleef.org>
21499
21500         * check/Makefile.am:
21501         * check/generic/states.c:
21502         * gst/Makefile.am:
21503         * gst/gst.c:
21504         * gst/gst.h:
21505         * gst/gst_private.h:
21506         * gst/gstelementfactory.c:
21507         * gst/gstindex.c:
21508         * gst/gstinfo.c:
21509         * gst/gstplugin.c:
21510         * gst/gstplugin.h:
21511         * gst/gstpluginfeature.c:
21512         * gst/gstpluginfeature.h:
21513         * gst/gstregistry.c:
21514         * gst/gstregistry.h:
21515         * gst/gstregistrypool.c: remove
21516         * gst/gstregistrypool.h: remove
21517         * gst/gsttypefind.c:
21518         * gst/gsttypefindfactory.c:
21519         * gst/gsturi.c:
21520         * tools/Makefile.am:
21521         * tools/gst-compprep.c:
21522         * tools/gst-inspect.c:
21523         * tools/gst-register.c: remove
21524         * tools/gst-xmlinspect.c:
21525           Registry rewrite.  Changes registry from being a file created
21526           by a tool into a simple cache file created automatically by 
21527           libgstreamer.  Removed gst-register (because it's no longer
21528           needed).  Remove registry pools, because we only have one
21529           registry implementation (XML).  Fix up other subsystems as
21530           necessary.
21531
21532 2005-09-13  Michael Smith <msmith@fluendo.com>
21533
21534         * gst/gstconfig.h.in:
21535           Don't Use windows linking attributes for MinGW. Fixes #316157
21536
21537 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21538
21539         * gst/gstutils.c: (set_state_async_thread_func),
21540         (gst_element_set_state_async):
21541           Apparently people think it's better if this function doesn't
21542           try to set the state to whatever state was asked for on the first
21543           call to this function for any object.  Seriously.
21544
21545 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21546
21547         * check/gst/gstpipeline.c: (GST_START_TEST):
21548         * docs/gst/gstreamer-sections.txt:
21549         * gst/gstutils.c: (set_state_async_thread_func),
21550         (gst_element_set_state_async):
21551         * gst/gstutils.h:
21552           add a "gst_element_set_state_async" method that
21553           sets the state and starts a thread to make sure the state
21554           change completes as best as it can
21555
21556 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21557
21558         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
21559           codify design+behaviour in testsuite after discussion
21560
21561 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21562
21563         * docs/gst/tmpl/gstelement.sgml:
21564         * docs/manual/appendix-quotes.xml:
21565           add a quote
21566         * gst/gstelement.c: (gst_element_set_state):
21567           add some debug
21568
21569 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
21570
21571         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21572         (gst_base_transform_prepare_output_buf),
21573         (gst_base_transform_handle_buffer):
21574         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
21575         (gst_capsfilter_prepare_buf):
21576           Remove the requirement for sub-classes to call the parent
21577           implementation of prepare_output_buffer with a wrapper function.
21578           
21579         * gst/gsttaglist.h:
21580         * gst/gsttagsetter.h:
21581           Fix #define wrapper
21582
21583 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
21584
21585         * docs/gst/gstreamer-sections.txt:
21586           more doc cleanups
21587
21588 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21589
21590         * docs/gst/gstreamer-sections.txt:
21591         * docs/gst/tmpl/gstelement.sgml:
21592         * docs/gst/tmpl/gstplugin.sgml:
21593         * gst/gstminiobject.c:
21594         * gst/gstvalue.h:
21595           docs now stop throwing warnings
21596
21597 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21598
21599         * docs/gst/gstreamer-sections.txt:
21600         * docs/gst/gstreamer.types:
21601         * docs/gst/tmpl/gstpad.sgml:
21602         * docs/gst/tmpl/gsttypes.sgml:
21603         * gst/base/gstadapter.h:
21604         * gst/base/gstbasesink.h:
21605         * gst/base/gstbasesrc.h:
21606         * gst/gstbin.h:
21607         * gst/gstbuffer.h:
21608         * gst/gstbus.h:
21609         * gst/gstcaps.h:
21610         * gst/gstclock.h:
21611         * gst/gstelement.h:
21612         * gst/gstevent.h:
21613         * gst/gstmessage.h:
21614         * gst/gstpad.h:
21615         * gst/gststructure.c:
21616         * gst/registries/gstlibxmlregistry.h:
21617           various documentation fixes
21618
21619 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21620
21621         * docs/gst/gstreamer-sections.txt:
21622         * docs/gst/tmpl/gstvalue.sgml:
21623           rearrange gstvalue section
21624         * gst/gstutils.c: (gst_element_state_get_name):
21625           NONE -> VOID
21626         * gst/gstvalue.c: (_gst_value_initialize):
21627         * gst/gstvalue.h:
21628           doc updates
21629
21630 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
21631
21632         * check/gst-libs/controller.c:
21633           Header include fix.
21634         * gst/base/gstbasetransform.c:
21635         (gst_base_transform_default_prepare_buf),
21636         (gst_base_transform_handle_buffer):
21637         * gst/base/gstbasetransform.h:
21638           Some more basetransform changes and fixes to enable sub-classes
21639           that modify buffer metadata only.
21640         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
21641         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
21642         (gst_capsfilter_prepare_buf):
21643           If the output pad has fixed allowed caps and input buffers 
21644           don't have any, set the fixed caps on outgoing buffers.
21645
21646 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
21647         * check/elements/identity.c: (GST_START_TEST):
21648           Make the error a little clearer when the test fails because
21649           identity made a copy of the buffer.
21650         * docs/gst/gstreamer-sections.txt:
21651           New symbols in gstbasetransform.h
21652         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21653         (gst_base_transform_init), (gst_base_transform_transform_size),
21654         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21655         (gst_base_transform_default_prepare_buf),
21656         (gst_base_transform_get_unit_size),
21657         (gst_base_transform_buffer_alloc),
21658         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
21659         (gst_base_transform_change_state),
21660         (gst_base_transform_set_passthrough),
21661         (gst_base_transform_set_in_place),
21662         (gst_base_transform_is_in_place):
21663         * gst/base/gstbasetransform.h:
21664           Change BaseTransform to separate in_place operate from same_caps
21665           output. in_place implies that the element can perform the transform
21666           on incoming buffers in-place, even if the caps on the output are
21667           different.
21668           Sub-class elements can now implement special buffer allocation
21669           methods for outgoing buffers if they wish to.
21670           Big documentation addition.
21671         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
21672         * gst/elements/gstelements.c:
21673           Changes for basetransform modifications.
21674         * gst/elements/Makefile.am:
21675         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
21676           Compile fix. Extra debug output.
21677
21678 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21679
21680         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
21681         (gst_pad_suite):
21682           add tests for valid pad naming
21683         * gst/check/gstcheck.c: (gst_check_log_message_func),
21684         (gst_check_log_critical_func):
21685           add ASSERT_WARNING
21686           remove printing of code, it is fragile when the code contains
21687           % and the line number is enough info
21688         * gst/check/gstcheck.h:
21689         * gst/gstpad.c: (gst_pad_template_new):
21690           fix memleaks
21691
21692 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21693
21694         * configure.ac:
21695           say what CHECK flags we use
21696         * docs/libs/gstreamer-libs.types:
21697         * libs/gst/controller/Makefile.am:
21698         * libs/gst/controller/gst-controller.c:
21699         * libs/gst/controller/gst-controller.h:
21700         * libs/gst/controller/gst-helper.c:
21701         * libs/gst/controller/gst-interpolation.c:
21702         * libs/gst/controller/gstcontroller.c:
21703         * libs/gst/controller/gsthelper.c:
21704         * libs/gst/controller/gstinterpolation.c:
21705         * tools/gst-inspect.c: (print_plugin_info):
21706           we don't use dashes in header names
21707
21708 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21709
21710         * check/Makefile.am:
21711         * check/gst/.cvsignore:
21712         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
21713         (gst_pipeline_suite), (main):
21714           adding a test for pipelines and state changes
21715         * gst/gstutils.c: (get_state_func):
21716           add some debugging
21717         * gstreamer.spec.in:
21718           fix up spec file
21719
21720 2005-09-08  Michael Smith <msmith@fluendo.com>
21721
21722         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
21723         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
21724         (gst_file_src_is_seekable), (gst_file_src_get_size),
21725         (gst_file_src_start):
21726         * gst/elements/gstfilesrc.h:
21727           Various fixes for unseekable, unmmapable, and non-normal files, so
21728           that fallback to read() rather than mmap() works.
21729         * gst/gstevent.c: (gst_event_new_newsegment):
21730           Allow newsegment events with segment_start == segment_end, as will
21731           correctly happen if you use filesrc on a zero-size file, for
21732           example.
21733
21734 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
21735
21736         * gst/gstplugin.c: (gst_plugin_load_file):
21737           Call g_module_close when we don't load the module
21738
21739         * gst/registries/gstlibxmlregistry.c:
21740         (gst_xml_registry_get_property):
21741           Port leak fix from 0.8
21742
21743 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21744
21745         * docs/gst/gstreamer-docs.sgml:
21746         * docs/gst/tmpl/.cvsignore:
21747         * docs/gst/tmpl/gsttrace.sgml:
21748         * docs/gst/tmpl/gsttrashstack.sgml:
21749         * gst/Makefile.am:
21750         * gst/gst.h:
21751         * gst/gstelement.h:
21752         * gst/gstevent.h:
21753         * gst/gstmessage.c:
21754         * gst/gstmessage.h:
21755         * gst/gsttag.c:
21756         * gst/gsttag.h:
21757         * gst/gsttaginterface.c:
21758         * gst/gsttaginterface.h:
21759         * gst/gsttaglist.c:
21760         * gst/gsttaglist.h:
21761         * gst/gsttagsetter.c:
21762         * gst/gsttagsetter.h:
21763         * gst/gsttrace.c:
21764         * gst/gsttrace.h:
21765         * gst/gsttrashstack.c:
21766           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
21767           inlined docs for gsttrace, gsttrashstack
21768
21769 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21770
21771         * gst/Makefile.am:
21772         * gst/elements/gstbufferstore.h:
21773         * gst/elements/gsttypefindelement.c:
21774         * gst/elements/gsttypefindelement.h:
21775         * gst/gst.h:
21776         * gst/gsttypefind.c:
21777         * gst/gsttypefind.h:
21778         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
21779         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
21780         (gst_type_find_factory_dispose),
21781         (gst_type_find_factory_unload_thyself),
21782         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
21783         (gst_type_find_factory_get_caps),
21784         (gst_type_find_factory_get_extensions),
21785         (gst_type_find_factory_call_function):
21786         * gst/gsttypefindfactory.h:
21787         * gst/registries/gstlibxmlregistry.c:
21788         * gst/registries/gstxmlregistry.c:
21789           splitted gsttypefind into gsttypefind, gsttypefindfactory
21790
21791 2005-09-07  Andy Wingo  <wingo@pobox.com>
21792
21793         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
21794         condition whereby the pad's task function is entered before the
21795         pad_mode variable was set.
21796
21797 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
21798
21799         * gst/gstpad.c: (gst_pad_alloc_buffer):
21800           Catch misbehaving pad_alloc functions that don't
21801           set up caps and do it for them.
21802
21803 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21804
21805         * check/pipelines/simple_launch_lines.c: (run_pipeline):
21806           test for pipe!=NULL
21807         * docs/gst/tmpl/.cvsignore:
21808         * docs/gst/tmpl/gstmemchunk.sgml:
21809         * docs/gst/tmpl/gstparse.sgml:
21810         * docs/gst/tmpl/gsttaglist.sgml:
21811         * docs/gst/tmpl/gsttagsetter.sgml:
21812         * docs/gst/tmpl/gsttypefind.sgml:
21813         * docs/gst/tmpl/gsttypefindfactory.sgml:
21814         * gst/gstmemchunk.c:
21815         * gst/gstparse.c:
21816         * gst/gsttag.c:
21817         * gst/gsttaginterface.c:
21818         * gst/gsttypefind.c:
21819         * gst/gsttypefind.h:
21820           inlined more docs
21821
21822 === release 0.9.2 ===
21823
21824 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
21825
21826         * NEWS:
21827         * RELEASE:
21828         * configure.ac:
21829           releasing 0.9.2, "South"
21830
21831 2005-09-05  Andy Wingo  <wingo@pobox.com>
21832
21833         * gst/registries/gstxmlregistry.h:
21834         * gst/registries/gstxmlregistry.c: Um... resurrect...
21835         
21836         * gst/registries/gstxmlregistry.h:
21837         * gst/registries/gstxmlregistry.c: and update to newer API.
21838         Incidentally they should be a bit faster now that they don't have
21839         to parse the caps.
21840         
21841 2005-09-05  Andy Wingo  <wingo@pobox.com>
21842
21843         * gst/registries/gstxmlregistry.h:
21844         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
21845         replaced by the libxml registry a while back
21846
21847 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21848
21849         * docs/gst/tmpl/gstplugin.sgml:
21850         * gst/elements/gstelements.c:
21851         * gst/gst.c:
21852         * gst/gstplugin.c: (gst_plugin_register_func),
21853         (gst_plugin_desc_copy), (gst_plugin_desc_free),
21854         (gst_plugin_get_source):
21855         * gst/gstplugin.h:
21856         * gst/registries/gstlibxmlregistry.c: (load_plugin),
21857         (gst_xml_registry_save_plugin):
21858         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
21859         (gst_xml_registry_save_plugin):
21860         * tools/gst-inspect.c: (print_plugin_info):
21861           add a "source" plugin description field, to represent the source
21862           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
21863           will set it to PACKAGE, which is automake's idea of the name of
21864           the source project.
21865
21866 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21867
21868         * Makefile.am:
21869         * autogen.sh:
21870         * configure.ac:
21871         * docs/Makefile.am:
21872         * docs/faq/Makefile.am:
21873         * docs/gst/tmpl/gstelement.sgml:
21874         * docs/gst/tmpl/gsttypes.sgml:
21875         * docs/htmlinstall.mak:
21876         * docs/manual/Makefile.am:
21877         * docs/pwg/Makefile.am:
21878           reorganize doc build a little
21879           split out docbook and gtk-doc stuff
21880           have two separate --enable's and enable them through autogen
21881           but disable by default in configure (to be similar to other
21882           projects)
21883         * gstreamer.spec.in:
21884           clean up docs install
21885         * po/af.po:
21886         * po/az.po:
21887         * po/ca.po:
21888         * po/cs.po:
21889         * po/de.po:
21890         * po/en_GB.po:
21891         * po/fr.po:
21892         * po/it.po:
21893         * po/nb.po:
21894         * po/nl.po:
21895         * po/ru.po:
21896         * po/sq.po:
21897         * po/sr.po:
21898         * po/sv.po:
21899         * po/tr.po:
21900         * po/uk.po:
21901         * po/vi.po:
21902           translation updates
21903
21904 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
21905
21906         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
21907           Add comment.
21908           
21909         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
21910         (gst_fake_sink_change_state):
21911           Make state change function thread-safe.
21912           
21913         * gst/gstpad.c: (gst_pad_alloc_buffer):
21914           Set offset on generic buffer allocated by fallback.
21915
21916 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
21917
21918         * docs/gst/gstreamer-sections.txt:
21919         * docs/gst/tmpl/gstelement.sgml:
21920         * gst/gstpad.c:
21921         * libs/gst/controller/gst-controller.c:
21922         (gst_controlled_property_set_interpolation_mode),
21923         (gst_controlled_property_new),
21924         (gst_controller_find_controlled_property):
21925          run the wingo-magic script against the docs
21926
21927 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
21928
21929         * docs/gst/gstreamer-docs.sgml:
21930         * docs/gst/gstreamer-sections.txt:
21931         * docs/gst/tmpl/.cvsignore:
21932         * docs/gst/tmpl/gstelementdetails.sgml:
21933         * docs/gst/tmpl/gstelementfactory.sgml:
21934         * gst/gst.c:
21935         * gst/gstbus.c:
21936         * gst/gstelementfactory.c:
21937         * gst/gstelementfactory.h:
21938           merged elementdetails docs into elementfactory docs
21939           inlined both
21940
21941 2005-09-02  Andy Wingo  <wingo@pobox.com>
21942
21943         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
21944         consider this enum an enum and not a flags.
21945
21946 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
21947
21948         * docs/gst/gstreamer-docs.sgml:
21949         * docs/gst/tmpl/.cvsignore:
21950         * docs/gst/tmpl/gstghostpad.sgml:
21951         * docs/gst/tmpl/gstiterator.sgml:
21952         * docs/gst/tmpl/gstmacros.sgml:
21953         * docs/gst/tmpl/gstrealpad.sgml:
21954         * docs/gst/tmpl/gstregistry.sgml:
21955         * docs/gst/tmpl/gstregistrypool.sgml:
21956         * docs/gst/tmpl/gststructure.sgml:
21957         * docs/gst/tmpl/gstsystemclock.sgml:
21958         * docs/gst/tmpl/gsttrace.sgml:
21959         * gst/gstghostpad.c:
21960         * gst/gstmacros.h:
21961         * gst/gstmemchunk.c:
21962         * gst/gstmemchunk.h:
21963         * gst/gstqueue.c:
21964         * gst/gstregistry.c:
21965         * gst/gstregistrypool.c:
21966         * gst/gststructure.c:
21967         * gst/gstsystemclock.c:
21968           more docs inlined
21969
21970 2005-09-02  Andy Wingo  <wingo@pobox.com>
21971
21972         * gst/gstelement.h (GstState): Renamed from GstElementState,
21973         changed to be a normal enum instead of flags.
21974         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
21975         munged to be GST_STATE_CHANGE_*.
21976         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
21977         work with the new state representation.
21978         (GstStateChange): New enumeration of possible state transitions.
21979         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
21980         (GstElementClass::change_state): Pass the GstStateChange along as
21981         an argument. Helps language bindings, so they don't have to use
21982         tricky lock-needing macros like GST_STATE_CHANGE ().
21983
21984         * scripts/update-states (file): New script. Run it on a file to
21985         update it for state naming and API changes. Updates files in
21986         place.
21987
21988         * All files updated for the new API.
21989
21990 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21991
21992         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
21993         * gst/gstutils.c: (gst_util_set_value_from_string),
21994         (gst_util_set_object_arg):
21995           fix a bunch of unchecked return values
21996         * tools/gst-complete.c: (main):
21997         * gstreamer.spec.in:
21998           clean up a little
21999
22000 2005-09-01  Wim Taymans  <wim@fluendo.com>
22001
22002         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22003         (gst_base_sink_event), (gst_base_sink_do_sync),
22004         (gst_base_sink_handle_event):
22005         * gst/base/gstbasesink.h:
22006         Handle newsegments more correctly.
22007
22008         * gst/gstbus.c:
22009         Fix docs.
22010
22011         * gst/gstevent.c: (gst_event_new_newsegment):
22012         A newsegment cannot have a start_time of -1
22013
22014 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
22015
22016         * win32/gstenumtypes.c:
22017         * win32/gstenumtypes.h:
22018           Update
22019
22020 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
22021
22022         * libs/gst/controller/gst-controller.c:
22023         (gst_controlled_property_set_interpolation_mode),
22024         (gst_controlled_property_new):
22025          fixed boolean again
22026
22027 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
22028
22029         * docs/faq/gst-uninstalled:
22030           add -good
22031         * gst/gstevent.c:
22032         * gst/gstevent.h:
22033           remove wrong docs
22034         * gst/gstutils.c: (gst_element_link_filtered):
22035         * gst/gstutils.h:
22036           add gst_element_link_filtered
22037
22038 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
22039
22040         * docs/gst/gstreamer-docs.sgml:
22041         * docs/gst/gstreamer-sections.txt:
22042         * docs/gst/tmpl/.cvsignore:
22043         * docs/gst/tmpl/gsterror.sgml:
22044         * docs/gst/tmpl/gstfilter.sgml:
22045         * docs/gst/tmpl/gsturihandler.sgml:
22046         * docs/gst/tmpl/gsturitype.sgml:
22047         * docs/gst/tmpl/gstutils.sgml:
22048         * docs/gst/tmpl/gstxml.sgml:
22049         * gst/gsterror.c:
22050         * gst/gsterror.h:
22051         * gst/gstfilter.c:
22052         * gst/gsturi.c:
22053         * gst/gsturitype.c:
22054         * gst/gstutils.c:
22055         * gst/gstxml.c:
22056           inlined more docs, fixed double id-ref
22057
22058 2005-08-31  Wim Taymans  <wim@fluendo.com>
22059
22060         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
22061         (gst_base_transform_handle_buffer):
22062         Passthrough elements don't need the caps as they don't care.
22063
22064 2005-08-31  Wim Taymans  <wim@fluendo.com>
22065
22066         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
22067         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
22068         Don't leak refcounts on buffers.
22069
22070 2005-08-31  Wim Taymans  <wim@fluendo.com>
22071
22072         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
22073         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
22074         (gst_base_transform_chain), (gst_base_transform_change_state):
22075         * gst/base/gstbasetransform.h:
22076         Handle the case where we are not negotiated more gracefully.
22077
22078 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
22079
22080         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
22081         (gst_file_src_map_region):
22082           Set READONLY flag on mmap'ed buffers, otherwise
22083           gst_buffer_make_writable() won't work properly (#314708).
22084
22085 2005-08-31  Wim Taymans  <wim@fluendo.com>
22086
22087         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
22088         passthrough elements can even do inplace on non writable
22089         buffers (as they don't touch them).
22090
22091 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
22092
22093         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
22094         (gst_test_mono_source_set_property),
22095         (gst_test_mono_source_class_init), (GST_START_TEST),
22096         (gst_controller_suite):
22097           more tests (hehe I have the most)
22098         * gst/gstbus.c:
22099           describe popping messages whenusing mulltiple sources
22100         * libs/gst/controller/gst-controller.c:
22101         (gst_controlled_property_set_interpolation_mode),
22102         (gst_controlled_property_new):
22103         * libs/gst/controller/gst-controller.h:
22104         * libs/gst/controller/gst-interpolation.c:
22105           implement boolean properties
22106
22107 2005-08-31  Wim Taymans  <wim@fluendo.com>
22108
22109         * gst/gstminiobject.c: (gst_mini_object_ref):
22110         Cannot assert that the refcount has to be positive
22111         since a disposed object can be resurrected.
22112
22113 2005-08-31  Wim Taymans  <wim@fluendo.com>
22114
22115         * gst/gstpad.c: (gst_pad_init):
22116         Revert change, need to first fix badly behaving 
22117         apps.
22118
22119 2005-08-30  Wim Taymans  <wim@fluendo.com>
22120
22121         * check/elements/fakesrc.c: (setup_fakesrc):
22122         * check/elements/identity.c: (setup_identity):
22123         Activate pads before using them.
22124
22125 2005-08-30  Wim Taymans  <wim@fluendo.com>
22126
22127         * gst/base/gstadapter.c: (gst_adapter_flush):
22128         Flushing out 0 bytes is ok for this function.
22129
22130         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22131         no newsegment gives a warning and sets the start/stop to 
22132         invalid.
22133
22134         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
22135         (gst_base_transform_set_passthrough):
22136         Some debug info.
22137
22138         * gst/gstminiobject.c: (gst_mini_object_ref):
22139         Check refcount here too.
22140
22141         * gst/gstpad.c: (gst_pad_init):
22142         Pads are initially flushing and refusing data.
22143
22144         * gst/gstutils.c: (gst_element_link_pads_filtered):
22145         When adding a capsfilter element make sure it has the
22146         same state as the parent bin.
22147
22148 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
22149
22150         * docs/gst/tmpl/.cvsignore:
22151         * docs/gst/tmpl/gstformat.sgml:
22152         * docs/gst/tmpl/gstversion.sgml:
22153         * gst/gstbus.h:
22154         * gst/gstformat.c:
22155         * gst/gstformat.h:
22156         * gst/gstversion.h.in:
22157           more docs and two more inlined
22158
22159 2005-08-30  Wim Taymans  <wim@fluendo.com>
22160
22161         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
22162         Don't sync to clock.
22163
22164 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
22165
22166         * docs/gst/gstreamer-sections.txt:
22167           ultral33t func10ns deserve to appear in the docs actually
22168         * docs/gst/tmpl/.cvsignore:
22169         * docs/gst/tmpl/gstcompat.sgml:
22170         * docs/gst/tmpl/gstconfig.sgml:
22171         * gst/check/gstcheck.c:
22172         * gst/gstcompat.h:
22173         * gst/gstconfig.h.in:
22174           inlined more docs
22175
22176 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
22177
22178         * docs/gst/tmpl/.cvsignore:
22179         * docs/gst/tmpl/gstquery.sgml:
22180         * docs/gst/tmpl/gstutils.sgml:
22181         * gst/gstquery.c:
22182         * gst/gstquery.h:
22183           inlined and extended docs
22184
22185 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
22186
22187         * check/gst-libs/controller.c: (GST_START_TEST),
22188         (gst_controller_suite):
22189           more tests
22190         * docs/gst/tmpl/gstutils.sgml:
22191         * docs/libs/gstreamer-libs-sections.txt:
22192         * docs/libs/tmpl/gstdataprotocol.sgml:
22193           include path fixes
22194         * examples/controller/audio-example.c: (main):
22195           controller example works now
22196         * gst/gstclock.h:
22197           doc fixes
22198         * tools/gst-inspect.c: (print_element_properties_info):
22199           show param spec flags
22200
22201 2005-08-29  Andy Wingo  <wingo@pobox.com>
22202
22203         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
22204
22205 2005-08-28  Andy Wingo  <wingo@pobox.com>
22206
22207         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
22208         as having two arguments instead of just one. Allows superclasses
22209         to access information on subclasses -- see the terrible for() loop
22210         in gtype.c:g_type_create_instance for the reason why. All callers
22211         changed.
22212
22213 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
22214
22215         * docs/design/part-messages.txt:
22216           update info
22217         * docs/gst/tmpl/.cvsignore:
22218         * docs/gst/tmpl/gstcaps.sgml:
22219         * docs/gst/tmpl/gstclock.sgml:
22220         * gst/gstbus.c:
22221         * gst/gstcaps.c:
22222         * gst/gstcaps.h:
22223         * gst/gstclock.c:
22224         * gst/gstclock.h:
22225         * gst/gstmessage.c:
22226           added descriptions for bus and message
22227           inline caps and clock docs
22228
22229 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
22230
22231         * gst/gstmessage.c:
22232         * gst/gstmessage.h:
22233           doc fixes
22234
22235 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
22236
22237         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
22238           fix div-by-zero
22239
22240 2005-08-26  Andy Wingo  <wingo@pobox.com>
22241
22242         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
22243         element_set_state's return val.
22244         (test_2_elements): Add test that's been disabled for months.
22245
22246         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
22247         can-activate-pull properties.
22248
22249         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
22250         can-activate-pull properties. Implement is_seekable so fakesrc can
22251         operate in pull mode.
22252
22253         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
22254         properties.
22255         (gst_base_sink_activate, gst_base_sink_activate_pull)
22256         (gst_base_sink_activate_push): Make activation mode choosing work.
22257         Cleanups.
22258         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
22259         is right. Make pull mode work. Post an eos before pausing in pull
22260         mode.
22261         (gst_base_sink_change_state): Pay attention to the core's
22262         change_state() return val.
22263         
22264         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
22265         has-getrange properties. Cleanups.
22266         
22267         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
22268         has_getrange and replace with can_activate_pull and
22269         can_activate_push.
22270
22271         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
22272         locking comments. Remove has_loop, has_chain and replace with
22273         can_activate_pull and can_activate_push.
22274
22275 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
22276
22277         * configure.ac:
22278         * examples/Makefile.am:
22279         * examples/metadata/Makefile.am:
22280         * examples/metadata/read-metadata.c: (message_loop),
22281         (have_pad_handler), (make_pipeline), (print_tag), (main):
22282           Add metadata reading example that loops over a list of filenames,
22283           dumping any tags found.
22284
22285         * gst/gstbus.c: (gst_bus_dispose):
22286         * gst/gstelement.c: (gst_element_dispose):
22287           Release a few potentially-held references in dispose.
22288
22289 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22290
22291         * docs/gst/tmpl/gstminiobject.sgml:
22292           do *not* add tmpl/*.sgml files to CVS!
22293
22294 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22295
22296         * libs/gst/bytestream/.cvsignore:
22297         * libs/gst/bytestream/Makefile.am:
22298         * libs/gst/bytestream/adapter.c:
22299         * libs/gst/bytestream/adapter.h:
22300         * libs/gst/bytestream/bytestream.c:
22301         * libs/gst/bytestream/bytestream.h:
22302         * libs/gst/bytestream/filepad.c:
22303         * libs/gst/bytestream/filepad.h:
22304           removing obsolete files
22305
22306 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22307
22308         * docs/gst/gstreamer-docs.sgml:
22309         * docs/libs/gstreamer-libs-docs.sgml:
22310           disabed additional index entries again, as this makes docs-gen just
22311           slow and they aren't useful yet
22312         * docs/libs/gstreamer-libs-sections.txt:
22313           little -section.txt cleanup for libs
22314
22315 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
22316
22317         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22318         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
22319           fix up some debugging
22320         (gst_base_transform_get_unit_size),
22321         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
22322         (gst_base_transform_handle_buffer):
22323         * gst/base/gstbasetransform.h:
22324           handle and store timed NEWSEGMENT events so that subclasses that
22325           calculate time by counting samples have a segment_start time they
22326           need to add to their timestamps - see audioresample
22327
22328 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22329
22330         * gst/gstbin.h:
22331           removed ';' from the end of macro defs
22332         * docs/gst/gstreamer-docs.sgml:
22333         * docs/gst/gstreamer-sections.txt:
22334         * docs/gst/tmpl/.cvsignore:
22335         * gst/gstbus.h:
22336         * gst/gstelement.c: (gst_element_class_init),
22337         (gst_element_set_state), (activate_pads),
22338         (gst_element_save_thyself):
22339         * gst/gstevent.c: (gst_event_new_newsegment):
22340         * gst/gstevent.h:
22341         * gst/gstiterator.c:
22342         * gst/gstiterator.h:
22343         * gst/gstpad.c:
22344         * gst/gstprobe.h:
22345         * gst/gstutils.c: (gst_pad_query_convert):
22346         * gst/gstutils.h:
22347           fixed parameter name mismatches between source, header and docs
22348           added some more docs, resolved the last batch of unused elements in
22349           docs (now someone needs to doc them)
22350
22351 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22352
22353         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
22354         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
22355           don't walk through the plugins backwards.  Where is all this
22356           reversed logic coming from ?
22357
22358 2005-08-25  Wim Taymans  <wim@fluendo.com>
22359
22360         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22361         (gst_base_transform_transform_size),
22362         (gst_base_transform_configure_caps),
22363         (gst_base_transform_get_unit_size),
22364         (gst_base_transform_buffer_alloc),
22365         (gst_base_transform_change_state):
22366         * gst/base/gstbasetransform.h:
22367         Cache caps unit_size.
22368         Make sure we cannot negotiate up and downstream at the
22369         same time.
22370
22371 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22372
22373         * gst/gst.c: (init_pre), (init_post):
22374           register the installed plugin path after the env var
22375         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
22376         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
22377           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
22378           directories, so the tests can prefer uninstalled over installed
22379
22380 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22381
22382         * gst/base/gstbasetransform.h:
22383           comment
22384         * gst/gstpad.c:
22385           add to docs
22386
22387 2005-08-25  Wim Taymans  <wim@fluendo.com>
22388
22389         * gst/gstbin.c: (bin_bus_handler):
22390         Be a bit more conservative about the posted message.
22391         
22392         * gst/gstbus.c: (gst_bus_post):
22393         Some cleanups, warn wrong return values.
22394
22395 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
22396
22397         * check/gst/gstbin.c: (GST_START_TEST):
22398         * gst/gstbin.c: (bin_bus_handler):
22399         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
22400         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
22401         (gst_message_new_warning), (gst_message_new_tag),
22402         (gst_message_new_state_changed), (gst_message_new_segment_start),
22403         (gst_message_new_segment_done), (gst_message_new_custom):
22404         * gst/gstmessage.h:
22405         * tools/gst-launch.c: (event_loop):
22406         * tools/gst-md5sum.c: (event_loop):
22407           Revert unpopular change for GST_MESSAGE_SRC to GObject.
22408
22409 2005-08-25  Wim Taymans  <wim@fluendo.com>
22410
22411         * check/generic/states.c: (GST_START_TEST):
22412         Cleanup can be done at the end.
22413
22414         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
22415         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
22416         (gst_task_get_state), (gst_task_start), (gst_task_pause):
22417         Oh boy.. Thanks for finding this, Thomas. 
22418
22419 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
22420
22421         * docs/gst/gstreamer.types:
22422           added missing types
22423
22424 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
22425
22426         * docs/gst/gstreamer-docs.sgml:
22427         * docs/gst/gstreamer-sections.txt:
22428         * docs/gst/tmpl/.cvsignore:
22429         * gst/gstbin.c:
22430         * gst/gstiterator.c:
22431         * gst/gstutils.c:
22432         * gst/registries/gstxmlregistry.h:
22433           added missing classes and symbols (123 more to go)
22434           removed removed symbols from section file
22435           fixed many doc-comments
22436
22437 2005-08-24  Wim Taymans  <wim@fluendo.com>
22438
22439         * check/generic/states.c: (GST_START_TEST):
22440         Make sure all tasks are stopped.
22441
22442         * check/gst/gstbin.c: (GST_START_TEST):
22443         Unref after usage for proper valgrinding.
22444
22445         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
22446         Really wait for the task to stop before destroying the
22447         mutex.
22448
22449         * gst/gstqueue.c: (gst_queue_sink_activate_push),
22450         (gst_queue_src_activate_push):
22451         Small cleanups. Don't stop the task when we did not start
22452         it.
22453
22454         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
22455         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
22456         (gst_task_get_state), (gst_task_start), (gst_task_pause),
22457         (gst_task_join):
22458         * gst/gsttask.h:
22459         Protect the stream lock with the object lock.
22460         Disallow setting the stream lock when running.
22461         Add cleanup_all to wait for the threadpool to finish.
22462         Remove code to autoallocate a mutex if none was provided.
22463         Add _join() to wait for a task to stop.
22464         Protect the thread pool with a global lock.
22465
22466 2005-08-24  Wim Taymans  <wim@fluendo.com>
22467
22468         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22469         (gst_base_sink_get_times), (gst_base_sink_do_sync),
22470         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
22471         * gst/base/gstbasesink.h:
22472         Handle newsegment events correctly.
22473         Drop buffers out of the segment range.
22474
22475 2005-08-22  Andy Wingo  <wingo@pobox.com>
22476
22477         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
22478         macro, implements an interface and gstimplementsinterface for a
22479         new type.
22480
22481 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22482
22483         * check/Makefile.am:
22484         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
22485           add a test that does a bunch of state changes on elements
22486           needs some fixing for valgrind
22487         * check/states/sinks.c: (gst_object_suite):
22488           whitespace
22489         * gst/gstcaps.h:
22490           add prototype for gst_caps_is_equal_fixed
22491         * gst/gstplugin.c:
22492         * gst/gstregistrypool.c:
22493           doc fixes
22494
22495 2005-08-24  Andy Wingo  <wingo@pobox.com>
22496
22497         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
22498         convert a negative value. Doesn't make much sense. Mostly this is
22499         here to force callers to ensure -1 maps to -1.
22500
22501 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
22502
22503         * docs/pwg/advanced-types.xml:
22504           Well done to Michael for catching my deliberate introduction
22505           of this spelling mistake. 
22506         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
22507         * gst/gstelement.h:
22508           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
22509           unlink pads before removing the element from the bin.
22510
22511 2005-08-24  Andy Wingo  <wingo@pobox.com>
22512
22513         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
22514         the same thing as GST_DEBUG=*:4.
22515         (parse_debug_level, parse_debug_category): New helper parsers.
22516
22517 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22518
22519         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22520         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
22521         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
22522         (gst_base_transform_buffer_alloc),
22523         (gst_base_transform_handle_buffer):
22524           use gboolean return values and pointers to size so we can use the
22525           full GST_BUFFER_SIZE range (guint) for buffer sizes
22526           use GstPadDirection for transform_caps
22527         * gst/base/gstbasetransform.h:
22528           rename get_size to get_unit_size since that's what it is
22529         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
22530           use GstPadDirection for transform_caps
22531         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22532         * gst/gstutils.h:
22533           cleanup and debugging
22534
22535 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
22536
22537         * gst/gstelement.c: (gst_element_class_init),
22538         (gst_element_set_state), (activate_pads),
22539         (gst_element_save_thyself):
22540         * tools/gst-compprep.c: (main):
22541         * tools/gst-inspect.c: (print_element_properties_info):
22542         * tools/gst-xmlinspect.c: (print_element_properties):
22543           Fixed long standing mem-leak
22544
22545 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
22546
22547         * check/gst/gstbin.c: (GST_START_TEST):
22548         * gst/gstbin.c: (bin_bus_handler):
22549         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
22550         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
22551         (gst_message_new_warning), (gst_message_new_tag),
22552         (gst_message_new_state_changed), (gst_message_new_segment_start),
22553         (gst_message_new_segment_done), (gst_message_new_custom):
22554         * gst/gstmessage.h:
22555         * tools/gst-launch.c: (event_loop):
22556         * tools/gst-md5sum.c: (event_loop):
22557           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
22558           that applications can sensibly post custom messages with references
22559           to their own objects.
22560
22561 2005-08-24  Andy Wingo  <wingo@pobox.com>
22562
22563         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
22564         already.
22565
22566 2005-08-24  Wim Taymans  <wim@fluendo.com>
22567
22568         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22569         (gst_base_transform_transform_caps),
22570         (gst_base_transform_transform_size),
22571         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22572         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
22573         (gst_base_transform_handle_buffer):
22574         * gst/base/gstbasetransform.h:
22575         Many fixes and new features added by Thomas. Can now also do
22576         transforms with variable sizes and a custom fixate_caps function.
22577
22578 2005-08-24  Wim Taymans  <wim@fluendo.com>
22579
22580         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22581         Some debugging.
22582
22583         * gst/gstclock.h:
22584         Cast to ClockTime before formatting to time.
22585
22586         * gst/gstutils.h:
22587         Cleanups.
22588
22589 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
22590
22591         * check/gst-libs/controller.c: (GST_START_TEST),
22592         (gst_controller_suite):
22593         * docs/gst/tmpl/gstcaps.sgml:
22594         * docs/gst/tmpl/gstghostpad.sgml:
22595         * docs/gst/tmpl/gstquery.sgml:
22596         * docs/gst/tmpl/gstutils.sgml:
22597         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
22598         (gst_object_sink_values), (gst_object_get_value_arrays),
22599         (gst_object_get_value_array):
22600           gracefully handle helper method calls to objects that are not beeing
22601           controlled, added test case for that          
22602
22603 2005-08-23  Wim Taymans  <wim@fluendo.com>
22604
22605         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
22606         (gst_event_new_newsegment), (gst_event_parse_newsegment),
22607         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
22608         (gst_event_parse_qos), (gst_event_new_seek),
22609         (gst_event_parse_seek):
22610         * gst/gstevent.h:
22611         Some more debugging output and doc cleanups.
22612
22613         * gst/gstqueue.c: (gst_queue_handle_sink_event):
22614         Fix possible deadlock.
22615
22616 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22617
22618         * docs/gst/gstreamer-docs.sgml:
22619         * docs/gst/gstreamer-sections.txt:
22620         * docs/gst/gstreamer.types:
22621         * docs/gst/tmpl/.cvsignore:
22622         * gst/gstbin.h:
22623         * gst/gstbus.c:
22624         * gst/gstelement.c:
22625         * gst/gstevent.h:
22626           added 100 symbols from gstreamer-unused.txt to the right sections
22627           fixed more broken comments
22628           added GstBus to docs
22629
22630 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22631
22632         * docs/gst/gstreamer-sections.txt:
22633         * docs/gst/tmpl/.cvsignore:
22634         * docs/gst/tmpl/gstbin.sgml:
22635         * docs/gst/tmpl/gstbuffer.sgml:
22636         * gst/base/gstbasesrc.c:
22637         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
22638         * gst/gstbuffer.c:
22639         * gst/gstbuffer.h:
22640         * tools/gst-launch.1.in:
22641           inlined more doc comments, added missing comments and fixed comments
22642           fixed typos
22643
22644 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22645
22646         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22647           some debugging
22648         * gst/gstcaps.h:
22649           whitespace fixes
22650         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
22651           more debugging
22652         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
22653         * gst/gststructure.h:
22654           add a fixate function for booleans; add a FIXME that these func
22655           names should probably be gst_structure_fixate_*
22656
22657 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22658
22659         * docs/gst/gstreamer-docs.sgml:
22660         * docs/gst/gstreamer-sections.txt:
22661         * gst/Makefile.am:
22662         * gst/gstbin.c: (gst_bin_get_type),
22663         (gst_bin_child_proxy_get_child_by_index),
22664         (gst_bin_child_proxy_get_children_count),
22665         (gst_bin_child_proxy_init):
22666         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
22667         (gst_child_proxy_get_child_by_index),
22668         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
22669         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
22670         (gst_child_proxy_get), (gst_child_proxy_set_property),
22671         (gst_child_proxy_set_valist), (gst_child_proxy_set),
22672         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
22673         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
22674         * gst/gstchildproxy.h:
22675         * gst/parse/grammar.y:
22676         * tools/gst-inspect.c: (print_interfaces),
22677         (print_element_properties_info), (print_element_info):
22678           ported gstchildproxy over from 0.8
22679           ported gst-inspect fixes and enhancements over from 0.8
22680
22681 2005-08-22  Wim Taymans  <wim@fluendo.com>
22682
22683         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22684         (gst_base_transform_handle_buffer):
22685         Also call the transform function if we have ANY caps.
22686
22687         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
22688         Fix debug info.
22689
22690 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
22691
22692         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
22693           Don't pretend to handle seek events if the source is not seekable
22694
22695 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
22696
22697         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22698           Remove extra parameter to debug output
22699
22700         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22701         (gst_base_src_do_seek), (gst_base_src_activate_push):
22702           Fix seek event handling.
22703
22704         * gst/gstpipeline.c: (gst_pipeline_change_state):
22705         * gst/gstqueue.c: (gst_queue_handle_sink_event),
22706         (gst_queue_src_activate_push):
22707           Don't start the src pad task on FLUSH_STOP if the pad
22708           isn't linked.
22709           Debug changes.
22710
22711 2005-08-22  Wim Taymans  <wim@fluendo.com>
22712
22713         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
22714         Added check for gst_static_caps_get() refcounting.
22715
22716 2005-08-22  Wim Taymans  <wim@fluendo.com>
22717
22718         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
22719         Make _static_caps_get() refcounting sane.
22720         
22721         * gst/gstelement.c: (gst_element_set_state):
22722         Add g_return_val_if_fail() to protect against segfaults.
22723
22724 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
22725
22726         * docs/gst/tmpl/gstevent.sgml:
22727         * gst/gstevent.c:
22728         * gst/gstevent.h:
22729           inlined remaining docs, added missing doc comments
22730
22731 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22732
22733         * check/gst/gstbin.c: (GST_START_TEST):
22734           since we don't know when preroll is done, use refcount range
22735           check for the sink
22736         * gst/check/gstcheck.h:
22737           add macro for checking refcount range
22738
22739 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
22740
22741         * check/Makefile.am:
22742           clean up environment for when registry gets built versus
22743           when actual tests are run; valgrind seems to not report
22744           leaks if GST_PLUGIN_PATH is set to some specific values
22745         * check/gst/gstbin.c: (GST_START_TEST):
22746           add more refcounting checks; maybe this exposes a
22747           preroll lock bug ?
22748         * common/check.mak:
22749         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22750         * gst/check/gstcheck.h:
22751         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
22752         (gst_bin_change_state):
22753         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
22754           add/fix debugging/whitespace
22755
22756 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
22757
22758         * check/gst/gstevent.c: (event_probe), (test_event),
22759         (GST_START_TEST):
22760          Er, don't call gst_bin_watch_for_state_change you idiot.
22761
22762 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
22763
22764         * check/Makefile.am:
22765           Use CHECK_CFLAGS and CHECK_LIBS
22766         * check/gst/gstevent.c: (event_probe), (test_event),
22767         (GST_START_TEST):
22768           Don't leak events.
22769         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22770         (gst_base_src_start), (gst_base_src_stop),
22771         (gst_base_src_activate_push), (gst_base_src_activate_pull),
22772         (gst_base_src_change_state):
22773           Sprinkle gst_base_src_stop liberally around error paths to fix
22774           problems reusing a source after failed state changes.
22775         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22776         (helper_find_suggest), (gst_type_find_helper):
22777           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
22778         * gst/gstevent.h:
22779         * docs/gst/tmpl/gstevent.sgml:
22780           Migrate part of the docs from the SGML file. Wait for ensonic to
22781           tell me how I did it wrong ;)
22782         * tools/gst-typefind.c: (main):
22783           Extra robustness to state changes between files.
22784
22785 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
22786
22787         * check/Makefile.am:
22788           don't valgrind the controller test - it's leaking - Stefan, HELP
22789         * gst/check/gstcheck.c: (gst_check_message_error),
22790         (gst_check_chain_func), (gst_check_setup_element),
22791         (gst_check_teardown_element), (gst_check_setup_src_pad),
22792         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
22793         (gst_check_teardown_sink_pad):
22794         * gst/check/gstcheck.h:
22795           add a bunch of methods to set up elements, and src and sink pads
22796         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
22797         * check/elements/identity.c: (setup_identity), (cleanup_identity),
22798         (GST_START_TEST):
22799           use them
22800         * gst/gstmessage.c:
22801         * gst/gsttag.h:
22802           whitespace/doc fixes
22803
22804 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22805
22806         * gst/gstelement.h:
22807           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
22808           be handled by the application and not always printed as well
22809
22810 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22811
22812         * check/Makefile.am:
22813           set GST_TOOLS_DIR
22814         * gst/check/gstcheck.c: (gst_check_message_error):
22815         * gst/check/gstcheck.h:
22816           add a fail_unless_equals_int
22817           add fail_unless for error messages
22818
22819 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22820
22821         * check/Makefile.am:
22822         * check/gst.supp:
22823         * common/Makefile.am:
22824         * common/check.mak:
22825         * common/gst.supp:
22826           factor out some of the common stuff so we can use it
22827
22828 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22829
22830         * check/Makefile.am:
22831         * check/gst/gstiterator.c: (GST_START_TEST):
22832         * check/gst/gstsystemclock.c: (GST_START_TEST),
22833         (gst_systemclock_suite):
22834         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
22835         * gst/gstclock.c:
22836           valgrind more tests
22837
22838 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
22839
22840         * check/elements/.cvsignore:
22841         * check/elements/gstfakesrc.c:
22842           rename to name of element
22843         * check/elements/identity.c: (chain_func), (event_func),
22844         (setup_identity), (cleanup_identity), (GST_START_TEST),
22845         (identity_suite), (main):
22846           add a test for identity
22847         * check/Makefile.am:
22848         * pkgconfig/Makefile.am:
22849         * pkgconfig/gstreamer-check.pc.in:
22850         * pkgconfig/gstreamer-check-uninstalled.pc.in:
22851         * gst/check:
22852         * gst/Makefile.am:
22853         * configure.ac:
22854           move the check stuff to a library that gets installed
22855         * check/gst-libs/controller.c: (GST_START_TEST):
22856         * check/gst-libs/gdp.c:
22857         * check/gst/gst.c: (GST_START_TEST):
22858         * check/gst/gstbin.c:
22859         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
22860         * check/gst/gstbus.c:
22861         * check/gst/gstcaps.c: (GST_START_TEST):
22862         * check/gst/gstelement.c:
22863         * check/gst/gstghostpad.c:
22864         * check/gst/gstiterator.c:
22865         * check/gst/gstmessage.c:
22866         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
22867         * check/gst/gstobject.c:
22868         * check/gst/gstpad.c: (GST_START_TEST):
22869         * check/gst/gststructure.c: (GST_START_TEST):
22870         * check/gst/gstsystemclock.c: (GST_START_TEST),
22871         (gst_systemclock_suite):
22872         * check/gst/gsttag.c: (gst_tag_suite):
22873         * check/gst/gstvalue.c:
22874         * check/pipelines/cleanup.c:
22875         * check/pipelines/simple_launch_lines.c:
22876         * check/states/sinks.c:
22877           change include statement
22878
22879         * docs/gst/gstreamer-sections.txt:
22880         * docs/gst/tmpl/gstpad.sgml:
22881           document more pad stuff
22882         * gst/gstminiobject.c: (gst_mini_object_ref),
22883         (gst_mini_object_unref):
22884           debug refcounting
22885
22886 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
22887
22888         * docs/gst/tmpl/gst.sgml:
22889         * gst/gst.c:
22890           eliminate another tmpl file, fix spelling in the long-description
22891
22892 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22893
22894         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22895         (test_event), (timediff), (gstevents_suite):
22896           Should fix build on 64-bit arch's
22897
22898 2005-08-18  Andy Wingo  <wingo@pobox.com>
22899
22900         Make sure that when a pipeline goes to PLAYING, that data has
22901         actually hit the sink.
22902
22903         * check/states/sinks.c (test_sink): A sink that doesn't get any
22904         data shouldn't return SUCCESS for going to either PLAYING or
22905         PAUSED. Test also the return values on the way back down.
22906
22907         * gst/gstelement.c (gst_element_set_state): When changing the
22908         state of an element currently changing state asynchronously, go to
22909         lost-state after commiting the pending state. Makes future calls
22910         to get_state continue to return ASYNC.
22911
22912         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
22913         ASYNC when going to PLAYING if we still don't have preroll, as can
22914         happen with live sources.
22915
22916 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22917
22918         * docs/pwg/advanced-types.xml:
22919           Hack long paragraph into 2 chunks as a workaround for buggy
22920           jadetex version in sid and breezy that loops infinitely and
22921           eats all RAM.
22922
22923 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22924
22925         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22926         (test_event), (timediff), (gstevents_suite):
22927           Provide more error margin in clock measurements to allow for 
22928           g_get_current_time inaccuracies.
22929
22930 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22931
22932         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22933         (test_event), (timediff), (gstevents_suite):
22934            Fix error message output so I might be able to tell why the
22935            test works here but fails on the build farm.
22936
22937 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
22938
22939         * check/Makefile.am:
22940         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
22941         (test_event), (timediff), (gstevents_suite), (main):
22942           I wrote a test!
22943
22944         * docs/design/part-seeking.txt:
22945           Spelling correction
22946
22947         * docs/gst/tmpl/gstevent.sgml:
22948         * docs/gst/tmpl/gstfakesrc.sgml:
22949           Docs updates.
22950
22951         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22952           Treat a buffer-without-newsegment the same as a receiving 
22953           a newsegment not in time format, and disable syncing to the clock
22954           with a warning.
22955
22956         * gst/gstbus.c: (gst_bus_set_sync_handler):
22957           Assert if anyone tries to replace the existing sync_handler for bus, 
22958           as only the owner should be setting it.
22959
22960         * gst/gstevent.h:
22961           Have a fixed set of custom event enums with events identified by
22962           their structure name (as in 0.8), rather than a free-for-all
22963           allowing collisions between enum values from different plugins.
22964
22965         * gst/gstpad.c: (gst_pad_class_init):
22966           Docs change.
22967           
22968         * gst/gstqueue.c: (gst_queue_handle_sink_event):
22969           Handle out-of-band downstream events from the sending thread.
22970
22971 2005-08-17  Andy Wingo  <wingo@pobox.com>
22972
22973         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
22974         play-timeout==0 to mean no timeout at all. In that case, don't
22975         bother with a get_state or a warning, just return directly, even
22976         if it's ASYNC.
22977
22978         * gst/base/gstbasetransform.c: Debug changes.
22979
22980         * gst/gstutils.h:
22981         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
22982         ensure bins post state change messages. A bit of a hack but I can't
22983         think of a way to avoid it.
22984
22985         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
22986
22987 2005-08-16  Andy Wingo  <wingo@pobox.com>
22988
22989         * gst/base/gstadapter.h:
22990         * gst/base/gstadapter.c (gst_adapter_take): New function, like
22991         peek() but you own the data. Not terribly efficient atm.
22992
22993 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22994
22995         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
22996         (gst_element_found_tags):
22997         * gst/gstutils.h:
22998           Add two utility functions for tag handling.
22999
23000 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23001
23002         * docs/manual/advanced-dataaccess.xml:
23003         * docs/manual/basics-helloworld.xml:
23004           Fix docs to use _bin_add() before _link(), which fixes the examples
23005           with recent core versions (reported by Madhan Raj M
23006           <raj_madan@rediffmail.com>, #313199).
23007
23008 2005-08-16  Wim Taymans  <wim@fluendo.com>
23009
23010         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
23011         Added subtract checks.
23012
23013         * docs/design/part-events.txt:
23014         Some more docs about newsegment
23015
23016         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
23017         Fix FIXME
23018
23019         * gst/gstcaps.c: (gst_caps_to_string):
23020         Add comments, cleanups.
23021         
23022         * gst/gstelement.c: (gst_element_save_thyself):
23023         cleanups
23024         
23025         * gst/gstvalue.c: (gst_value_collect_int_range),
23026         (gst_string_unwrap), (gst_value_union_int_int_range),
23027         (gst_value_union_int_range_int_range),
23028         (gst_value_intersect_int_int_range),
23029         (gst_value_intersect_int_range_int_range),
23030         (gst_value_intersect_double_double_range),
23031         (gst_value_intersect_double_range_double_range),
23032         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
23033         (gst_value_subtract_int_range_int),
23034         (gst_value_subtract_double_range_double),
23035         (gst_value_subtract_double_range_double_range),
23036         (gst_value_subtract_from_list), (gst_value_subtract_list),
23037         (gst_value_can_compare), (gst_value_compare_fraction):
23038         Cleanups, add comments, remove unneeded asserts.
23039
23040 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23041
23042         * tools/gst-launch.c: (event_loop):
23043           don't convert NULL structures to strings
23044
23045 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
23046
23047         * docs/gst/gstreamer-sections.txt:
23048           made some defines private
23049         * docs/gst/tmpl/gstconfig.sgml:
23050         * docs/gst/tmpl/gstqueue.sgml:
23051         * docs/gst/tmpl/gsttaglist.sgml:
23052         * docs/gst/tmpl/gsttypes.sgml:
23053         * docs/gst/tmpl/gstutils.sgml:
23054         * docs/pwg/appendix-porting.xml:
23055         * gst/base/gstbasesink.h:
23056         * gst/base/gstbasesrc.c:
23057         * gst/base/gstbasesrc.h:
23058         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
23059         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
23060         * gst/gstelement.c: (gst_element_class_init):
23061         * gst/gstpad.c: (gst_pad_class_init):
23062         * gst/gstqueue.c: (gst_queue_class_init):
23063         * gst/gstxml.c: (gst_xml_class_init):
23064           documented all undocumented signal inline
23065         * libs/gst/controller/gst-controller.h:
23066           added padding
23067
23068 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23069
23070         * docs/pwg/appendix-porting.xml:
23071           Document _set_link_function -> _set_setcaps_function.
23072
23073 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23074
23075         * check/Makefile.am:
23076           add a .check target for running the check
23077         * check/gst-libs/controller.c: (GST_START_TEST):
23078           cosmetic fixups
23079         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
23080           complete checks for gstbuffer; would be nice if I could get the
23081           gcov stuff to work so I can see if I actually completed gstbuffer.c
23082         * check/gstcheck.h:
23083           add ASSERT_BUFFER_REFCOUNT
23084
23085 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
23086
23087         * docs/gst/gstreamer-sections.txt:
23088         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
23089         * gst/gsttag.h:
23090           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
23091           spew out a warning if a tag that is already registered
23092           is re-registered, unless it is re-registered with a 
23093           different type (#308438).
23094
23095 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
23096
23097         * docs/pwg/appendix-porting.xml:
23098         * docs/pwg/building-state.xml:
23099           Add some paragraphs about state changes in 0.9 to the PWG
23100           and the porting guide, in particular about the new meaning
23101           of GST_STATE_PAUSED and how to write state change functions
23102           with concurrent access by multiple threads in mind.
23103
23104 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
23105
23106         * docs/gst/gstreamer-docs.sgml:
23107         * docs/libs/gstreamer-libs-docs.sgml:
23108           added deprecation and since indexes
23109         * libs/gst/controller/gst-controller.c:
23110         * libs/gst/controller/gst-helper.c:
23111           added since tags
23112
23113
23114 2005-08-11  Wim Taymans  <wim@fluendo.com>
23115
23116         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
23117         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
23118         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
23119         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
23120         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
23121         (gst_ghost_pad_set_target):
23122         Actually implement (re)setting the target on a ghostpad
23123         as described in the docs.
23124
23125 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
23126
23127         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
23128           Check whether GST_DEBUG_NO_COLOR environment variable is
23129           set and disable coloured debug output if that is the case.
23130
23131 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
23132
23133         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23134         (gst_type_find_helper):
23135           The memory returned by gst_type_find_peek() needs to
23136           stay valid until the end of a typefind function, and
23137           typefind functions may keep results from different 
23138           offsets around, so we can't just unref the buffer from
23139           the previous _peek(), but have to save all buffers 
23140           returned by _peek() until typefinding is done and only
23141           free them then.
23142
23143 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
23144
23145         * docs/gst/gstreamer-sections.txt:
23146         * gst/gstutils.h:
23147           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
23148
23149 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23150
23151         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
23152           Fix a pretty good memleak.
23153
23154 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
23155
23156         * gst/gstiterator.h:
23157           Fix wrong include and 'make distcheck'.
23158
23159 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23160
23161         * gst/gstbin.c: (bin_bus_handler):
23162           Use gst_element_post_message() instead.
23163
23164 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
23165
23166         * gst/base/gstadapter.h:
23167         * gst/base/gstbasesink.h:
23168         * gst/base/gstbasesrc.h:
23169         * gst/base/gstbasetransform.h:
23170         * gst/base/gstcollectpads.h:
23171         * gst/base/gstpushsrc.h:
23172         * gst/gstiterator.h:
23173           Add padding to our base elements' class and instance structs and
23174           to GstIterator (you will need to rebuild all plugins and apps!)
23175
23176 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23177
23178         * gst/gstbin.c: (bin_bus_handler):
23179           Make default message forwarding from child->bus to bin->bus
23180           threadsafe and make it not emit warnings if the parent has no bus.
23181
23182 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23183
23184         * gst/gstelement.c: (activate_pads):
23185           On paused->ready, set pad->caps to NULL, as is the documented
23186           behaviour in this state change. Fixes playback of series of
23187           media files when visualization is enabled in Totem.
23188
23189 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23190
23191         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
23192           Allow NULL as filter-caps (which means "any").
23193
23194 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
23195
23196         * docs/libs/gstreamer-libs-sections.txt:
23197         * libs/gst/controller/gst-controller.c:
23198         * libs/gst/controller/gst-controller.h:
23199         * libs/gst/controller/gst-helper.c:
23200           adding more entries to the docs and fix small doc-bugs
23201
23202 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
23203
23204         * docs/gst/gstreamer-docs.sgml:
23205         * docs/gst/gstreamer-sections.txt:
23206         * docs/gst/gstreamer.types:
23207         * docs/gst/tmpl/gstbasesink.sgml:
23208         * docs/gst/tmpl/gstbasesrc.sgml:
23209         * docs/gst/tmpl/gstbasetransform.sgml:
23210         * docs/gst/tmpl/gstfakesrc.sgml:
23211         * gst/base/gstcollectpads.c:
23212         * gst/base/gstcollectpads.h:
23213         * libs/gst/controller/gst-controller.c:
23214         * libs/gst/controller/gst-controller.h:
23215         * libs/gst/controller/gst-helper.c:
23216         * libs/gst/controller/gst-interpolation.c:
23217         * libs/gst/controller/lib.c:
23218           added long/short desc for controller docs
23219           added collectpads base class docs
23220           added correct includes to base-class docs
23221
23222 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
23223
23224         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
23225         (gst_test_mono_source_set_property),
23226         (gst_test_mono_source_class_init), (GST_START_TEST),
23227         (gst_controller_suite):
23228         * docs/gst/gstreamer-docs.sgml:
23229         * docs/gst/gstreamer-sections.txt:
23230         * docs/gst/gstreamer.types:
23231         * docs/libs/gstreamer-libs-docs.sgml:
23232         * docs/libs/gstreamer-libs-sections.txt:
23233         * gst/base/gstadapter.c:
23234         * libs/gst/controller/gst-controller.c:
23235         (gst_controlled_property_new), (gst_controlled_property_free),
23236         (gst_controller_new_valist),
23237         (gst_controller_remove_properties_valist),
23238         (gst_controller_sink_values), (_gst_controller_finalize):
23239         * libs/gst/controller/gst-controller.h:
23240         * libs/gst/controller/gst-helper.c:
23241         (gst_object_control_properties), (gst_object_uncontrol_properties),
23242         (gst_object_get_controller), (gst_object_set_controller),
23243         (gst_object_sink_values), (gst_object_get_value_arrays),
23244         (gst_object_get_value_array):
23245           more tests (and fixes) for the controller
23246           more docs for the controller
23247           integrated companies docs for the adapter 
23248
23249 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23250
23251         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
23252         (GST_START_TEST), (fakesrc_suite):
23253           add tests for sizetype
23254
23255 2005-08-04  Andy Wingo  <wingo@pobox.com>
23256
23257         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
23258         fixes buffer_alloc proxying among other things.
23259
23260         * gst/base/gstbasetransform.c:
23261         * gst/base/gstbasetransform.h:
23262         Revert patch to gstbasetransform from 7-28 removing
23263         delay_configure.
23264
23265         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
23266         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
23267         Semantics changed, should return not the size of the output buffer
23268         but the byte size of a buffer with a given caps.
23269
23270         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
23271         debug object.
23272         (gst_base_transform_configure_caps): Don't set out_size here: (in,
23273         out) are not the pad caps until setcaps finishes.
23274         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
23275         not-in-place case as well. Deal with changing from in-place to
23276         not-in-place within calling pad_alloc_buffer. Still a bit
23277         concerned about the overhead here...
23278
23279 2005-08-03  Andy Wingo  <wingo@pobox.com>
23280
23281         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
23282         fixating is an error.
23283
23284 2005-08-04  Edward Hervey  <edward@fluendo.com>
23285
23286         * gst/base/gstadapter.h: 
23287         Added gst_adapter_get_type() to the header
23288
23289 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
23290
23291         * check/Makefile.am:
23292         * check/gst-libs/controller.c:
23293         * libs/gst/controller/gst-controller.c:
23294         (gst_controller_new_valist):
23295           added check test suite for the controller
23296         * gst/base/gstpushsrc.c:
23297           fixed a doc typo
23298
23299 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
23300
23301         * docs/gst/Makefile.am:
23302         * docs/gst/gstreamer-docs.sgml:
23303         * docs/gst/gstreamer-sections.txt:
23304         * docs/gst/gstreamer.types:
23305         * docs/gst/tmpl/gstfakesrc.sgml:
23306         * gst/base/README:
23307         * gst/base/gstbasesink.c:
23308         * gst/base/gstbasesink.h:
23309         * gst/base/gstbasesrc.c:
23310         * gst/base/gstbasesrc.h:
23311         * gst/base/gstbasetransform.c:
23312         * gst/base/gstpushsrc.c:
23313         * gst/base/gstpushsrc.h:
23314           add short/long description docs to base classes
23315           add pushsrc to the docs
23316           remove consolidated doc fragments
23317
23318 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
23319
23320         * configure.ac:
23321         * docs/libs/Makefile.am:
23322         * docs/libs/gstreamer-libs-docs.sgml:
23323         * docs/libs/gstreamer-libs-sections.txt:
23324         * docs/libs/gstreamer-libs.types:
23325         * examples/Makefile.am:
23326         * examples/controller/.cvsignore:
23327         * examples/controller/Makefile.am:
23328         * examples/controller/audio-example.c: (main):
23329         * libs/gst/Makefile.am:
23330         * libs/gst/controller/.cvsignore:
23331         * libs/gst/controller/Makefile.am:
23332         * libs/gst/controller/gst-controller.c:
23333         (on_object_controlled_property_changed), (gst_timed_value_compare),
23334         (gst_timed_value_find),
23335         (gst_controlled_property_set_interpolation_mode),
23336         (gst_controlled_property_new), (gst_controlled_property_free),
23337         (gst_controller_find_controlled_property),
23338         (gst_controller_new_valist), (gst_controller_new),
23339         (gst_controller_remove_properties_valist),
23340         (gst_controller_remove_properties), (gst_controller_set),
23341         (gst_controller_set_from_list), (gst_controller_unset),
23342         (gst_controller_get), (gst_controller_get_all),
23343         (gst_controller_sink_values), (gst_controller_get_value_arrays),
23344         (gst_controller_get_value_array),
23345         (gst_controller_set_interpolation_mode),
23346         (_gst_controller_finalize), (_gst_controller_init),
23347         (_gst_controller_class_init), (gst_controller_get_type):
23348         * libs/gst/controller/gst-controller.h:
23349         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
23350         (g_object_uncontrol_properties), (g_object_get_controller),
23351         (g_object_set_controller), (g_object_sink_values),
23352         (g_object_get_value_arrays), (g_object_get_value_array):
23353         * libs/gst/controller/gst-interpolation.c:
23354         (gst_controlled_property_find_timed_value_node),
23355         (interpolate_none_get), (interpolate_trigger_get),
23356         (interpolate_trigger_get_value_array):
23357         * libs/gst/controller/lib.c: (gst_controller_init):
23358         * pkgconfig/Makefile.am:
23359         * pkgconfig/gstreamer-control-uninstalled.pc.in:
23360         * pkgconfig/gstreamer-control.pc.in:
23361         * testsuite/Makefile.am:
23362         * testsuite/controller/.cvsignore:
23363         * testsuite/controller/Makefile.am:
23364         * testsuite/controller/interpolator.c: (main):
23365           added controller code
23366           removed dparam pc files
23367
23368 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
23369         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
23370         (gst_collectpads_stop):
23371           Broadcast the condition when shutting down, to make sure we wake all
23372           threads up. Shut down pads on finalize, for safety.
23373
23374 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
23375         * gst/base/gstbasetransform.c: (gst_base_transform_init),
23376         (gst_base_transform_handle_buffer),
23377         (gst_base_transform_change_state):
23378           Handle PAUSED->READY->PAUSED transition after negotiation
23379           occurred already.
23380         * gst/gstmessage.c: (gst_message_init):
23381           Extra piece of debug for new messages.
23382
23383 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
23384
23385         * configure.ac:
23386         * docs/gst/tmpl/gstbasesrc.sgml:
23387         * docs/gst/tmpl/gstelement.sgml:
23388         * docs/gst/tmpl/gstevent.sgml:
23389         * docs/gst/tmpl/gstfakesrc.sgml:
23390         * docs/gst/tmpl/gstformat.sgml:
23391         * docs/gst/tmpl/gstghostpad.sgml:
23392         * docs/gst/tmpl/gstpad.sgml:
23393         * docs/gst/tmpl/gstquery.sgml:
23394         * docs/gst/tmpl/gststructure.sgml:
23395         * docs/gst/tmpl/gsttaglist.sgml:
23396         * docs/gst/tmpl/gstvalue.sgml:
23397         * docs/libs/gstreamer-libs-docs.sgml:
23398         * docs/libs/gstreamer-libs-sections.txt:
23399         * docs/libs/gstreamer-libs.types:
23400         * libs/gst/Makefile.am:
23401         * libs/gst/control/.cvsignore:
23402         * libs/gst/control/Makefile.am:
23403         * libs/gst/control/control.c:
23404         * libs/gst/control/control.h:
23405         * libs/gst/control/dparam.c:
23406         * libs/gst/control/dparam.h:
23407         * libs/gst/control/dparam_smooth.c:
23408         * libs/gst/control/dparam_smooth.h:
23409         * libs/gst/control/dparamcommon.h:
23410         * libs/gst/control/dparammanager.c:
23411         * libs/gst/control/dparammanager.h:
23412         * libs/gst/control/dplinearinterp.c:
23413         * libs/gst/control/dplinearinterp.h:
23414         * libs/gst/control/unitconvert.c:
23415         * libs/gst/control/unitconvert.h:
23416         * testsuite/Makefile.am:
23417         * testsuite/dynparams/.cvsignore:
23418         * testsuite/dynparams/Makefile.am:
23419         * testsuite/dynparams/dparamstest.c:
23420         * tools/Makefile.am:
23421         * tools/gst-inspect.c: (print_element_info), (main):
23422         * tools/gst-xmlinspect.c: (print_element_info), (main):
23423           deactivate and remove dparams (libgstcontrol)
23424
23425 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
23426
23427         * gst/elements/gsttypefindelement.c:
23428         (gst_type_find_element_have_type), (gst_type_find_element_init),
23429         (stop_typefinding), (gst_type_find_element_handle_event),
23430         (gst_type_find_element_chain), (gst_type_find_element_getrange):
23431         * gst/elements/gsttypefindelement.h:
23432           Set caps on all outgoing buffers, not just the first one.
23433
23434 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
23435
23436         * gst/elements/gsttypefindelement.c:
23437         (gst_type_find_element_have_type),
23438         (gst_type_find_element_check_set_buffer_caps),
23439         (gst_type_find_element_init), (stop_typefinding),
23440         (gst_type_find_element_handle_event),
23441         (gst_type_find_element_chain), (gst_type_find_element_getrange):
23442         * gst/elements/gsttypefindelement.h:
23443           Set caps on first outgoing buffer when we've found the type.
23444
23445 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
23446
23447         * docs/gst/gstreamer-docs.sgml:
23448         * docs/gst/gstreamer-sections.txt:
23449         * docs/gst/tmpl/gstscheduler.sgml:
23450         * docs/gst/tmpl/gstschedulerfactory.sgml:
23451           Remove some old cruft from docs.
23452
23453 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
23454
23455         * gst/gstpad.h:
23456           Fix inline docs for GstPadLinkReturn.
23457           
23458         * gst/gststructure.c: (gst_structure_has_name):
23459         * gst/gststructure.h:
23460         * docs/gst/gstreamer-sections.txt:
23461           New API: gst_structure_has_name().
23462
23463 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
23464
23465         * configure.ac:
23466           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
23467           and _LARGEFILE_SOURCE in config.h as required. Do not 
23468           export those flags in our .pc files any longer (#142209).
23469
23470           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
23471
23472         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
23473         (gst_file_sink_do_seek), (gst_file_sink_event),
23474         (gst_file_sink_get_current_offset), (gst_file_sink_render):
23475           Redo seek/tell calls with large file support in mind; add some
23476           debugging messages; add log message that tells us when large
23477           file support is unavailable or not enabled for some reason.
23478
23479         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
23480           Add log message that tells us when large file support 
23481           is unavailable or not enabled for some reason.
23482
23483 2005-07-29  Wim Taymans  <wim@fluendo.com>
23484
23485         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
23486         Added test for removing an element with ghostpad from a bin.
23487         Fixed test as current implementation does the right thing.
23488
23489         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
23490         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
23491         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
23492         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
23493         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
23494         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
23495         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
23496         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
23497         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
23498         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
23499         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
23500         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
23501         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
23502         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
23503         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
23504         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
23505         * gst/gstghostpad.h:
23506         Clean up ghostpads, remove properties for internal stuff.
23507         Make threadsafe.
23508         Fix refcounting.
23509         Prepare for switching targets, not all use cases work yet.
23510
23511 2005-07-29  Wim Taymans  <wim@fluendo.com>
23512
23513         * docs/design/part-gstghostpad.txt:
23514         Small update.
23515
23516         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
23517         (gst_bin_remove_func):
23518         Unlinking pads while holding the bin LOCK is not a good
23519         idea.
23520
23521         * gst/gstpad.c: (gst_pad_class_init),
23522         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
23523         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
23524         No prob setting template after creating the pad.
23525
23526 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
23527
23528         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
23529         (gst_bus_peek), (gst_bus_source_dispatch),
23530         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
23531         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
23532           gst_bus_poll may be called from other threads. Handle
23533           this nicely by not making poll_data disappear off the
23534           stack once gst_bus_poll returns.
23535           gst_bus_peek now increments the refcount on the returned
23536           message.
23537
23538 2005-07-29  Wim Taymans  <wim@fluendo.com>
23539
23540         * docs/design/part-gstghostpad.txt:
23541         Overview of current GhostPad datastructures and use
23542         cases for changing the target.
23543
23544 2005-07-28  Wim Taymans  <wim@fluendo.com>
23545
23546         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
23547         Added checks for hierarchy consistency whan adding linked
23548         elements to bins.
23549
23550         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23551         Added check to test element scheduling without bin/pipeline.
23552
23553         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23554         First add elements to bin, then link.
23555         
23556         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
23557         (gst_bin_remove_func):
23558         Unlink pads from elements added/removed from bin to maintain
23559         hierarchy consistency.
23560
23561 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23562
23563         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
23564         (gst_base_transform_handle_buffer):
23565         * gst/base/gstbasetransform.h:
23566           Remove broken delay_configure (fixes renegotiation of software
23567           scaling pipelines); remove some leftover printf()s.
23568
23569 2005-07-28  Wim Taymans  <wim@fluendo.com>
23570
23571         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
23572         Added some more tests for wrong hierarchy
23573
23574         * docs/design/part-overview.txt:
23575         Some updates.
23576
23577         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
23578         Cleanups.
23579
23580         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
23581         (gst_element_dispose):
23582         Some more cleanups.
23583
23584         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
23585         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
23586         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23587         (gst_pad_set_caps), (gst_pad_send_event):
23588         Check for correct hierarchy when linking pads. Moving to
23589         strict requirement for ghostpads when linking elements in
23590         different bins.
23591
23592         * gst/gstpad.h:
23593         Clean ups. Added WRONG_HIERARCHY return value.
23594
23595 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23596
23597         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
23598           Better debug if no transform is possible.
23599
23600 2005-07-27  Wim Taymans  <wim@fluendo.com>
23601
23602         * docs/random/wtay/network-transp:
23603         Some old doc I had.
23604
23605 2005-07-27  Wim Taymans  <wim@fluendo.com>
23606
23607         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23608         (gst_dp_event_from_packet):
23609         Fix serialization of seek events.
23610
23611 2005-07-27  Wim Taymans  <wim@fluendo.com>
23612
23613         * check/gst-libs/gdp.c: (GST_START_TEST):
23614         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23615         Fix compilation and fix event serialization.
23616
23617 2005-07-27  Wim Taymans  <wim@fluendo.com>
23618
23619         * CHANGES-0.9:
23620         * docs/design/part-TODO.txt:
23621         * docs/design/part-events.txt:
23622         Some docs updates
23623
23624         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23625         (gst_base_sink_event), (gst_base_sink_do_sync),
23626         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
23627         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23628         (gst_base_src_do_seek), (gst_base_src_event_handler),
23629         (gst_base_src_loop):
23630         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23631         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23632         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
23633         (gst_base_transform_event), (gst_base_transform_handle_buffer),
23634         (gst_base_transform_set_passthrough),
23635         (gst_base_transform_is_passthrough):
23636         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23637         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23638         Event updates.
23639
23640         * gst/gstbuffer.h:
23641         Use faster casts.
23642
23643         * gst/gstelement.c: (gst_element_seek):
23644         * gst/gstelement.h:
23645         Update gst_element_seek.
23646
23647         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
23648         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
23649         (gst_event_new_flush_start), (gst_event_new_flush_stop),
23650         (gst_event_new_eos), (gst_event_new_newsegment),
23651         (gst_event_parse_newsegment), (gst_event_new_tag),
23652         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
23653         (gst_event_parse_qos), (gst_event_new_seek),
23654         (gst_event_parse_seek), (gst_event_new_navigation):
23655         * gst/gstevent.h:
23656         Make GstEvent use GstStructure. Add parsing code, make sure the
23657         API is sufficiently generic.
23658         Mark possible directions of events and serialization.
23659
23660         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
23661         (_gst_message_copy), (gst_message_new_segment_start),
23662         (gst_message_new_segment_done), (gst_message_new_custom),
23663         (gst_message_parse_segment_start),
23664         (gst_message_parse_segment_done):
23665         Small cleanups.
23666
23667         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23668         (gst_pad_set_caps), (gst_pad_send_event):
23669         Update for new events. 
23670         Catch events sent in wrong directions.
23671
23672         * gst/gstqueue.c: (gst_queue_link_src),
23673         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
23674         (gst_queue_handle_src_query):
23675         Event updates.
23676
23677         * gst/gsttag.c:
23678         * gst/gsttag.h:
23679         Remove event code from this file.
23680
23681         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23682         (gst_dp_event_from_packet):
23683         Event updates.
23684
23685 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23686
23687         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
23688         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23689         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
23690           Make debugging actually useful.
23691
23692 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23693
23694         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
23695         (gst_pad_fixate_caps):
23696           Implement default fixation once again, so that gst_pad_fixate()
23697           actually does anything at all. This probably needs to be some
23698           sort of a last resort, and use profile-based fixation first, but
23699           since that doesn't exist yet, this is the best we have. Fixes
23700           visualization in Totem.
23701
23702 2005-07-22  Wim Taymans  <wim@fluendo.com>
23703
23704         * docs/design/part-events.txt:
23705         Small update.
23706
23707         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23708         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
23709         (gst_base_sink_activate_pull):
23710         Some more comments.
23711
23712         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
23713         (gst_fake_src_create):
23714         Fix handoff marshall.
23715
23716         * gst/elements/gstidentity.c: (gst_identity_class_init),
23717         (gst_identity_transform_ip):
23718         We're a real inplace element.
23719
23720         * gst/gstbus.c: (gst_bus_post):
23721         Added some comments.
23722
23723         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
23724         * tests/muxing/case1.c: (main):
23725         * tests/sched/dynamic-pipeline.c: (main):
23726         * tests/sched/interrupt1.c: (main):
23727         * tests/sched/interrupt2.c: (main):
23728         * tests/sched/interrupt3.c: (main):
23729         * tests/sched/runxml.c: (main):
23730         * tests/sched/sched-stress.c: (main):
23731         * tests/seeking/seeking1.c: (event_received), (main):
23732         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
23733         (main):
23734         * tests/threadstate/threadstate3.c: (main):
23735         * tests/threadstate/threadstate4.c: (main):
23736         * tests/threadstate/threadstate5.c: (main):
23737         Fix the tests.
23738
23739 2005-07-21  Wim Taymans  <wim@fluendo.com>
23740
23741         * docs/design/part-seeking.txt:
23742         Some small additions.
23743
23744         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23745         (gst_base_sink_get_times), (gst_base_sink_do_sync),
23746         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
23747         * gst/base/gstbasesink.h:
23748         discont values are gint64, handle the math correctly.
23749
23750         * gst/base/gstbasesrc.c: (gst_base_src_loop):
23751         Make the basesrc report error if the source pad is not linked.
23752
23753         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
23754         (gst_queue_loop), (gst_queue_handle_src_query),
23755         (gst_queue_src_activate_push):
23756         Make queue collect data even if the srcpad is not linked.
23757         Start pushing out data as soon as it is linked.
23758
23759         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
23760         * gst/gstutils.h:
23761         Added gst_flow_get_name() to ease error reporting.
23762
23763 2005-07-20  Wim Taymans  <wim@fluendo.com>
23764
23765         * gst/gstmessage.c: (gst_message_new_segment_start),
23766         (gst_message_new_segment_done), (gst_message_parse_segment_start),
23767         (gst_message_parse_segment_done):
23768         * gst/gstmessage.h:
23769         Added a bunch of messages for advanced seeking.
23770
23771         * gst/parse/grammar.y:
23772         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
23773         (gst_dpman_state_changed):
23774         Fix some new-pad -> pad-added signals
23775
23776 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23777
23778         * docs/manual/appendix-porting.xml:
23779         * docs/pwg/appendix-porting.xml:
23780           Document new-pad/state-change signal renames and the FixedList
23781           type rename.
23782
23783 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23784
23785         * docs/manual/advanced-autoplugging.xml:
23786         * docs/manual/basics-helloworld.xml:
23787         * docs/manual/basics-pads.xml:
23788         * docs/random/ds/0.9-suggested-changes:
23789         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
23790         * gst/gstelement.h:
23791         * gst/gstevent.h:
23792         * gst/gstformat.h:
23793         * gst/gstquery.h:
23794         * gst/gststructure.c: (gst_structure_value_get_generic_type),
23795         (gst_structure_parse_array), (gst_structure_parse_value):
23796         * gst/gstvalue.c: (gst_type_is_fixed),
23797         (gst_value_list_prepend_value), (gst_value_list_append_value),
23798         (gst_value_list_get_size), (gst_value_list_get_value),
23799         (gst_value_transform_array_string), (gst_value_serialize_array),
23800         (gst_value_deserialize_array), (gst_value_intersect_array),
23801         (gst_value_is_fixed), (_gst_value_initialize):
23802         * gst/gstvalue.h:
23803           GstElement::new-pad -> pad-added, GstElement::state-change ->
23804           state-changed, GstValueFixedList -> GstValueArray, add format and
23805           flags as their own arguments in gst_element_seek() (should improve
23806           "bindeability"), remove function generators since they don't work
23807           under a whole bunch of compilers (they were deprecated already
23808           anyway).
23809
23810 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23811
23812         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
23813         (_gst_debug_register_funcptr):
23814         * gst/gstinfo.h:
23815           Fix illegal cast on some platforms (#309253).
23816
23817 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23818
23819         * gst/gstmessage.c: (gst_message_new_custom):
23820         * gst/gstmessage.h:
23821           Add _new_custom, make _new_application a macro to _new_custom.
23822
23823 2005-07-20  Wim Taymans  <wim@fluendo.com>
23824
23825         * gst/base/gstbasesrc.c: (gst_base_src_init),
23826         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
23827         * gst/base/gstbasesrc.h:
23828         Add a gboolean to decide when to push out a discont.
23829
23830         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
23831         (gst_queue_loop), (gst_queue_handle_src_query),
23832         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
23833         (gst_queue_set_property), (gst_queue_get_property):
23834         Some cleanups.
23835
23836         * tests/threadstate/threadstate1.c: (main):
23837         Make a thread test compile and run... very silly..
23838
23839
23840 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23841
23842         * docs/manual/appendix-porting.xml:
23843           Mention removal of libgstgconf-0.9.la and existence of gconf
23844           elements.
23845
23846 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23847
23848         * docs/pwg/advanced-clock.xml:
23849         * docs/pwg/appendix-porting.xml:
23850         * docs/pwg/intro-preface.xml:
23851         * docs/pwg/other-base.xml:
23852         * docs/pwg/other-manager.xml:
23853         * docs/pwg/other-nton.xml:
23854         * docs/pwg/other-ntoone.xml:
23855         * docs/pwg/other-oneton.xml:
23856         * docs/pwg/pwg.xml:
23857           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
23858           demuxer), remove n-to-n (was never written), fix some code examples
23859           and links and update the porting section to include all this.
23860
23861 2005-07-19  Wim Taymans  <wim@fluendo.com>
23862
23863         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
23864         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
23865         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
23866         (gst_queue_src_activate_push), (gst_queue_change_state),
23867         (gst_queue_get_property):
23868         * gst/gstqueue.h:
23869         Propagate GstFlowReturn more intelligently upstream and output
23870         an ERROR/EOS when streaming stopped due to fatal error.
23871
23872 2005-07-19  Wim Taymans  <wim@fluendo.com>
23873
23874         * tools/gst-launch.c: (check_intr), (event_loop), (main):
23875         Don't block forever for the state change to complete, the
23876         pipeline already did with a sensible timeout.
23877
23878 2005-07-19  Wim Taymans  <wim@fluendo.com>
23879
23880         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
23881         Make sure we never call the create function is we
23882         got deactivated.
23883
23884 2005-07-19  Andy Wingo  <wingo@pobox.com>
23885
23886         * gst/parse/parse.l: Attempt to solve bug #172815.
23887
23888 2005-07-19  Wim Taymans  <wim@fluendo.com>
23889
23890         * docs/design/part-clocks.txt:
23891         * docs/design/part-events.txt:
23892         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
23893         Small docs updates.
23894         Only update the seeking values when we are not
23895         busy streaming.
23896
23897 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
23898
23899         * gst/base/gstbasesrc.c: (gst_base_src_loop):
23900           Oops, ignore the result of gst_pad_push_event here.
23901
23902 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
23903
23904         * gst/base/gstbasesrc.c: (gst_base_src_loop),
23905         (gst_base_src_activate_push):
23906           Send discont event from the loop function, as pads
23907           aren't activated yet in the activate_push handler.
23908
23909         * gst/gstbin.c: (bin_bus_handler):
23910           Don't leak element name.
23911
23912 2005-07-18  Andy Wingo  <wingo@pobox.com>
23913
23914         * configure.ac: Use AS_LIBTOOL_TAGS.
23915
23916 2005-07-18  Wim Taymans  <wim@fluendo.com>
23917
23918         * docs/gst/gstreamer.types:
23919         Remove deleted types.
23920
23921 2005-07-18  Wim Taymans  <wim@fluendo.com>
23922
23923         * check/elements/gstfakesrc.c: (GST_START_TEST):
23924         * configure.ac:
23925         * gst/Makefile.am:
23926         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
23927         (init_popt_callback):
23928         * gst/gst.h:
23929         * gst/gst_private.h:
23930         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
23931         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
23932         * gst/gstbin.h:
23933         * gst/gstbus.h:
23934         * gst/gstconfig.h.in:
23935         * gst/gstelement.c: (gst_element_class_init),
23936         (gst_element_set_base_time), (gst_element_get_base_time),
23937         (iterator_fold_with_resync), (gst_element_change_state),
23938         (gst_element_dispose), (gst_element_get_bus):
23939         * gst/gstelement.h:
23940         * gst/gstelementfactory.h:
23941         * gst/gsterror.c: (_gst_core_errors_init):
23942         * gst/gsterror.h:
23943         * gst/gstevent.h:
23944         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
23945         * gst/gstindex.c:
23946         * gst/gstinfo.c: (_gst_debug_init):
23947         * gst/gstmessage.c: (_gst_message_copy):
23948         * gst/gstmessage.h:
23949         * gst/gstminiobject.h:
23950         * gst/gstobject.c:
23951         * gst/gstobject.h:
23952         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23953         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
23954         * gst/gstpad.h:
23955         * gst/gstparse.h:
23956         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
23957         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
23958         (gst_pipeline_get_last_stream_time):
23959         * gst/gstpipeline.h:
23960         * gst/gstpluginfeature.h:
23961         * gst/gstquery.h:
23962         * gst/gstscheduler.c:
23963         * gst/gstscheduler.h:
23964         * gst/gststructure.h:
23965         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
23966         (gst_task_finalize), (gst_task_func), (gst_task_create),
23967         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
23968         (gst_task_stop), (gst_task_pause):
23969         * gst/gsttask.h:
23970         * gst/gsttypefind.h:
23971         * gst/gsttypes.h:
23972         * gst/registries/gstlibxmlregistry.c: (load_feature),
23973         (gst_xml_registry_load), (gst_xml_registry_save_feature):
23974         * gst/registries/gstxmlregistry.c:
23975         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
23976         * gst/schedulers/threadscheduler.c:
23977         * libs/gst/control/dparammanager.h:
23978         * tools/gst-inspect.c: (print_element_list),
23979         (print_plugin_features), (print_element_features):
23980         * tools/gst-xmlinspect.c: (print_element_list),
23981         (print_plugin_info), (main):
23982         Removed plugable schedulers.
23983         Removed Scheduler/Manager from elements.
23984         Removed gsttypes.h, rearranged includes.
23985         Removed dependency pad<->element, element<>pipeline, and
23986         various others,  fix includes.
23987         implement gst_pad_get_parent() with gst_object_get_parent()
23988         Make GstTask sefcontained.
23989         Fix _get_state() on GstBin, it did not return ASYNC with a 0
23990         timeout.
23991         Fix endless loop in iterator_fold_with_resync.
23992
23993
23994 2005-07-18  Wim Taymans  <wim@fluendo.com>
23995
23996         * gst/Makefile.am:
23997         * gst/gstarch.h:
23998         Remove old file.
23999
24000 2005-07-18  Wim Taymans  <wim@fluendo.com>
24001
24002         * gst/Makefile.am:
24003         No more cothreads.h
24004
24005 2005-07-18  Wim Taymans  <wim@fluendo.com>
24006
24007         * gst/cothreads.c:
24008         * gst/cothreads.h:
24009         Let's remove these.
24010
24011 2005-07-18  Wim Taymans  <wim@fluendo.com>
24012
24013         * docs/design/part-dynamic.txt:
24014         * docs/design/part-events.txt:
24015         * docs/design/part-seeking.txt:
24016         Some more docs in the works.
24017
24018         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24019         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
24020         (gst_base_transform_setcaps), (gst_base_transform_get_size),
24021         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
24022         (gst_base_transform_handle_buffer),
24023         (gst_base_transform_sink_activate_push),
24024         (gst_base_transform_src_activate_pull),
24025         (gst_base_transform_set_passthrough),
24026         (gst_base_transform_is_passthrough):
24027         Refcounting fixes.
24028
24029         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
24030         Cleanups.
24031
24032         * gst/gstevent.c: (gst_event_finalize):
24033         Set SRC to NULL.
24034
24035         * gst/gstutils.c: (gst_element_unlink),
24036         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
24037         (gst_pad_proxy_setcaps):
24038         * gst/gstutils.h:
24039         Add _get_parent_element() to get a pads parent as an element.
24040
24041 2005-07-18  Wim Taymans  <wim@fluendo.com>
24042
24043         * check/gst/gstbin.c: (GST_START_TEST):
24044         Remove bogus test.
24045
24046 2005-07-18  Wim Taymans  <wim@fluendo.com>
24047
24048         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
24049         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
24050         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
24051         (gst_base_sink_event), (gst_base_sink_do_sync),
24052         (gst_base_sink_chain), (gst_base_sink_loop),
24053         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
24054         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
24055         Refcounting fixes.
24056         Fix logic for returning ASYNC when not prerolled.
24057
24058 2005-07-18  Wim Taymans  <wim@fluendo.com>
24059
24060         * gst/gstqueue.c: (gst_queue_handle_sink_event):
24061         Fix nasty refcount bug.
24062
24063 2005-07-16 Philippe Khalaf <burger@speedy.org>
24064
24065         * gst/elements/gstfdsrc.c:
24066         * gst/elements/gstfdsrc.h:
24067         * gst/elements/gstelements.c:
24068         * gst/elements/Makefile.am:
24069         Ported fdsrc to 0.9.
24070
24071 2005-07-16  Wim Taymans  <wim@fluendo.com>
24072
24073         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24074         (gst_base_sink_do_sync):
24075         Fix compile error.
24076
24077 2005-07-16  Wim Taymans  <wim@fluendo.com>
24078
24079         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24080         (gst_base_sink_event), (gst_base_sink_get_times),
24081         (gst_base_sink_do_sync), (gst_base_sink_change_state):
24082         * gst/base/gstbasesink.h:
24083         Store and use discont values when syncing buffers as described
24084         in design docs.
24085         
24086         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24087         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
24088         (gst_base_src_activate_push):
24089         Push discont event when starting.
24090
24091         * gst/elements/gstidentity.c: (gst_identity_transform):
24092         Small cleanups.
24093
24094         * gst/gstbin.c: (gst_bin_change_state):
24095         Small cleanups in base_time  distribution.
24096
24097         * gst/gstelement.c: (gst_element_set_base_time),
24098         (gst_element_get_base_time), (gst_element_change_state):
24099         * gst/gstelement.h:
24100         Added methods for the base_time of the element.
24101         Some MT fixes.
24102
24103         * gst/gstpipeline.c: (gst_pipeline_send_event),
24104         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
24105         (gst_pipeline_get_last_stream_time):
24106         * gst/gstpipeline.h:
24107         MT fixes.
24108         Handle seeking as described in design doc, remove stream_time
24109         hack.
24110         Cleanups clock and stream_time selection code. Added accessors
24111         for the stream_time.
24112         
24113
24114 2005-07-16  Andy Wingo  <wingo@pobox.com>
24115
24116         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
24117         (#305291).
24118
24119 2005-07-16  Wim Taymans  <wim@fluendo.com>
24120
24121         * check/gst/gstbin.c: (GST_START_TEST):
24122         Make elements silent as the deep_notify refs the
24123         parent, which might make the test fail.
24124
24125         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
24126         Don't hold the lock for too long.
24127
24128 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
24129
24130         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
24131           Don't unref the caps we passed to gst_caps_make_writable() after
24132           passing them. gst_caps_make_writable() will do that for us.
24133
24134 2005-07-15  Andy Wingo  <wingo@pobox.com>
24135
24136         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
24137         (#157311).
24138
24139         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
24140         own marshalling function for the handoff signal. Properly type the
24141         buffer as a buffer. Fixes some warnings. Should do a more general
24142         solution.
24143         (gst_identity_class_init): Plug into the right marshaller.
24144
24145 2005-07-15  Wim Taymans  <wim@fluendo.com>
24146
24147         * docs/design/part-TODO.txt:
24148         * docs/design/part-clocks.txt:
24149         * docs/design/part-element-sink.txt:
24150         * docs/design/part-events.txt:
24151         * docs/design/part-gstpipeline.txt:
24152         Updated docs, mostly DISCONT related.
24153
24154 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
24155
24156         * docs/pwg/building-pads.xml:
24157           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
24158
24159 2005-07-15  Andy Wingo  <wingo@pobox.com>
24160
24161         * tools/gst-typefind.c: Update, add copyright block.
24162
24163         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
24164         Normalize and truncate caps before fixation.
24165
24166         * gst/gstcaps.h:
24167         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
24168         discards all but the first structure from its argument.
24169
24170 2005-07-15  Wim Taymans  <wim@fluendo.com>
24171
24172         * gst/base/gstbasetransform.c: (gst_base_transform_init),
24173         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
24174         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24175         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
24176         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
24177         (gst_base_transform_chain), (gst_base_transform_change_state),
24178         (gst_base_transform_set_passthrough),
24179         (gst_base_transform_is_passthrough):
24180         * gst/base/gstbasetransform.h:
24181         Make passthrough work using the bufferpools.
24182         Changed API a bit, subclasses have to write into a buffer
24183         provided by the base class.
24184         More debug info in nego functions.
24185         
24186         * gst/elements/gstidentity.c: (gst_identity_init),
24187         (gst_identity_transform):
24188         Port to new base class.
24189
24190 2005-07-15  Wim Taymans  <wim@fluendo.com>
24191
24192         * gst/gstmessage.c: (gst_message_new_state_changed):
24193         * tools/gst-launch.c: (event_loop), (main):
24194         Totally dump messages in -launch with the -m option.
24195         Fix message name for State messages,
24196
24197 2005-07-14  Wim Taymans  <wim@fluendo.com>
24198
24199         * gst/base/gstbasesrc.c: (gst_base_src_loop):
24200         Post error messages on errors.
24201
24202 2005-07-14  Wim Taymans  <wim@fluendo.com>
24203
24204         * gst/gstcaps.c: (gst_caps_do_simplify):
24205         Remove debug info.
24206
24207         * gst/gsterror.h:
24208         Define error for stream stopped.
24209
24210         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
24211         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
24212         Do proper return values.
24213
24214         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
24215         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
24216         (gst_pad_get_range):
24217         Better return values.
24218
24219         * gst/gstpad.h:
24220         Reorganise return values, add macro to check for fatal errors.
24221
24222         * gst/gstqueue.c: (gst_queue_chain):
24223         Return proper GstFlowReturn values,
24224
24225 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
24226
24227         * docs/gst/gstreamer-sections.txt:
24228         * docs/gst/gstreamer.types:
24229         * docs/gst/tmpl/gst.sgml:
24230         * docs/gst/tmpl/gstbasesink.sgml:
24231         * docs/gst/tmpl/gstbasesrc.sgml:
24232         * docs/gst/tmpl/gstbasetransform.sgml:
24233         * docs/gst/tmpl/gstbin.sgml:
24234         * docs/gst/tmpl/gstbuffer.sgml:
24235         * docs/gst/tmpl/gstcaps.sgml:
24236         * docs/gst/tmpl/gstclock.sgml:
24237         * docs/gst/tmpl/gstcompat.sgml:
24238         * docs/gst/tmpl/gstconfig.sgml:
24239         * docs/gst/tmpl/gstelement.sgml:
24240         * docs/gst/tmpl/gstelementdetails.sgml:
24241         * docs/gst/tmpl/gstelementfactory.sgml:
24242         * docs/gst/tmpl/gstenumtypes.sgml:
24243         * docs/gst/tmpl/gsterror.sgml:
24244         * docs/gst/tmpl/gstevent.sgml:
24245         * docs/gst/tmpl/gstfakesink.sgml:
24246         * docs/gst/tmpl/gstfakesrc.sgml:
24247         * docs/gst/tmpl/gstfilesink.sgml:
24248         * docs/gst/tmpl/gstfilesrc.sgml:
24249         * docs/gst/tmpl/gstfilter.sgml:
24250         * docs/gst/tmpl/gstformat.sgml:
24251         * docs/gst/tmpl/gstghostpad.sgml:
24252         * docs/gst/tmpl/gstimplementsinterface.sgml:
24253         * docs/gst/tmpl/gstindex.sgml:
24254         * docs/gst/tmpl/gstindexfactory.sgml:
24255         * docs/gst/tmpl/gstinfo.sgml:
24256         * docs/gst/tmpl/gstiterator.sgml:
24257         * docs/gst/tmpl/gstmacros.sgml:
24258         * docs/gst/tmpl/gstmemchunk.sgml:
24259         * docs/gst/tmpl/gstminiobject.sgml:
24260         * docs/gst/tmpl/gstobject.sgml:
24261         * docs/gst/tmpl/gstpad.sgml:
24262         * docs/gst/tmpl/gstpadtemplate.sgml:
24263         * docs/gst/tmpl/gstparse.sgml:
24264         * docs/gst/tmpl/gstpipeline.sgml:
24265         * docs/gst/tmpl/gstplugin.sgml:
24266         * docs/gst/tmpl/gstpluginfeature.sgml:
24267         * docs/gst/tmpl/gstquery.sgml:
24268         * docs/gst/tmpl/gstqueue.sgml:
24269         * docs/gst/tmpl/gstregistry.sgml:
24270         * docs/gst/tmpl/gstregistrypool.sgml:
24271         * docs/gst/tmpl/gstscheduler.sgml:
24272         * docs/gst/tmpl/gstschedulerfactory.sgml:
24273         * docs/gst/tmpl/gststructure.sgml:
24274         * docs/gst/tmpl/gstsystemclock.sgml:
24275         * docs/gst/tmpl/gsttaglist.sgml:
24276         * docs/gst/tmpl/gsttagsetter.sgml:
24277         * docs/gst/tmpl/gsttrace.sgml:
24278         * docs/gst/tmpl/gsttrashstack.sgml:
24279         * docs/gst/tmpl/gsttypefind.sgml:
24280         * docs/gst/tmpl/gsttypefindfactory.sgml:
24281         * docs/gst/tmpl/gsttypes.sgml:
24282         * docs/gst/tmpl/gsturihandler.sgml:
24283         * docs/gst/tmpl/gsturitype.sgml:
24284         * docs/gst/tmpl/gstutils.sgml:
24285         * docs/gst/tmpl/gstvalue.sgml:
24286         * docs/gst/tmpl/gstversion.sgml:
24287         * docs/gst/tmpl/gstxml.sgml:
24288         * docs/libs/tmpl/gstcontrol.sgml:
24289         * docs/libs/tmpl/gstdataprotocol.sgml:
24290         * docs/libs/tmpl/gstdparam.sgml:
24291         * docs/libs/tmpl/gstdplinint.sgml:
24292         * docs/libs/tmpl/gstdpman.sgml:
24293         * docs/libs/tmpl/gstdpsmooth.sgml:
24294         * docs/libs/tmpl/gstgetbits.sgml:
24295         * docs/libs/tmpl/gstunitconvert.sgml:
24296         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
24297         (gst_push_src_base_init), (gst_push_src_class_init),
24298         (gst_push_src_init), (gst_push_src_create):
24299         * gst/base/gstpushsrc.h:
24300         * gst/elements/gstelements.c:
24301         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
24302         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
24303         (gst_fake_sink_init), (gst_fake_sink_set_property),
24304         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
24305         (gst_fake_sink_event), (gst_fake_sink_preroll),
24306         (gst_fake_sink_render), (gst_fake_sink_change_state):
24307         * gst/elements/gstfakesink.h:
24308         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
24309         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
24310         (gst_fake_src_base_init), (gst_fake_src_class_init),
24311         (gst_fake_src_init), (gst_fake_src_event_handler),
24312         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
24313         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
24314         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
24315         (gst_fake_src_create_buffer), (gst_fake_src_create),
24316         (gst_fake_src_start), (gst_fake_src_stop):
24317         * gst/elements/gstfakesrc.h:
24318         * gst/elements/gstfilesink.c: (_do_init),
24319         (gst_file_sink_base_init), (gst_file_sink_class_init),
24320         (gst_file_sink_init), (gst_file_sink_dispose),
24321         (gst_file_sink_set_location), (gst_file_sink_set_property),
24322         (gst_file_sink_get_property), (gst_file_sink_open_file),
24323         (gst_file_sink_close_file), (gst_file_sink_query),
24324         (gst_file_sink_event), (gst_file_sink_render),
24325         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
24326         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
24327         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
24328         * gst/elements/gstfilesink.h:
24329         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
24330         (gst_file_src_class_init), (gst_file_src_init),
24331         (gst_file_src_finalize), (gst_file_src_set_location),
24332         (gst_file_src_set_property), (gst_file_src_get_property),
24333         (gst_file_src_map_region), (gst_file_src_map_small_region),
24334         (gst_file_src_create_mmap), (gst_file_src_create_read),
24335         (gst_file_src_create), (gst_file_src_is_seekable),
24336         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
24337         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
24338         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
24339         (gst_file_src_uri_handler_init):
24340         * gst/elements/gstfilesrc.h:
24341           more autistic cleanliness in functions/names/defines
24342
24343 2005-07-13  Andy Wingo  <wingo@pobox.com>
24344
24345         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
24346         source couldn't negotiate.
24347
24348         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
24349         connections again.
24350
24351         * gst/gstutils.h:
24352         * gst/gstutils.c (gst_element_link_pads_filtered): New old
24353         function. I am channeling Hades. Put your boots on suckers!!!
24354
24355 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
24356
24357         * testsuite/caps/Makefile.am:
24358         * testsuite/caps/value_compare.c:
24359         * testsuite/caps/value_intersect.c:
24360         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
24361           move two testsuite apps over to the check dir
24362
24363 2005-07-12  Wim Taymans  <wim@fluendo.com>
24364
24365         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
24366         Added more debug info in the negotiate process.
24367
24368         * gst/gstmessage.h:
24369         Prepare for segment playback.
24370
24371         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
24372         Better debugging.
24373
24374         * gst/gstutils.c:
24375         Some more docs.
24376
24377         * tools/gst-launch.c: (main):
24378         NULL pipeline on errors.
24379
24380 2005-07-12  Andy Wingo  <wingo@pobox.com>
24381
24382         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
24383         not it comes from a malloc region. Make sure our copy gets freed.
24384
24385 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24386
24387         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24388         * check/gst/gstmessage.c: (GST_START_TEST):
24389         * check/gst/gststructure.c: (GST_START_TEST),
24390         (gst_structure_suite), (main):
24391           more testing
24392         * gst/gstelement.c: (gst_element_message_full):
24393           clean up GError and debug string now that they get copied
24394         * gst/gstmessage.c: (gst_message_new_error),
24395         (gst_message_new_warning), (gst_message_parse_error),
24396         (gst_message_parse_warning):
24397           use GST_TYPE_G_ERROR for structure_new, and take copies of
24398           arguments, so that we don't mess up refcounting
24399
24400 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24401
24402         * check/Makefile.am:
24403           add per-test valgrind targets
24404         * check/gst-libs/gdp.c: (GST_START_TEST),
24405         (gst_data_protocol_suite), (main):
24406           clean up
24407
24408 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24409
24410         * check/Makefile.am:
24411           instate more valgrindable tests
24412         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24413         (GST_START_TEST), (fakesrc_suite):
24414         * check/gst/gstpad.c: (GST_START_TEST):
24415         * check/gst/gststructure.c: (GST_START_TEST):
24416           fix test leaks
24417         * docs/gst/tmpl/gstminiobject.sgml:
24418         * gst/gstpad.c: (gst_pad_finalize):
24419           fix the static mutex leak
24420
24421 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24422
24423         * check/Makefile.am:
24424           add two more tests for valgrinding
24425         * check/gst/gstvalue.c: (GST_START_TEST):
24426           test refcount of deserialized buffer, found a leak
24427         * docs/gst/gstreamer-docs.sgml:
24428         * docs/gst/gstreamer-sections.txt:
24429         * docs/gst/gstreamer.types:
24430         * docs/gst/tmpl/gstminiobject.sgml:
24431           add miniobject to docs
24432         * gst/gstminiobject.c:
24433           add some docs
24434         * gst/gstvalue.c: (gst_value_deserialize_buffer),
24435         (gst_string_unwrap):
24436           fix a hard-to-find invalid write for one of the tests
24437           fix a leak for deserialized buffers
24438
24439 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24440
24441         * docs/pwg/advanced-events.xml:
24442         * docs/pwg/advanced-request.xml:
24443         * docs/pwg/advanced-scheduling.xml:
24444         * docs/pwg/appendix-porting.xml:
24445         * docs/pwg/building-boiler.xml:
24446         * docs/pwg/intro-preface.xml:
24447         * docs/pwg/other-ntoone.xml:
24448           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
24449           of example code and explanation for pad activation, loop() and
24450           getrange() functions and a bit more. Remove old comments pointing
24451           to loop-functions.
24452         * examples/pwg/Makefile.am:
24453           Add loop/getrange examples.
24454
24455 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24456
24457         * configure.ac:
24458           check for valgrind binary + some fixes
24459         * check/gst.supp:
24460           valgrind suppressions for the tests
24461         * check/Makefile.am:
24462           add a valgrind: target that valgrinds the unit tests
24463         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
24464         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24465         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24466         * check/gst/gstghostpad.c:
24467           added some cleanup
24468         * check/gst/gstdata.c:
24469           removed
24470         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
24471         (thread_unref), (gst_mini_object_suite), (main):
24472           added
24473         * gst/gst.c: (gst_deinit):
24474         * gst/gst.h:
24475           add a method to clean up.
24476         * gst/gstsystemclock.c: (gst_system_clock_dispose),
24477         (gst_system_clock_obtain):
24478           allow for disposing the system clock.
24479         * tools/gst-launch.c: (main):
24480           deinit
24481
24482 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24483
24484         * docs/gst/tmpl/gstbasesrc.sgml:
24485         * docs/gst/tmpl/gstfakesrc.sgml:
24486         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24487         (gst_base_src_init), (gst_base_src_set_property),
24488         (gst_base_src_get_property), (gst_base_src_get_range),
24489         (gst_base_src_start):
24490         * gst/base/gstbasesrc.h:
24491           add num-buffers property
24492         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24493         (gst_fakesrc_init), (gst_fakesrc_set_property),
24494         (gst_fakesrc_get_property), (gst_fakesrc_create),
24495         (gst_fakesrc_start):
24496           remove num-buffers property
24497
24498 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24499
24500         * docs/gst/gstreamer-sections.txt:
24501         * docs/gst/tmpl/gstbasesink.sgml:
24502         * docs/gst/tmpl/gstbasesrc.sgml:
24503         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
24504         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
24505         (gst_base_sink_finalize), (gst_base_sink_set_clock),
24506         (gst_base_sink_set_property), (gst_base_sink_get_property),
24507         (gst_base_sink_handle_object), (gst_base_sink_event),
24508         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
24509         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
24510         (gst_base_sink_loop), (gst_base_sink_deactivate),
24511         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
24512         (gst_base_sink_change_state):
24513         * gst/base/gstbasesink.h:
24514         * gst/base/gstbasesrc.h:
24515         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
24516         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
24517         (gst_filesink_init):
24518           more macro splitting
24519
24520 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24521
24522         * gst/gstelement.c: (gst_element_get_bus):
24523           add debug
24524         * tools/gst-launch.c: (check_intr), (event_loop):
24525           fix bus leaks
24526
24527 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24528
24529         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
24530           fix a caps leak
24531
24532 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24533
24534         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24535         (gst_base_src_finalize):
24536           add finalize method and clean up properly
24537         * gst/gstpipeline.c: (gst_pipeline_dispose):
24538           add debug
24539
24540 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24541
24542         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
24543         (gst_bin_suite):
24544           add more things to check
24545         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
24546         * gst/gstelement.c:
24547           more debug
24548
24549 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24550
24551         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24552         (GST_START_TEST), (fakesrc_suite):
24553         * check/gst-libs/gdp.c: (GST_START_TEST):
24554         * check/gst/gst.c: (GST_START_TEST):
24555         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24556         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24557         * check/gst/gstbus.c: (GST_START_TEST):
24558         * check/gst/gstcaps.c: (GST_START_TEST):
24559         * check/gst/gstdata.c: (GST_START_TEST):
24560         * check/gst/gstelement.c: (GST_START_TEST):
24561         * check/gst/gstghostpad.c: (GST_START_TEST):
24562         * check/gst/gstiterator.c: (GST_START_TEST):
24563         * check/gst/gstmessage.c: (GST_START_TEST):
24564         * check/gst/gstobject.c: (GST_START_TEST):
24565         * check/gst/gstpad.c: (GST_START_TEST):
24566         * check/gst/gststructure.c: (GST_START_TEST):
24567         * check/gst/gstsystemclock.c: (GST_START_TEST),
24568         (gst_systemclock_suite):
24569         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
24570         * check/gst/gstvalue.c: (GST_START_TEST):
24571         * check/pipelines/cleanup.c: (GST_START_TEST):
24572         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
24573         * check/states/sinks.c: (GST_START_TEST):
24574         * check/gstcheck.c: (gst_check_init):
24575         * check/gstcheck.h:
24576           add debugging category
24577           use GST_START_TEST now, so we add a debug line
24578
24579 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24580
24581         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
24582           add test for state change message on a bin
24583         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
24584           add another test
24585         * gst/gstbin.c: (gst_bin_init):
24586         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
24587         * gst/gstelement.c: (gst_element_post_message),
24588         (gst_element_set_state):
24589         * gst/gstelementfactory.c: (gst_element_factory_create):
24590         * gst/gstmessage.c: (gst_message_new):
24591         * gst/gstscheduler.c:
24592           various debugging additions and cleanups
24593
24594 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24595
24596         * check/Makefile.am:
24597         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
24598         (main):
24599           adding tests for elements
24600         * gst/gstelement.c: (gst_element_dispose):
24601
24602 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24603
24604         * gst/registries/gstlibxmlregistry.c: (load_feature):
24605           plug more leaks.  A simple gst_init() now is leakfree, yay.
24606
24607 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24608
24609         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
24610         (gst_xml_registry_load):
24611           plug another memleak
24612
24613 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24614
24615         * configure.ac:
24616           use GST_SET_ERROR_CFLAGS
24617         * docs/faq/cvs.xml:
24618           change to ERROR_CFLAGS
24619
24620 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24621
24622         * configure.ac:
24623           make GST_ERROR_CFLAGS overridable and re-enable Werror
24624         * docs/faq/cvs.xml:
24625           add a note about error CFLAGS
24626         * docs/gst/tmpl/gstfakesrc.sgml:
24627         * gst/elements/gstfakesrc.c:
24628           comment out some unused code
24629         * gst/gst.c: (split_and_iterate):
24630         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
24631         (load_feature):
24632           plug some memleaks
24633
24634 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24635
24636         * common/Makefile.am:
24637         * common/gtk-doc.mak:
24638         * docs/gst/Makefile.am:
24639           factor out gtk-doc.mak
24640
24641 2005-07-07  Wim Taymans  <wim@fluendo.com>
24642
24643         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
24644         (gst_thread_scheduler_dispose):
24645         Unlock the STREAM_LOCK completely.
24646
24647 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24648
24649         * check/Makefile.am:
24650         * check/elements/.cvsignore:
24651         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24652         (START_TEST), (fakesrc_suite), (main):
24653         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24654         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
24655         (gst_fakesrc_create), (gst_fakesrc_start):
24656         * gst/elements/gstfakesrc.h:
24657           adding a first element test
24658
24659 2005-07-07  Andy Wingo  <wingo@pobox.com>
24660
24661         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
24662         debug message.
24663
24664 2005-07-07  Wim Taymans  <wim@fluendo.com>
24665
24666         * gst/gstquery.c:
24667         * gst/gstquery.h:
24668         Remove old types
24669
24670 2005-07-07  Wim Taymans  <wim@fluendo.com>
24671
24672         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24673         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
24674         Allow subclasses to implement their own negotiation.
24675
24676 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24677
24678         * docs/design/part-gstbin.txt:
24679         * docs/design/part-gstpipeline.txt:
24680           Update design notes to reflect the movement of
24681           responsibility for bus handling from GstPipeline to
24682           GstBin
24683
24684 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24685
24686         * configure.ac:
24687           Remove unnecessary queue2/3/4 examples.
24688
24689 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24690
24691         * examples/Makefile.am:
24692         * examples/helloworld/helloworld.c: (event_loop), (main):
24693         * examples/queue/queue.c: (event_loop), (main):
24694         * examples/queue2/queue2.c: (main):
24695           Update a couple of the examples to work again.
24696
24697         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24698         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
24699          Spelling corrections and extra debug.
24700         
24701         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
24702         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
24703         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
24704         * gst/gstbin.h:
24705         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
24706         (gst_pipeline_change_state):
24707         * gst/gstpipeline.h:
24708           Move the bus handler for children to the GstBin, and create a
24709           separate bus for receiving messages from children to the one the
24710           bus sends 'upwards' on.
24711
24712 2005-07-06  Wim Taymans  <wim@fluendo.com>
24713
24714         * gst/base/README:
24715         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24716         (gst_base_sink_handle_object), (gst_base_sink_loop),
24717         (gst_base_sink_change_state):
24718         * gst/base/gstbasesink.h:
24719         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24720         (gst_base_src_init), (gst_base_src_setcaps),
24721         (gst_base_src_getcaps), (gst_base_src_loop),
24722         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
24723         (gst_base_src_start), (gst_base_src_change_state):
24724         * gst/base/gstbasesrc.h:
24725         Make basesrc negotiate.
24726         Handle the case where preroll fails in basesink.
24727         Update README.
24728
24729 2005-07-06  Wim Taymans  <wim@fluendo.com>
24730
24731         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
24732         Implement the fixate function.
24733         Clean up acceptcaps.
24734
24735 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24736
24737         * docs/pwg/building-filterfactory.xml:
24738         * docs/pwg/pwg.xml:
24739           Remove never-written filter-factory chapter; I'll add the various
24740           base classes to part 4 ("other element types") later on.
24741
24742 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24743
24744         * docs/pwg/advanced-negotiation.xml:
24745         * docs/pwg/building-boiler.xml:
24746         * docs/pwg/building-pads.xml:
24747         * docs/pwg/pwg.xml:
24748         * examples/pwg/Makefile.am:
24749           Add a chapter on caps negotiation, simplify the original code
24750           samples a bit w.r.t. caps negotiation, add link to the advanced
24751           section. Add a bunch of examples showing different use cases of
24752           different types of caps negotiation. Upstream renegotiation isn't
24753           fully documented yet since nobody knows how that works.
24754
24755 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
24756
24757         * check/gst/gstpad.c:
24758         * check/gstcheck.c:
24759         * gst/gstpad.c: (gst_pad_get_internal_links_default):
24760           if pad has no parent, return NULL as list of internal links
24761
24762 2005-07-05  Andy Wingo  <wingo@pobox.com>
24763
24764         * gst/elements/gstfilesrc.c:
24765         * gst/elements/gstfakesrc.c: 
24766         * gst/base/gstpushsrc.c:
24767         * gst/base/gstbasesrc.h: 
24768         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
24769         
24770 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
24771
24772         * Makefile.am:
24773           better report generation target (lcov needs a patch)
24774
24775 2005-07-05  Andy Wingo  <wingo@pobox.com>
24776
24777         * gst/elements, testsuite: Null if we got it...
24778
24779 2005-07-05  Wim Taymans  <wim@fluendo.com>
24780
24781         * configure.ac:
24782         * libs/gst/dataprotocol/Makefile.am:
24783         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
24784         * libs/gst/dataprotocol/dataprotocol.h:
24785         * pkgconfig/Makefile.am:
24786         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
24787         * pkgconfig/gstreamer-dataprotocol.pc.in:
24788         Ported dataprotol to 0.9. 
24789         Added pkgconfig files.
24790
24791 2005-07-05  Andy Wingo  <wingo@pobox.com>
24792
24793         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
24794         Default to returning TRUE for the case when tranform_caps returns
24795         a fixed caps, like for identity or volume.
24796
24797         * check/gst/gstbus.c (pound_bus_with_messages): 
24798         * check/gst/gstmessage.c (START_TEST): 
24799         * check/pipelines/simple_launch_lines.c (got_handoff): Application
24800         message API change.
24801
24802         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
24803         logic weaks here: always run transform_caps, trying passthrough
24804         operation only if the original caps intersects with the transform.
24805
24806         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
24807         source and sink caps.
24808
24809         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
24810         Intersect the peer caps with the pad template before going into
24811         transform_caps.
24812         (gst_base_transform_transform_caps): More debugging.
24813
24814         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
24815         src argument.
24816
24817 2005-07-04  Edward Hervey  <edward@fluendo.com>
24818
24819         * gst/gstutils.c:
24820         * gst/gstutils.h:
24821         (gst_pad_add_*_probe): now returns the signal id for better wrapping
24822         in bindings.
24823
24824 2005-07-04  Andy Wingo  <wingo@pobox.com>
24825
24826         * check/gst/gstpad.c: Only set explicit caps on pads.
24827
24828 2005-07-01  Andy Wingo  <wingo@pobox.com>
24829
24830         * tests/network-clock.scm: Commentary update.
24831
24832         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
24833         Didn't really make sense, not implementable with basetransform,
24834         etc.
24835         (gst_identity_transform): Unref inbuf via make_writable. Feeble
24836         attempt at implementing the sync property, needs an unlock method.
24837
24838         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
24839         New func, by default returns the same caps (the identity
24840         transformation).
24841         (gst_base_transform_getcaps): Uses transform_caps to return
24842         something sensible.
24843         (gst_base_transform_setcaps): Complicated logic to get caps on
24844         both pads, even if they are different, and to call set_caps once
24845         for every time both pads get their caps set.
24846         (gst_base_transform_handle_buffer): Give the ref to the transform
24847         function. Allows in-place modification of the buffer.
24848
24849         * gst/base/gstbasetransform.h (transform_caps): New class method.
24850         Given caps on one side, what can I do on the other.
24851         (set_caps): Take two caps, one for each side of the element.
24852
24853         * gst/gstpad.h:
24854         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
24855         caps in place. This is safe because we can check the mutability of
24856         the caps, and a good idea because fixate functions are just called
24857         as a matter of last resort. (Not actually implemented.)
24858         (gst_pad_set_caps): If the caps we're setting is actually the same
24859         as the existing pad caps, just update the pointer without calling
24860         setcaps. Assert that caps is either NULL or fixed, as per the
24861         docs.
24862
24863         * gst/gstghostpad.c: Update for fixate changes.
24864
24865 2005-07-02  Andy Wingo  <wingo@pobox.com>
24866
24867         * gst/gstcaps.c:
24868         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
24869         two refcounts makes it immutable, which is enough. Doc more.
24870
24871 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
24872
24873         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
24874           Put the mini_object into GValue as a mini_object,
24875           not a gpointer, since that's how we declared
24876           the signal.
24877
24878 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24879
24880         * examples/pwg/Makefile.am:
24881           Fix buildbot again.
24882
24883 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24884
24885         * docs/pwg/building-testapp.xml:
24886           Add extra check.
24887         * examples/pwg/Makefile.am:
24888           Fix buildbot.
24889
24890 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24891
24892         * configure.ac:
24893         * examples/Makefile.am:
24894         * examples/pwg/Makefile.am:
24895         * examples/pwg/extract.pl:
24896           Enable building the PWG examples.
24897         * docs/pwg/advanced-interfaces.xml:
24898           Add URI interface stub.
24899         * docs/pwg/advanced-types.xml:
24900         * docs/pwg/other-autoplugger.xml:
24901         * docs/pwg/appendix-porting.xml:
24902         * docs/pwg/pwg.xml:
24903           Add porting guide (mostly stubs), remove autoplugging (see ADM).
24904         * docs/pwg/building-boiler.xml:
24905         * docs/pwg/building-chainfn.xml:
24906         * docs/pwg/building-pads.xml:
24907         * docs/pwg/building-props.xml:
24908         * docs/pwg/building-state.xml:
24909         * docs/pwg/building-testapp.xml:
24910           Update the building-*.xml parts for 0.9 changes. All examples
24911           code blocks compile in examples/pwg/*.
24912
24913 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24914
24915         * docs/manual/advanced-autoplugging.xml:
24916         * docs/manual/appendix-checklist.xml:
24917         * docs/manual/appendix-integration.xml:
24918         * docs/manual/highlevel-components.xml:
24919           Fix playbin/decodebin examples, update docs a bit, mention bus
24920           instead of signals in various places, mention kmplayer and
24921           kaffeine since they have a working GStreamer backend in the KDE
24922           section.
24923
24924 2005-06-30  Wim Taymans  <wim@fluendo.com>
24925
24926         * CHANGES-0.9:
24927         * docs/design/draft-ghostpads.txt:
24928         * docs/design/draft-push-pull.txt:
24929         * docs/design/draft-query.txt:
24930         * docs/design/part-TODO.txt:
24931         * docs/design/part-query.txt:
24932         Added CHANGES-0.9 doc, updated status of other docs.
24933         
24934         * gst/gstquery.h:
24935         Remove "hmm" macro
24936
24937 2005-06-30  Wim Taymans  <wim@fluendo.com>
24938
24939         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24940         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
24941         (gst_base_sink_change_state):
24942         * gst/base/gstbasesink.h:
24943         Some tweaks, only EOS and a buffer complete a preroll.
24944
24945 2005-06-30  Andy Wingo  <wingo@pobox.com>
24946
24947         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
24948         activate_push down to the internal pad as well.
24949
24950 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
24951
24952         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24953
24954         * gst/gsttaginterface.c:
24955           Some documentation fixes (#307394 and #307397).
24956
24957 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
24958
24959         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24960
24961         * gst/gstvalue.c: (gst_value_intersect_list):
24962           Fix memleak (#309125).
24963
24964 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24965
24966         * docs/manual/advanced-dataaccess.xml:
24967           Fix fakesrc example to compile; doesn't work, bug somewhere...?
24968         * docs/manual/basics-pads.xml:
24969           Add reference for filtered caps to above chapter.
24970
24971 2005-06-30  Wim Taymans  <wim@fluendo.com>
24972
24973         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
24974         (gst_bin_change_state):
24975         Probes are gone.
24976         Lame attempt at making the state change function a bit
24977         more readable.
24978
24979 2005-06-30  Wim Taymans  <wim@fluendo.com>
24980
24981         * docs/design/part-clocks.txt:
24982         * docs/design/part-element-sink.txt:
24983         * docs/design/part-events.txt:
24984         * docs/design/part-preroll.txt:
24985         * docs/design/part-states.txt:
24986         Some more tweeks and additions to the docs.
24987
24988 2005-06-30  Wim Taymans  <wim@fluendo.com>
24989
24990         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
24991         (default_have_data), (gst_pad_class_init), (gst_pad_init),
24992         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
24993         (gst_pad_check_pull_range), (gst_pad_get_range),
24994         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
24995         * gst/gstpad.h:
24996         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
24997         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
24998         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
24999         (gst_pad_remove_buffer_probe):
25000         Removed atomic operations, use existing LOCK.
25001         Move exception handling out of main code path.
25002
25003 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25004
25005         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
25006         (silly_return_true_function), (gst_pad_class_init),
25007         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
25008         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
25009         (gst_pad_send_event):
25010           Fix accumulator, add default value by using _emitv() instead
25011           of _emit() for signal emission.
25012
25013 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25014
25015         * docs/manual/advanced-dataaccess.xml:
25016         * examples/manual/Makefile.am:
25017           Add probe example.
25018         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
25019           Make work (??).
25020
25021 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
25022
25023         * gst/elements/gstfilesink.c: (gst_filesink_render):
25024           Simplify code so that we don't have to handle short
25025           writes and return GST_FLOW_ERROR if an error occured.
25026
25027 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25028
25029         * docs/gst/gstreamer-docs.sgml:
25030           Remove probes more.
25031
25032 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25033
25034         * docs/gst/gstreamer-sections.txt:
25035         * docs/gst/tmpl/gstpad.sgml:
25036         * docs/gst/tmpl/gstprobe.sgml:
25037         * gst/Makefile.am:
25038         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
25039         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
25040         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
25041         (gst_pad_push_event), (gst_pad_send_event):
25042         * gst/gstpad.h:
25043         * gst/gstutils.c: (gst_pad_add_data_probe),
25044         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
25045         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
25046         (gst_pad_remove_buffer_probe):
25047         * gst/gstutils.h:
25048           Remove old probes, add new g-signal-based probes and some utility
25049           functions.
25050
25051 2005-06-29  Edward Hervey  <edward@fluendo.com>
25052
25053         * gst/gstelementfactory.c:
25054         * gst/gstutils.h:
25055         * gst/gstutils.c:
25056         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
25057         the definition to the header file.
25058
25059 2005-06-29  Andy Wingo  <wingo@pobox.com>
25060
25061         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
25062         plugins from the source directory.
25063
25064 2005-06-29  Wim Taymans  <wim@fluendo.com>
25065
25066         * docs/gst/tmpl/gstbuffer.sgml:
25067         * docs/gst/tmpl/gstclock.sgml:
25068         Some fixings for blantently wrong text.
25069
25070 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
25071
25072         * check/Makefile.am:
25073         * gst/gst.c: (add_path_func), (init_pre):
25074         * gst/gstregistry.c: (gst_registry_add_path):
25075           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
25076           only scan the GST_PLUGIN_PATH locations, and not add
25077           system locations
25078
25079 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
25080
25081         * docs/gst/gstreamer-sections.txt:
25082         * docs/gst/tmpl/gstbasesrc.sgml:
25083         * gst/gstelement.c:
25084         * gst/gstelement.h:
25085         * gst/gstevent.c:
25086         * gst/gstutils.c:
25087           doc fixes
25088
25089 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25090
25091         * docs/manual/advanced-autoplugging.xml:
25092           Fix autoplugging example.
25093
25094 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25095
25096         * docs/manual/advanced-autoplugging.xml:
25097         * docs/manual/mime-world.fig:
25098           Try to get autoplugging working, fix type detection. Fix text
25099           in hello-world image.
25100
25101 2005-06-29  Wim Taymans  <wim@fluendo.com>
25102
25103         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25104         (gst_base_sink_change_state):
25105         Small debug line.
25106
25107         * gst/gstclock.h:
25108         map SIGNAL and BROADCAST to the right function.
25109
25110         * gst/gstobject.h:
25111         Remove redundant braces.
25112
25113         * gst/gstpad.c: (gst_pad_set_caps):
25114         Don't call setcaps function when reseting caps to NULL.
25115
25116         * gst/gstsystemclock.c: (gst_system_clock_dispose),
25117         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
25118         (gst_system_clock_id_unschedule):
25119         Use BROADCAST as this is what we do.
25120
25121 2005-06-29  Wim Taymans  <wim@fluendo.com>
25122
25123         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25124         We are actually prerolling before commiting the state
25125         change. 
25126
25127 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25128
25129         * docs/manual/advanced-clocks.xml:
25130         * docs/manual/advanced-interfaces.xml:
25131         * docs/manual/advanced-metadata.xml:
25132         * docs/manual/advanced-position.xml:
25133         * docs/manual/advanced-schedulers.xml:
25134         * docs/manual/advanced-threads.xml:
25135         * docs/manual/appendix-porting.xml:
25136         * docs/manual/basics-bins.xml:
25137         * docs/manual/basics-bus.xml:
25138         * docs/manual/basics-elements.xml:
25139         * docs/manual/basics-helloworld.xml:
25140         * docs/manual/basics-pads.xml:
25141         * docs/manual/highlevel-components.xml:
25142         * docs/manual/manual.xml:
25143         * docs/manual/thread.fig:
25144           Update (until threads/scheduling) Application Development Manual;
25145           remove GstThread, add GstBus, add simple porting checklist, add
25146           documentation for tag writing, clocks, make all examples until this
25147           part compile and run.
25148         * examples/manual/Makefile.am:
25149           Update from changes to Application Development Manual; add bus
25150           example, remove thread example.
25151
25152 2005-06-28  Wim Taymans  <wim@fluendo.com>
25153
25154         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
25155         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
25156         (gst_bus_source_dispatch):
25157         Add debugging messages.
25158         Make internal methods static.
25159         Handle the case where the bus is flushed in the handler.
25160         
25161         * gst/gstelement.c: (gst_element_get_bus):
25162         Fix refcount in _get_bus();
25163
25164         * gst/gstpipeline.c: (gst_pipeline_change_state),
25165         (gst_pipeline_get_clock_func):
25166         Clock refcounting fixes.
25167         Handle the case where preroll timed out more gracefully.
25168         
25169         * gst/gstsystemclock.c: (gst_system_clock_dispose):
25170         Clean up the internal thread in dispose. This is needed
25171         for subclasses that actually get disposed.
25172         
25173         * gst/schedulers/threadscheduler.c:
25174         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
25175         (gst_thread_scheduler_dispose):
25176         Free thread pool in dispose.
25177
25178 2005-06-28  Andy Wingo  <wingo@pobox.com>
25179
25180         * tests/network-clock-utils.scm (debug, print-event): New utils.
25181
25182         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
25183         (*packet-loss*): Unified loss probability.
25184         (network-time): Report out-of-band events.
25185
25186         * tests/plot-data: Add support for out-of-band events. Hack it
25187         into this script instead of passing it down the pipe; should fix
25188         this later.
25189
25190 2005-06-28  Wim Taymans  <wim@fluendo.com>
25191
25192         * docs/gst/gstreamer.types:
25193         * docs/gst/tmpl/gstbasesrc.sgml:
25194         * docs/gst/tmpl/gstpad.sgml:
25195         Docs fixes.
25196
25197 2005-06-28  Wim Taymans  <wim@fluendo.com>
25198
25199         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25200         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
25201         (gst_proxy_pad_do_fixatecaps):
25202         Correctly proxy the check_pull_range function.
25203
25204 2005-06-28  Andy Wingo  <wingo@pobox.com>
25205
25206         * tests/network-clock.scm: Removed need for slib.
25207         
25208 2005-06-28  Wim Taymans  <wim@fluendo.com>
25209
25210         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
25211         (gst_basesink_preroll_queue_flush):
25212         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
25213         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
25214         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25215         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
25216         (gst_proxy_pad_set_property):
25217         * gst/gstpad.c:
25218         * gst/gstpad.h:
25219         * gst/gstqueue.c: (gst_queue_init):
25220         The deprecated pad loop function is removed now.
25221
25222 2005-06-28  Andy Wingo  <wingo@pobox.com>
25223
25224         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
25225         New parameters, simulate network packet loss.
25226
25227         * tests/network-clock-utils.scm: Initialize the RNG.
25228
25229 2005-06-28  Wim Taymans  <wim@fluendo.com>
25230
25231         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
25232         (gst_basesink_event), (gst_basesink_deactivate):
25233         Flushing the preroll queue always needs to unlock the waiters.
25234
25235 2005-06-28  Edward Hervey  <edward@fluendo.com>
25236
25237         * gst/gstpipeline.c: (gst_pipeline_send_event): 
25238         Wheen a seek was successful on a pipeline, set the stream_time to the
25239         seek offset in order to have a synchronized stream_time.
25240
25241 2005-06-28  Wim Taymans  <wim@fluendo.com>
25242
25243         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25244         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
25245         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
25246         (gst_proxy_pad_do_fixatecaps):
25247         Call wrapper function instead of just calling the function
25248         pointers. This takes care of any locking and whatmore.
25249
25250 2005-06-28  Wim Taymans  <wim@fluendo.com>
25251
25252         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
25253         (gst_pad_pull_range):
25254         * gst/gstpad.h:
25255         CONNECTED -> LINKED.
25256
25257 2005-06-28  Andy Wingo  <wingo@pobox.com>
25258
25259         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
25260         source-munging commit!!!
25261
25262         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
25263         (gst_object_sink): Take gpointer arguments, not GstObject --
25264         avoids casts. Like GLib.
25265
25266         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
25267         activate.
25268
25269 2005-06-27  Andy Wingo  <wingo@pobox.com>
25270
25271         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
25272         remaining buffer.
25273
25274         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
25275         returns a sorted copy of the trace list.
25276         (gst_alloc_trace_print_live): New API, only prints traces with
25277         live objects. Sort the list.
25278         (gst_alloc_trace_print_all): Sort the list.
25279         (gst_alloc_trace_print): Align columns.
25280
25281         * gst/elements/gstttypefindelement.c:
25282         * gst/elements/gsttee.c:
25283         * gst/base/gstbasesrc.c:
25284         * gst/base/gstbasesink.c:
25285         * gst/base/gstbasetransform.c:
25286         * gst/gstqueue.c: Adapt for pad activation changes.
25287
25288         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
25289         sched.
25290         (gst_pipeline_dispose): Drop ref on sched.
25291
25292         * gst/gstpad.c (gst_pad_init): Set the default activate func.
25293         (gst_pad_activate_default): Push mode by default.
25294         (pre_activate_switch, post_activate_switch): New stubs, things to
25295         do before and after switching activation modes on pads.
25296         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
25297         the pad's activate function to choose which mode to activate.
25298         Shortcut on deactivation and call the right function directly.
25299         (gst_pad_activate_pull): New API, (de)activates a pad in pull
25300         mode.
25301         (gst_pad_activate_push): New API, same for push mode.
25302         (gst_pad_set_activate_function) 
25303         (gst_pad_set_activatepull_function) 
25304         (gst_pad_set_activatepush_function): Setters for new API.
25305
25306         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
25307         Trace all miniobjects.
25308         (gst_mini_object_make_writable): Unref the arg if we copy, like
25309         gst_caps_make_writable.
25310
25311         * gst/gstmessage.c (_gst_message_initialize): No trace init.
25312
25313         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
25314         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
25315         Adapt for new pad API.
25316
25317         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
25318
25319         * gst/gstelement.h:
25320         * gst/gstelement.c (gst_element_iterate_src_pads) 
25321         (gst_element_iterate_sink_pads): New API functions.
25322         
25323         * gst/gstelement.c (iterator_fold_with_resync): New utility,
25324         should fold into gstiterator.c in some form.
25325         (gst_element_pads_activate): Simplified via use of fold and
25326         delegation of decisions to gstpad->activate.
25327
25328         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
25329         help in debugging.
25330
25331         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
25332         class once in init, like gstmessage. Didn't run into this issue
25333         but it seems correct. Don't initialize a trace, gstminiobject does
25334         that.
25335
25336         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
25337         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
25338         to the bus.
25339         (assert_live_count): New util function, uses alloc traces to check
25340         cleanup.
25341
25342         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
25343         To be modified when unlink drops the internal pad.
25344
25345 2005-06-27  Wim Taymans  <wim@fluendo.com>
25346
25347         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
25348         (gst_bin_change_state):
25349         Cleanup the get_state() function a little, make sure it
25350         iterates the same set of elements.
25351         Added stub iterate_state_order().
25352
25353 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
25354
25355         * docs/gst/gstreamer-docs.sgml:
25356         * docs/gst/gstreamer-sections.txt:
25357         * docs/gst/gstreamer.types:
25358         * docs/gst/tmpl/gstbasesink.sgml:
25359         * docs/gst/tmpl/gstbasesrc.sgml:
25360         * docs/gst/tmpl/gstbasetransform.sgml:
25361         * docs/gst/tmpl/gstelement.sgml:
25362         * docs/gst/tmpl/gstiterator.sgml:
25363         * gst/base/gstbasesrc.c:
25364         * gst/base/gstbasesrc.h:
25365         * gst/base/gstbasetransform.h:
25366         * gst/gstelement.c:
25367         * gst/gstiterator.h:
25368           adding basetransform and iterator docs
25369
25370 2005-06-27  Andy Wingo  <wingo@pobox.com>
25371
25372         * docs/design/part-activation.txt: Notes on how activation should
25373         work -- not quite implemented yet.
25374
25375 2005-06-25  Wim Taymans  <wim@fluendo.com>
25376
25377         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
25378         At least get the chain function correct, needs more
25379         fixing.
25380
25381 2005-06-25  Wim Taymans  <wim@fluendo.com>
25382
25383         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
25384         (gst_basesink_handle_object), (gst_basesink_event),
25385         (gst_basesink_do_sync), (gst_basesink_handle_event),
25386         (gst_basesink_change_state):
25387         * gst/gsttask.h:
25388         Right, two problems here: ghostpads don't take locks and
25389         glib _rec_mutex_lock_full() with depth==0 still locks.
25390         Catch illegal locking and g_warn them.
25391
25392 2005-06-25  Wim Taymans  <wim@fluendo.com>
25393
25394         * check/states/sinks.c: (START_TEST), (gst_object_suite):
25395         Have to check for completion now...
25396
25397 2005-06-25  Wim Taymans  <wim@fluendo.com>
25398
25399         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
25400         (gst_basesink_handle_object), (gst_basesink_event),
25401         (gst_basesink_do_sync), (gst_basesink_handle_event),
25402         (gst_basesink_change_state):
25403         * gst/gstpad.h:
25404         Unlock STREAM_LOCK whatever the recursion was.
25405
25406 2005-06-25  Wim Taymans  <wim@fluendo.com>
25407
25408         * gst/base/gstbasesink.c: (gst_basesink_set_property),
25409         (gst_basesink_preroll_queue_empty),
25410         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
25411         (gst_basesink_event), (gst_basesink_do_sync),
25412         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
25413         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
25414         (gst_basesink_change_state):
25415         Reworked the base sink, handle event and buffer serialisation
25416         correctly and removed possible deadlock.
25417         Handle EOS correctly.
25418
25419 2005-06-25  Wim Taymans  <wim@fluendo.com>
25420
25421         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
25422         (gst_pipeline_change_state):
25423         * tools/gst-launch.c: (check_intr), (event_loop), (main):
25424         Allow elements to post EOS in the state change function.
25425         Fix up -launch, make it exit the poll loop when the
25426         pipeline actually changed state.
25427         Fix up warning parsing in -launch.
25428
25429 2005-06-25  Wim Taymans  <wim@fluendo.com>
25430
25431         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
25432         (gst_tee_sink_activate):
25433         Core takes STREAM_LOCK for us now.
25434
25435 2005-06-25  Wim Taymans  <wim@fluendo.com>
25436
25437         * gst/gstelement.c: (gst_element_get_state_func),
25438         (gst_element_set_state):
25439         * gst/gstelement.h:
25440         * gst/gstmessage.c: (gst_message_parse_error),
25441         (gst_message_parse_warning):
25442         Keep track of current target state while performing a state
25443         change so that subclasses can do something interesting.
25444         Fix parsing of warning/error messages when GError is NULL.
25445
25446 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
25447
25448         * docs/gst/Makefile.am:
25449         * docs/gst/gstreamer-docs.sgml:
25450         * docs/gst/gstreamer-sections.txt:
25451         * docs/gst/gstreamer.types:
25452         * docs/gst/tmpl/gstbasesink.sgml:
25453         * docs/gst/tmpl/gstbasesrc.sgml:
25454         * docs/gst/tmpl/gstbin.sgml:
25455         * docs/gst/tmpl/gstcompat.sgml:
25456         * docs/gst/tmpl/gstfakesink.sgml:
25457         * docs/gst/tmpl/gstfakesrc.sgml:
25458         * docs/gst/tmpl/gstfilesink.sgml:
25459         * docs/gst/tmpl/gstfilesrc.sgml:
25460         * docs/gst/tmpl/gstindex.sgml:
25461         * docs/manual/appendix-quotes.xml:
25462         * gst/base/gstbasesrc.h:
25463         * gst/elements/gstfakesrc.h:
25464         * gst/gstmessage.h:
25465           start pulling in base classes and elements in our docs
25466
25467 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
25468
25469         * docs/gst/Makefile.am:
25470         * docs/libs/Makefile.am:
25471           fixed make distcheck with gtk-doc 1.3
25472
25473 2005-06-23  Wim Taymans  <wim@fluendo.com>
25474
25475         * gst/gstelement.c: (gst_element_get_state_func),
25476         (gst_element_set_state), (gst_element_change_state):
25477         When the state did not change, also report NO_PREROLL
25478         when it matters.
25479
25480 2005-06-23  Wim Taymans  <wim@fluendo.com>
25481
25482         * gst/gstpad.c: (gst_pad_event_default):
25483         * gst/gstqueue.c: (gst_queue_loop):
25484         No unsafe task pausing please.
25485
25486 2005-06-23  Wim Taymans  <wim@fluendo.com>
25487
25488         * gst/schedulers/threadscheduler.c:
25489         (gst_thread_scheduler_task_start),
25490         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
25491         Ref the task before pushing it on the threadpool. This
25492         makes sure that we have a ref when the threadfunction is
25493         actually called.
25494
25495 2005-06-23  Andy Wingo  <wingo@pobox.com>
25496
25497         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
25498         offset is greater than the file's size.
25499
25500         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
25501         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
25502         * gst/gstobject.c (gst_object_class_init): Make the class lock
25503         recursive. Wim won't let me drop deep_notify. Decodebin works
25504         again, whoopdy doo.
25505
25506         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
25507         internal pad, and hacks accordingly. Doesn't do it on the target
25508         pad because we change its caps. Probably catches all cases of
25509         interest tho.
25510         (gst_ghost_pad_set_property): Connect to notify::caps as
25511         appropritate.
25512
25513         * tests/network-clock.scm (plot-simulation): Pipe data to the
25514         elite python skript.
25515
25516         * tests/network-clock-utils.scm (define-parameter): New macro,
25517         defines a parameter that can be set via the command line.
25518         (set-parameter!, parse-parameter-arguments): Command line args
25519         parser.
25520
25521         * tests/plot-data: Simple matplotlib-based plotter, takes input on
25522         stdin.
25523
25524 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
25525
25526         * gst/elements/gsttypefindelement.c:
25527         (gst_type_find_element_handle_event):
25528           Don't restart typefinding on a discont.
25529         * gst/gstelement.c: (gst_element_set_state):
25530           Debug spelling fix.
25531         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
25532           Allow changing mode of an active pad.
25533           Debug output fixes.
25534         * gst/registries/gstlibxmlregistry.c: (load_feature):
25535           Don't cast a static pad template to a normal pad template.
25536
25537 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
25538
25539         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25540         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
25541           remove gst_strtoll completely, since it didn't actually do
25542           anything more than what g_ascii_strtoull already does.
25543           check for range errors when deserializing
25544           do a cast for the unsigned cases; but further fixing needs
25545           a decision on what the interpretation of "(int)" and
25546           deserialization should be for values that fall outside the
25547           type's boundaries (ie, refuse, or interpret as casting)
25548
25549 2005-06-23  Wim Taymans  <wim@fluendo.com>
25550
25551         * check/Makefile.am:
25552         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
25553         * docs/design/part-live-source.txt:
25554         * docs/design/part-states.txt:
25555         * gst/base/gstbasesrc.c: (gst_basesrc_init),
25556         (gst_basesrc_set_live), (gst_basesrc_is_live),
25557         (gst_basesrc_get_range), (gst_basesrc_activate),
25558         (gst_basesrc_change_state):
25559         * gst/base/gstbasesrc.h:
25560         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25561         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
25562         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
25563         * gst/gstelement.c: (gst_element_get_state_func),
25564         (gst_element_set_state):
25565         * gst/gstelement.h:
25566         * gst/gsttypes.h:
25567         * tools/gst-launch.c: (event_loop), (main):
25568         Added support for live sources and other elements that
25569         cannot do preroll.
25570         Updated design docs, added live-source design doc.
25571         Implemented live source functionality in basesrc
25572         Fix error condition in _bin_get_state()
25573         Implement live source handling in -launch.
25574         Added check for live sources.
25575         Fixed case in GstBin where elements were changed state
25576         multiple times.
25577
25578
25579 2005-06-23  Andy Wingo  <wingo@pobox.com>
25580
25581         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
25582         borken refcounting.
25583
25584         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
25585         gst_caps_replace takes care of this for us.
25586
25587         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
25588         gst_pad_set_caps on the target, not just its setcaps() function.
25589
25590         * tests/network-clock.scm: 
25591         * tests/network-clock-utils.scm: A network clock simulator.
25592         Something of an algorithmic testbed before doing something in C.
25593
25594 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25595
25596         * check/Makefile.am:
25597         * check/gst/capslist.h:
25598           copy over from 0.8, and add two with bitmasks specified with
25599           (int) 0xFF...
25600         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
25601           add test to parse everything from capslist.h
25602         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
25603         (main):
25604           add test for structure deserialization
25605         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25606           add tests for deserialization of strings to int types
25607         * gst/gststructure.c: (gst_structure_nth_field_name):
25608         * gst/gststructure.h:
25609           add a way to get the name of a field referenced by index
25610         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
25611           instead of checking if the resulting long long lies between
25612           min and max, we check if the long long would fit into
25613           a number of bytes for the final type.
25614           This fixes cases where a string represents 2^32 - 1, which
25615           when cast to int would be the (valid) -1, but is bigger than
25616           G_MAXINT
25617
25618 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25619
25620         * gst/parse/grammar.y:
25621           add a log line for type deserialization
25622
25623 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25624
25625         * check/gst/gstvalue.c: (START_TEST):
25626         * gst/gstvalue.c: (gst_value_deserialize):
25627           return long long, not int, so gint64 deserialization actually
25628           works.  Is there any flag that makes the compiler check this ?
25629           Fixes #308559
25630
25631 2005-06-22  Wim Taymans  <wim@fluendo.com>
25632
25633         * gst/gstbuffer.h:
25634         Added convenience macros for setting buffers in GValue.
25635
25636 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25637
25638         * check/gst/.cvsignore:
25639         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25640           add a test deserializing int64, and comment part out because
25641           it fails, yay !
25642
25643 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25644
25645         * check/Makefile.am:
25646         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
25647         * testsuite/Makefile.am:
25648         * testsuite/caps/Makefile.am:
25649         * testsuite/caps/value_serialize.c:
25650         * testsuite/test_gst_init.c:
25651           move a value_serialize test over
25652
25653 2005-06-20  Wim Taymans  <wim@fluendo.com>
25654
25655         * gst/gstpad.c:
25656         Small doc updates.
25657         
25658         * gst/gstvalue.c: (gst_value_compare_buffer),
25659         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
25660         (gst_value_compare_flags), (gst_value_serialize_flags),
25661         (gst_value_deserialize_flags), (_gst_value_initialize):
25662         Fix serialisation of buffers, they are not boxed types anymore
25663
25664 2005-06-20  Wim Taymans  <wim@fluendo.com>
25665
25666         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
25667         Testcase to show error in buffer-on-caps serialisation.
25668
25669 2005-06-20  Andy Wingo  <wingo@pobox.com>
25670
25671         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
25672         will be adding to later.
25673
25674         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
25675         if its socks fill with rocks.
25676         (gst_system_clock_obtain): Set the name on object construction.
25677         Avoid double-checked locking.
25678
25679 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
25680
25681         * gst/gsturi.c: (gst_element_make_from_uri):
25682           Fix potential endless loop.
25683
25684 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25685
25686         * check/Makefile.am:
25687           add gsttag
25688         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
25689         (main):
25690           move over from testsuite dir and clean up
25691         * configure.ac:
25692         * gst/gsttag.c:
25693         * testsuite/Makefile.am:
25694         * testsuite/tags/.cvsignore:
25695         * testsuite/tags/Makefile.am:
25696         * testsuite/tags/merge.c:
25697           remove testsuite/tags
25698
25699 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25700
25701         * docs/gst/gstreamer-sections.txt:
25702         * docs/gst/tmpl/gstenumtypes.sgml:
25703         * win32/gstenumtypes.c:
25704           clean up documentation build a little
25705
25706 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25707
25708         * check/gstcheck.h:
25709           add macros for checking refcounts on objects and caps
25710         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
25711           add some more unit tests
25712         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
25713         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
25714           fix leaked refcounts (I hope :)) so unittest works
25715         * gst/gstpad.h:
25716           whitespace removal
25717
25718 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25719
25720         * configure.ac: back to HEAD
25721
25722 === release 0.9.1 ===
25723
25724 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
25725
25726         * NEWS:
25727         * RELEASE:
25728           updated
25729
25730 2005-06-17  Andy Wingo  <wingo@pobox.com>
25731
25732         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
25733         assert; it's always possible that the pad gets deactivated in
25734         between the checks in gstpad.c and the implementation. Rely on
25735         finish_preroll() to return a FLUSHING or similar instead of on the
25736         assert.
25737         
25738         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
25739         clock and post an EOS message if we come out of finish_preroll in
25740         the playing state.
25741
25742 2005-06-16  David Schleef  <ds@schleef.org>
25743
25744         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25745         (gst_capsfilter_set_property): Allow NULL as possible value
25746         for filter_caps property, indicating GST_CAPS_ANY.
25747
25748 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25749
25750         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
25751           fix debug output
25752         * gst/schedulers/Makefile.am:
25753           use libgst prefix
25754         * gstreamer.spec.in:
25755           fix spec for it
25756
25757 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25758
25759         * gstreamer.spec.in:
25760           clean up
25761
25762 2005-06-08  Andy Wingo  <wingo@pobox.com>
25763
25764         * gst/gstutils.c: RPAD fixes all around.
25765         (gst_element_link_pads): Refcounting fixes.
25766
25767         * tools/gst-inspect.c:
25768         * tools/gst-xmlinspect.c:
25769         * parse/grammar.y:
25770         * gst/base/gsttypefindhelper.c:
25771         * gst/base/gstbasesink.c:
25772         * gst/gstqueue.c: RPAD fixes.
25773
25774         * gst/gstghostpad.h:
25775         * gst/gstghostpad.c: New ghost pad implementation as full proxy
25776         pads. The tricky thing is they provide both source and sink
25777         interfaces, since they proxy the internal pad for the external
25778         pad, and vice versa. Implement with lower-level ProxyPad objects,
25779         with the interior proxy pad as a child of the exterior ghost pad.
25780         Should write a doc on this.
25781         
25782         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
25783         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
25784         gst_object API.
25785         
25786         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
25787         pads are real pads. No ghost pads in this file. Not documenting
25788         the myriad s/RPAD/PAD/ and REALIZE fixes.
25789         (gst_pad_class_init): Add properties for "direction" and
25790         "template". Both are construct-only, so they can't change during
25791         the life of the pad. Fixes properly deriving from GstPad.
25792         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
25793         derived objects, just set properties when creating the objects via
25794         g_object_new.
25795         (gst_pad_get_parent): Implement as a function, return NULL if the
25796         parent is not an element.
25797         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
25798         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
25799         
25800         * gst/gstobject.c (gst_object_class_init): Make name a construct
25801         property. Don't set it in the object init.
25802
25803         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
25804         with UNKNOWN direction.
25805         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
25806         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
25807         (gst_element_remove_pad): Remove ghost-pad special cases.
25808         (gst_element_pads_activate): Remove rpad cruft.
25809
25810         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
25811         catch the pad's-parent-not-an-element case.
25812
25813         * gst/gst.h: Include gstghostpad.h.
25814
25815         * gst/gst.c (init_post): No more real, ghost pads.
25816
25817         * gst/Makefile.am: Add gstghostpad.[ch].
25818
25819         * check/Makefile.am:
25820         * check/gst/gstbin.c:
25821         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
25822         into a bin creates ghost pads, and that the refcounts are right.
25823         Partly moved from gstbin.c.
25824
25825 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25826
25827         * check/gst-libs/.cvsignore:
25828         * check/gst/.cvsignore:
25829         * check/pipelines/.cvsignore:
25830           ignore more
25831         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
25832         (START_TEST), (cleanup_suite), (main):
25833           add some tests related to cleanup after running pipelines
25834
25835 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25836
25837         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
25838           add a testsuite for GstBuffer
25839
25840 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
25841
25842         * gst/gstminiobject.h:
25843           add defines for accessing the refcount
25844
25845 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
25846
25847         * Makefile.am: added support for html unit test coverage reports
25848
25849 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
25850
25851         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
25852           Free existing caps if the capsfilter changes. Add a FIXME about
25853           setting those caps on the pads.
25854
25855         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
25856           Before adding a ghost pad to a parent bin, check that there isn't
25857           already one for the element on the bin. Prevents infinite recursion
25858           when using decodebin in parse pipelines. Andy says he'll rewrite the
25859           way this works anyway, so ignore the hack.
25860
25861 2005-06-02  Andy Wingo  <wingo@pobox.com>
25862
25863         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
25864         file size, pass it on to the type find helper.
25865
25866         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
25867         segment_start and segment_end properly according to the seek
25868         method. Segment_end is still a bit flaky because offset can be
25869         negative for CUR and END cases, but it takes -1 as an "unset"
25870         value.
25871
25872 2005-06-02  Wim Taymans  <wim@fluendo.com>
25873
25874         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
25875         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
25876         (gst_basesink_activate):
25877         * gst/base/gstbasesink.h:
25878         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
25879         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
25880         (gst_pad_query), (gst_pad_start_task):
25881         * gst/gstpad.h:
25882         * gst/gstqueue.c: (gst_queue_bufferalloc),
25883         (gst_queue_handle_sink_event), (gst_queue_chain):
25884         Bufferalloc: return GstFlowReturn to more accuratly report
25885         why allocation failed.
25886
25887 2005-06-02  Wim Taymans  <wim@fluendo.com>
25888
25889         * gst/gstpipeline.c: (gst_pipeline_send_event):
25890         Take snapshot of state without blocking.
25891
25892 2005-06-02  Wim Taymans  <wim@fluendo.com>
25893
25894         * docs/design/part-TODO.txt:
25895         * docs/design/part-caps.txt:
25896         * docs/design/part-clocks.txt:
25897         * docs/design/part-negotiation.txt:
25898         * docs/design/part-preroll.txt:
25899         Small doc updates 
25900
25901 2005-05-30  Wim Taymans  <wim@fluendo.com>
25902
25903         * gst/elements/gstidentity.c: (gst_identity_event),
25904         (gst_identity_transform), (gst_identity_get_property):
25905         Protect last_message property as it is accessed from
25906         multiple threads.
25907
25908 2005-05-30  Wim Taymans  <wim@fluendo.com>
25909
25910         * gst/gstelement.c: (gst_element_init),
25911         (gst_element_pads_activate), (gst_element_change_state):
25912         Slicker pad activation code.
25913
25914 2005-05-30  Wim Taymans  <wim@fluendo.com>
25915
25916         * gst/Makefile.am:
25917         * gst/gstelement.h:
25918         * gst/gstelementfactory.h:
25919         * gst/gsttypes.h:
25920         Move elementfactory methods to separate .h file.
25921
25922 2005-05-30  Wim Taymans  <wim@fluendo.com>
25923
25924         * docs/design/part-overview.txt:
25925         * gst/gstsystemclock.h:
25926         Small typo fixes, doc updates.
25927
25928 2005-05-30  Wim Taymans  <wim@fluendo.com>
25929
25930         * gst/gst.c: (gst_init_get_popt_table), (init_post),
25931         (init_popt_callback):
25932         Remove cpu-opt flag.
25933
25934 2005-05-30  Wim Taymans  <wim@fluendo.com>
25935
25936         * gst/gstbuffer.c: (gst_subbuffer_finalize),
25937         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
25938         * gst/gstbuffer.h:
25939         Avoid typechecking in places where not needed.
25940         Added accessor for malloc_data.
25941
25942 2005-05-30  Wim Taymans  <wim@fluendo.com>
25943
25944         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
25945         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
25946         (gst_pad_configure_sink), (gst_pad_configure_src),
25947         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
25948         (gst_pad_start_task):
25949         Propagate errors from _set_caps() in configure_src/sink
25950         functions instead of returning TRUE.
25951         FLUSH events can travel up and downstream
25952
25953
25954 2005-05-30  Wim Taymans  <wim@fluendo.com>
25955
25956         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
25957         (gst_basesink_activate):
25958         Handle EOS in preroll.
25959
25960 2005-05-30  Wim Taymans  <wim@fluendo.com>
25961
25962         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
25963         (gst_queue_loop), (gst_queue_handle_src_event):
25964         Remove old pieces of code
25965         Flushing the queue in an upstream event is a very bad idea.
25966
25967 2005-05-26  Andy Wingo  <wingo@pobox.com>
25968
25969         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
25970         gst_value_set_mini_object so as to add a ref on the object (which
25971         will be removed when the value is unset).
25972
25973         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
25974         arg type in ::handoff.
25975
25976         * gst/gstelement.c (gst_element_change_state): Also deactivate
25977         pads in READY->NULL, just in case the element didn't make it to
25978         PAUSED. Wingo tested, Wim approved.
25979
25980 2005-05-26  Wim Taymans  <wim@fluendo.com>
25981
25982         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
25983         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
25984         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
25985         A flushing pad cannot be used to alloc_buffer from.
25986
25987 2005-05-26  Wim Taymans  <wim@fluendo.com>
25988
25989         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
25990         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
25991         (gst_bus_source_dispatch), (gst_bus_source_finalize),
25992         (gst_bus_create_watch), (gst_bus_add_watch_full):
25993         * gst/gstbus.h:
25994         Implement a real GSource and use g_main_context_wakeup() to
25995         signal new messages instead of the socketpair.
25996
25997 2005-05-25  Wim Taymans  <wim@fluendo.com>
25998
25999         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
26000         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
26001         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26002         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
26003         (gst_pad_send_event), (gst_pad_start_task):
26004         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
26005         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
26006         (gst_queue_sink_activate), (gst_queue_src_activate),
26007         (gst_queue_change_state):
26008         * gst/gstqueue.h:
26009         Fix state changes for non sinks. We now change sinks, then elements
26010         with unconnected srcpads, then the rest.
26011         More efficient queue unlocking in flush and state changes.
26012         Set the pad activate mode even if it does not have an activate
26013         function.
26014
26015 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26016
26017         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
26018           Don't go in pull mode for non-seekable sources.
26019         * gst/elements/gsttypefindelement.h:
26020         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
26021         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
26022         (free_entry), (stop_typefinding),
26023         (gst_type_find_element_handle_event), (find_peek),
26024         (gst_type_find_element_chain), (do_pull_typefind),
26025         (gst_type_find_element_change_state):
26026           Allow typefinding (w/o seeking) in push-mode, simplified version
26027           of what was in 0.8.
26028         * gst/gstutils.c: (gst_buffer_join):
26029         * gst/gstutils.h:
26030           gst_buffer_join() from 0.8.
26031
26032 2005-05-25  Wim Taymans  <wim@fluendo.com>
26033
26034         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26035         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
26036         (gst_pad_send_event), (gst_pad_start_task):
26037         Disable attempt at mode switching until it is figured out.
26038
26039 2005-05-25  Wim Taymans  <wim@fluendo.com>
26040
26041         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
26042         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
26043         (gst_basesink_finish_preroll), (gst_basesink_chain),
26044         (gst_basesink_loop), (gst_basesink_activate),
26045         (gst_basesink_change_state):
26046         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
26047         (gst_basesrc_get_range), (gst_basesrc_loop),
26048         (gst_basesrc_activate):
26049         * gst/elements/gsttee.c: (gst_tee_sink_activate):
26050         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
26051         (gst_real_pad_init), (gst_real_pad_set_property),
26052         (gst_real_pad_get_property), (gst_pad_set_active),
26053         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
26054         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
26055         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
26056         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
26057         (gst_pad_event_default_dispatch), (gst_pad_event_default),
26058         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
26059         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
26060         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
26061         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
26062         (gst_pad_stop_task):
26063         * gst/gstpad.h:
26064         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
26065         (gst_queue_loop), (gst_queue_src_activate):
26066         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
26067         (gst_task_get_state):
26068         * gst/gsttask.h:
26069         * gst/schedulers/threadscheduler.c:
26070         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
26071         Implement gst_pad_pause/start/stop_task(), take STREAM lock
26072         in task function.
26073         Remove ACTIVE pad flag, use FLUSHING everywhere
26074         Added _pad_chain(), _pad_get_range() to call chain/getrange 
26075         functions.
26076         Add locks around IS_FLUSHING when reading.
26077         Take STREAM lock in chain(), get_range() functions so plugins
26078         don't need to take it anymore.
26079         
26080
26081
26082 2005-05-25  Wim Taymans  <wim@fluendo.com>
26083
26084         * tools/gst-launch.c: (event_loop):
26085         Unref message after using its contents instead of
26086         before.
26087
26088 2005-05-24  Wim Taymans  <wim@fluendo.com>
26089
26090         * docs/design/draft-ghostpads.txt:
26091         * docs/design/draft-push-pull.txt:
26092         * docs/design/draft-query.txt:
26093         * docs/design/part-overview.txt:
26094         Docs updates, added general overview doc.
26095
26096 2005-05-21  David Schleef  <ds@schleef.org>
26097
26098         * docs/gst/tmpl/old/GstBin.sgml:
26099         * docs/gst/tmpl/old/GstBuffer.sgml:
26100         * docs/gst/tmpl/old/GstCaps.sgml:
26101         * docs/gst/tmpl/old/GstClock.sgml:
26102         * docs/gst/tmpl/old/GstCompat.sgml:
26103         * docs/gst/tmpl/old/GstData.sgml:
26104         * docs/gst/tmpl/old/GstElement.sgml:
26105         * docs/gst/tmpl/old/GstEvent.sgml:
26106         * docs/gst/tmpl/old/GstIndex.sgml:
26107         * docs/gst/tmpl/old/GstStructure.sgml:
26108         * docs/gst/tmpl/old/GstTag.sgml:
26109         * docs/gst/tmpl/old/cothreads.sgml:
26110         * docs/gst/tmpl/old/cothreads_compat.sgml:
26111         * docs/gst/tmpl/old/gettext.sgml:
26112         * docs/gst/tmpl/old/gobject2gtk.sgml:
26113         * docs/gst/tmpl/old/grammar.tab.sgml:
26114         * docs/gst/tmpl/old/gst-i18n-app.sgml:
26115         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
26116         * docs/gst/tmpl/old/gst_private.sgml:
26117         * docs/gst/tmpl/old/gstaggregator.sgml:
26118         * docs/gst/tmpl/old/gstarch.sgml:
26119         * docs/gst/tmpl/old/gstatomic_impl.sgml:
26120         * docs/gst/tmpl/old/gstbufferstore.sgml:
26121         * docs/gst/tmpl/old/gstdata_private.sgml:
26122         * docs/gst/tmpl/old/gstdisksink.sgml:
26123         * docs/gst/tmpl/old/gstdisksrc.sgml:
26124         * docs/gst/tmpl/old/gstelementfactory.sgml:
26125         * docs/gst/tmpl/old/gstextratypes.sgml:
26126         * docs/gst/tmpl/old/gstfakesink.sgml:
26127         * docs/gst/tmpl/old/gstfakesrc.sgml:
26128         * docs/gst/tmpl/old/gstfdsink.sgml:
26129         * docs/gst/tmpl/old/gstfdsrc.sgml:
26130         * docs/gst/tmpl/old/gstfilesink.sgml:
26131         * docs/gst/tmpl/old/gstfilesrc.sgml:
26132         * docs/gst/tmpl/old/gsthttpsrc.sgml:
26133         * docs/gst/tmpl/old/gstidentity.sgml:
26134         * docs/gst/tmpl/old/gstindexfactory.sgml:
26135         * docs/gst/tmpl/old/gstmarshal.sgml:
26136         * docs/gst/tmpl/old/gstmd5sink.sgml:
26137         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
26138         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
26139         * docs/gst/tmpl/old/gstpadtemplate.sgml:
26140         * docs/gst/tmpl/old/gstpipefilter.sgml:
26141         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
26142         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
26143         * docs/gst/tmpl/old/gstshaper.sgml:
26144         * docs/gst/tmpl/old/gstspider.sgml:
26145         * docs/gst/tmpl/old/gstspideridentity.sgml:
26146         * docs/gst/tmpl/old/gststatistics.sgml:
26147         * docs/gst/tmpl/old/gsttee.sgml:
26148         * docs/gst/tmpl/old/gsttimecache.sgml:
26149         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
26150         * docs/gst/tmpl/old/gstxmlregistry.sgml:
26151         * docs/gst/tmpl/old/gthread-cothreads.sgml:
26152         * docs/gst/tmpl/old/types.sgml:
26153           I didn't intend to add these or check them in.
26154
26155 2005-05-19  David Schleef  <ds@schleef.org>
26156
26157         * configure.ac: Use -no-common everywhere.  In a sane world, it
26158           would be the default in libtool, because without it, you can't
26159           build DLLs on Windows.
26160         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
26161         * docs/gst/gstreamer-sections.txt:
26162         * docs/gst/tmpl/gstcpu.sgml:
26163         * docs/gst/tmpl/gstdata.sgml:
26164         * docs/gst/tmpl/gstthread.sgml:
26165
26166 2005-05-19  David Schleef  <ds@schleef.org>
26167
26168         * gst/gstminiobject.c: (gst_value_set_mini_object),
26169         (gst_value_take_mini_object), (gst_value_get_mini_object):
26170         * gst/gstminiobject.h: Add GValue set/get functions.
26171
26172 2005-05-19  Wim Taymans  <wim@fluendo.com>
26173
26174         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
26175         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
26176         (gst_subbuffer_init), (gst_buffer_is_span_fast):
26177         * gst/gstbuffer.h:
26178         * gst/gstbus.c: (gst_bus_post):
26179         * gst/gstelement.c: (gst_element_get_random_pad):
26180         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
26181         Make subbufer unref the parent in finalize.
26182         some more debugging info.
26183
26184
26185 2005-05-19  Wim Taymans  <wim@fluendo.com>
26186
26187         * gst/base/gstbasesink.c: (gst_basesink_class_init),
26188         (gst_basesink_init), (gst_basesink_finalize),
26189         (gst_basesink_activate), (gst_basesink_change_state):
26190         Don't free preroll queue too early.
26191
26192 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26193
26194         * gst/Makefile.am:
26195         * gst/ROADMAP:
26196           Hi, I'm outdated. Please shoot me.
26197
26198 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26199
26200         * gst/gstpipeline.c: (gst_pipeline_send_event):
26201           Do not access variables after they have been deleted.
26202
26203 2005-05-19  Wim Taymans  <wim@fluendo.com>
26204
26205         * tools/gst-inspect.c: (print_plugin_features):
26206         A plugin feature does unfortunatly not use the
26207         object name yet...
26208
26209 2005-05-18  Wim Taymans  <wim@fluendo.com>
26210
26211         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
26212         Port _span() functions to new subbuffers.
26213
26214 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26215
26216         * gst/gstbin.c: (gst_bin_add_func):
26217           Fix clock settery in bins when adding kids after the clock has
26218           been selected.
26219
26220 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26221
26222         * gst/elements/gstidentity.c: (gst_identity_class_init):
26223           Workaround until signals support GstMiniObject.
26224
26225 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
26226
26227         * gst/gstbuffer.c:
26228         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
26229
26230 2005-05-18  Wim Taymans  <wim@fluendo.com>
26231
26232         * gst/base/Makefile.am:
26233         * gst/base/gstadapter.c: (gst_adapter_base_init),
26234         (gst_adapter_class_init), (gst_adapter_init),
26235         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
26236         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
26237         (gst_adapter_flush), (gst_adapter_available),
26238         (gst_adapter_available_fast):
26239         * gst/base/gstadapter.h:
26240         Ported and added adapter to the base classes.
26241
26242 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
26243
26244         * gst/gst.c:
26245         * gst/gstmessage.c:
26246           Make sure the class is reffed/unreffed once before threads can be
26247           used.  Fixes #304551.
26248
26249 2005-05-17  Wim Taymans  <wim@fluendo.com>
26250
26251         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
26252         (gst_basesink_chain_unlocked), (gst_basesink_activate):
26253         * gst/gstminiobject.c: (gst_mini_object_get_type),
26254         (gst_mini_object_free):
26255         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
26256         (gst_pad_push), (gst_pad_push_event):
26257         * gst/gstqueue.c: (gst_queue_change_state):
26258         Don't queue buffers in basesink when we are flushing.
26259         Unref buffer when flushing in basesink.
26260         Flush queue when going to READY
26261         Unref buffer when _push() returns an error.
26262         Don't free MiniObject instance when refcount is incremented
26263         in _finalize() so that we can recover objects.
26264
26265 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
26266
26267         * docs/manual/advanced-schedulers.xml:
26268         * docs/manual/appendix-checklist.xml:
26269         * docs/pwg/advanced-clock.xml:
26270         * docs/pwg/advanced-interfaces.xml:
26271         * docs/pwg/advanced-request.xml:
26272         * docs/pwg/advanced-types.xml:
26273         * docs/pwg/intro-preface.xml:
26274         * examples/plugins/example.c: (gst_example_get_type),
26275         (gst_example_class_init), (gst_example_chain),
26276         (gst_example_set_property), (gst_example_get_property),
26277         (gst_example_change_state), (plugin_init):
26278         * examples/plugins/example.h:
26279           small doc fixes
26280
26281 2005-05-17  Wim Taymans  <wim@fluendo.com>
26282
26283         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
26284         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
26285         * gst/gstqueue.c: (gst_queue_change_state):
26286         Clear queue when going to READY.
26287         Remove IN_SETCAPS flag too.
26288
26289 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
26290
26291         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
26292           Remove implicit cast from gboolean to GstElementStateReturn;
26293           make sure we still return failure in paused => ready case if
26294           the parent class fails to change state and our own stop 
26295           vfunc succeeds.
26296
26297 2005-05-17  Wim Taymans  <wim@fluendo.com>
26298
26299         * tools/gst-launch.c: (event_loop):
26300         Message was unreffed too soon.
26301
26302 2005-05-16  Andy Wingo  <wingo@pobox.com>
26303
26304         * gst/gstbin.c (sink_iterator_filter): Err... um...
26305
26306         * check/gst/gstbin.c (test_ghost_pads): New test for the
26307         ghosting-if-elements-not-in-same-bin behavior.
26308
26309 2005-05-16  David Schleef  <ds@schleef.org>
26310
26311         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
26312         accessing refcount directly.
26313
26314 2005-05-15  David Schleef  <ds@schleef.org>
26315
26316         * check/Makefile.am: remove GstData checks
26317         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
26318         * gst/Makefile.am: add miniobject, remove data
26319         * gst/gst.h: add miniobject, remove data
26320         * gst/gstdata.c: remove
26321         * gst/gstdata.h: remove
26322         * gst/gstdata_private.h: remove
26323         * gst/gsttypes.h: remove GstEvent and GstMessage
26324         * gst/gstelement.c: (gst_element_post_message): fix for API changes
26325         * gst/gstmarshal.list: change BOXED -> OBJECT
26326
26327         Implement GstMiniObject.
26328         * gst/gstminiobject.c:
26329         * gst/gstminiobject.h:
26330
26331         Modify to be subclasses of GstMiniObject.
26332         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
26333         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
26334         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
26335         (gst_subbuffer_get_type), (gst_subbuffer_init),
26336         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
26337         (gst_buffer_span):
26338         * gst/gstbuffer.h:
26339         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
26340         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
26341         (_gst_event_copy), (gst_event_new):
26342         * gst/gstevent.h:
26343         * gst/gstmessage.c: (_gst_message_initialize),
26344         (gst_message_get_type), (gst_message_class_init),
26345         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
26346         (gst_message_new), (gst_message_new_error),
26347         (gst_message_new_warning), (gst_message_new_tag),
26348         (gst_message_new_state_changed), (gst_message_new_application):
26349         * gst/gstmessage.h:
26350         * gst/gstprobe.c: (gst_probe_perform),
26351         (gst_probe_dispatcher_dispatch):
26352         * gst/gstprobe.h:
26353         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
26354         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
26355         (_gst_query_copy), (gst_query_new):
26356
26357         Update elements for GstData -> GstMiniObject changes
26358         * gst/gstquery.h:
26359         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
26360         (gst_queue_chain), (gst_queue_loop):
26361         * gst/elements/gstbufferstore.c:
26362         (gst_buffer_store_add_buffer_func),
26363         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
26364         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
26365         (gst_fakesink_render):
26366         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
26367         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
26368         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
26369         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
26370         (gst_filesrc_create_read):
26371         * gst/elements/gstidentity.c: (gst_identity_class_init):
26372         * gst/elements/gsttypefindelement.c:
26373         (gst_type_find_element_src_event), (free_entry_buffers),
26374         (gst_type_find_element_handle_event):
26375         * libs/gst/dataprotocol/dataprotocol.c:
26376         (gst_dp_header_from_buffer):
26377         * libs/gst/dataprotocol/dataprotocol.h:
26378         * libs/gst/dataprotocol/dp-private.h:
26379
26380 2005-05-15  David Schleef  <ds@schleef.org>
26381
26382         * gst/elements/gstelements.c: Don't include headers that were
26383         just removed.
26384
26385 2005-05-15  David Schleef  <ds@schleef.org>
26386
26387         * gst/elements/Makefile.am: Remove some elements that don't
26388         need to be in the core (or even exist at all).
26389         * gst/elements/gstaggregator.c:
26390         * gst/elements/gstaggregator.h:
26391         * gst/elements/gstmd5sink.c:
26392         * gst/elements/gstmd5sink.h:
26393         * gst/elements/gstmultifilesrc.c:
26394         * gst/elements/gstmultifilesrc.h:
26395         * gst/elements/gstpipefilter.c:
26396         * gst/elements/gstpipefilter.h:
26397         * gst/elements/gstshaper.c:
26398         * gst/elements/gstshaper.h:
26399         * gst/elements/gststatistics.c:
26400         * gst/elements/gststatistics.h:
26401         * po/POTFILES.in: Remove above files.
26402
26403 2005-05-14  Andy Wingo  <wingo@pobox.com>
26404
26405         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
26406         so as to get the refs right.
26407         (sink_iterator_filter): New function, wraps bin_element_is_sink,
26408         unreffing objects that don't pass the filter.
26409
26410         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
26411         gst_element_set_bus.
26412         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
26413         normal cases, this will destroy the bus.
26414
26415         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
26416         object.
26417
26418         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
26419         has no sinks.
26420
26421 2005-05-13  Andy Wingo  <wingo@pobox.com>
26422
26423         * gst/gstutils.c (gst_element_link_pads): Instead of calling
26424         gst_pad_link, call pad_link_maybe_ghosting,
26425         (pad_link_maybe_ghosting): Links pads, making sure that the
26426         elements being linked are in the same bin.
26427         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
26428         Helpers for pad_link_maybe_ghosting.
26429
26430 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
26431
26432         * configure.ac:
26433           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
26434
26435 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
26436
26437         * docs/design/part-element-source.txt:
26438           Mention GstPushSrc
26439
26440 2005-05-12  Wim Taymans  <wim@fluendo.com>
26441
26442         * gst/base/gstbasesink.c: (gst_basesink_init),
26443         (gst_basesink_activate):
26444         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
26445         (gst_basesrc_is_seekable):
26446         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
26447         (bin_element_is_sink), (gst_bin_change_state):
26448         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
26449         * gst/gstelement.h:
26450         Identify sinks by their flag to avoid overly complicated
26451         checks (fow now).
26452         Do state changes even for elements not reachable from the
26453         sinks.
26454         BaseSink is a sink now :)
26455         Some more debugging info in the basesrc.
26456
26457
26458 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26459
26460         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
26461           Implement _query on a bin, similar to _send_event.
26462
26463 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
26464
26465         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
26466           Discont event offset format should be GST_FORMAT_BYTES,
26467           not GST_FORMAT_TIME.
26468
26469 2005-05-12  Wim Taymans  <wim@fluendo.com>
26470
26471         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
26472         Same fix as Ronald's but without the signal. 
26473
26474 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26475
26476         * gst/gstutils.c: (gst_element_query_position):
26477           No, an element is not a pad.
26478
26479 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26480
26481         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
26482         (gst_bin_get_state):
26483           If a child is removed from a bin while we remove the child from
26484           the bin and while we're retrieving its state, signal this to the
26485           get_state function so we abort the wait (instead of waiting for
26486           a timeout) and can immediately re-iterate over all other elements.
26487
26488 2005-05-12  Wim Taymans  <wim@fluendo.com>
26489
26490         * gst/base/Makefile.am:
26491         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
26492         (gst_basesrc_start):
26493         * gst/base/gstbasesrc.h:
26494         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
26495         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
26496         (gst_pushsrc_init), (gst_pushsrc_create):
26497         * gst/base/gstpushsrc.h:
26498         Added is_seekable to BaseSrc
26499         Added simple PushSrc.
26500
26501 2005-05-11  Wim Taymans  <wim@fluendo.com>
26502
26503         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
26504         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26505         (gst_element_link_pads), (gst_element_query_position),
26506         (gst_element_query_convert), (intersect_caps_func),
26507         (gst_pad_query_position), (gst_pad_query_convert):
26508         Fix refcounting in utils function.
26509         No point in trying to activate a pad when it's added, it could
26510         be added from the state change function and then we deadlock, the
26511         element has to decide what to do.
26512
26513 2005-05-10  Andy Wingo  <wingo@pobox.com>
26514
26515         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
26516         *all* the arguments.
26517
26518         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
26519         stream lock if it's a FLUSH_DONE; normal flushes don't get the
26520         lock (according to the docs -- if this is wrong change the docs).
26521
26522         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
26523         flush messages in the NULL state.
26524
26525         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
26526         message immediately and return.
26527         (gst_bus_set_flushing): New function. If a bus is flushing, it
26528         flushes out any queued messages and immediately unrefs new
26529         messages. This is so when an element goes to NULL, all of the
26530         unhandled messages coming from it can be freed, and their
26531         references to the element dropped. In other words: message source
26532         ref considered harmful :P
26533
26534         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
26535         we're finished with it.
26536
26537         * gst/gstmessage.c (gst_message_new_state_changed): 
26538
26539 2005-05-10  Wim Taymans  <wim@fluendo.com>
26540
26541         * gst/gstvalue.c: (gst_value_compare_flags),
26542         (gst_value_serialize_flags), (gst_value_deserialize_flags),
26543         (_gst_value_initialize):
26544         Added flags serialize/deserialize/compare code.
26545
26546 2005-05-09  Andy Wingo  <wingo@pobox.com>
26547
26548         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
26549         Intersect the peer's caps with our caps.
26550
26551 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26552
26553         * gst/base/gsttypefindhelper.c: (helper_find_peek):
26554         * gst/elements/gsttypefindelement.c: (find_peek):
26555           Handle negative offsets better. Fixes decodebin.
26556
26557 2005-05-09  Wim Taymans  <wim@fluendo.com>
26558
26559         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
26560         (gst_base_transform_event):
26561         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
26562         Implement accept_caps.
26563         Fix silly lock/unlock mismatch in base class.
26564
26565 2005-05-09  Wim Taymans  <wim@fluendo.com>
26566
26567         * docs/design/draft-push-pull.txt:
26568         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
26569         * gst/elements/gstfilesink.c: (gst_filesink_init),
26570         (gst_filesink_query):
26571         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
26572         (gst_type_find_handle_src_query), (find_element_get_length):
26573         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
26574         * gst/gstelement.h:
26575         * gst/gstmessage.c:
26576         * gst/gstmessage.h:
26577         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
26578         (gst_real_pad_get_caps_unlocked),
26579         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
26580         (gst_pad_event_default_dispatch), (gst_pad_event_default),
26581         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
26582         (gst_real_pad_dispose), (gst_real_pad_finalize),
26583         (gst_pad_load_and_link), (gst_pad_save_thyself),
26584         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
26585         (gst_pad_check_pull_range), (gst_pad_pull_range),
26586         (gst_pad_template_get_type), (gst_pad_template_class_init),
26587         (gst_pad_template_init), (gst_pad_template_dispose),
26588         (name_is_valid), (gst_static_pad_template_get),
26589         (gst_pad_template_new), (gst_static_pad_template_get_caps),
26590         (gst_pad_template_get_caps), (gst_pad_set_element_private),
26591         (gst_pad_get_element_private), (gst_pad_start_task),
26592         (gst_pad_pause_task), (gst_pad_stop_task),
26593         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
26594         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
26595         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
26596         (gst_ghost_pad_new):
26597         * gst/gstpad.h:
26598         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
26599         (gst_query_new_position), (gst_query_set_position),
26600         (gst_query_parse_position), (gst_query_new_convert),
26601         (gst_query_set_convert), (gst_query_parse_convert):
26602         * gst/gstquery.h:
26603         * gst/gstqueryutils.c:
26604         * gst/gstqueryutils.h:
26605         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
26606         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
26607         (gst_queue_handle_src_query):
26608         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26609         (gst_element_query_position), (gst_element_query_convert),
26610         (intersect_caps_func), (gst_pad_query_position),
26611         (gst_pad_query_convert):
26612         * gst/gstutils.h:
26613         * tools/gst-inspect.c: (print_pad_info):
26614         * tools/gst-xmlinspect.c: (print_element_info):
26615         Remove old query functions. Ported old code.
26616         Added position/convert helper functions to gstutils.
26617         Reordered gstpad.c code, grouping relevant things.
26618         Remove gst_message_new(), always need to speficy a specific
26619         message.
26620
26621
26622 2005-05-09  Andy Wingo  <wingo@pobox.com>
26623
26624         * gst/gstiterator.h: Add some includes.
26625
26626         * gst/gstqueryutils.h: Include more headers.
26627
26628         * gst/gstpad.h:
26629         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
26630         some uses of gst_pad_query.
26631
26632         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
26633         NULL out parameters.
26634         (gst_query_new_position): New proc, allocates a new position
26635         query.
26636
26637         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
26638         gstqueryutils.c to the build.
26639
26640         * gst/gststructure.c (gst_structure_set_valist): Implement with
26641         the generic G_VALUE_COLLECT.
26642         
26643 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
26644
26645         * gst/Makefile.am: (gst_headers):
26646         Added gstqueryutils.h to the list of headers to install, that was
26647         a 'nachty' move wingo :)
26648
26649 2005-05-06  Andy Wingo  <wingo@pobox.com>
26650
26651         * gst/gstquery.h
26652         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
26653         GstData, init a memchunk.
26654         (standard_definitions): Add a few query types, deprecate a few.
26655         (gst_query_get_type): New proc.
26656         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
26657         implementation.
26658         (gst_query_new_application, gst_query_get_structure): New public
26659         procs.
26660
26661         * docs/design/draft-query.txt: Removed LINKS from the query types,
26662         because all the rest can be dispatched to other pads -- seemed
26663         ugly to have a query that couldn't be dispatched. internal_links
26664         is fine as a pad method.
26665
26666         * gst/gstpad.h: Add query2 as a pad method, add the new functions
26667         in gstpad.c, but maintain binary compatibility for the moment.
26668         Will fix before 0.9 is out.
26669
26670         * gst/gstqueryutils.c: 
26671         * gst/gstqueryutils.h: New files, implement 3 methods for each
26672         query type: parse_query, parse_response, and set. Probably need an
26673         allocator as well.
26674
26675         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
26676
26677         * gst/elements/gstfilesink.c (gst_filesink_query2):
26678         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
26679         query_types, and formats methods.
26680
26681         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
26682         (gst_pad_set_query2_function): New functions.
26683         (gst_real_pad_init): Set query2_default as the default query2
26684         function. Basically just dispatches to internally linked pads.
26685
26686         Needs review!
26687         
26688         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
26689         without using the atomic operations. Only one thread can possibly
26690         be accessing the data at this point. Changed so as to avoid
26691         gst_atomic operations.
26692
26693 2005-05-06  Wim Taymans  <wim@fluendo.com>
26694
26695         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
26696         Also set caps if we use the fallback buffer alloc.
26697
26698 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
26699
26700         * docs/gst/Makefile.am:
26701         * docs/gst/gstreamer-docs.sgml:
26702         * docs/gst/gstreamer-sections.txt:
26703         * docs/gst/tmpl/gstatomic.sgml:
26704         * docs/gst/tmpl/gstmemchunk.sgml:
26705         * testsuite/elements/struct_i386.h:
26706         * win32/GStreamer.vcproj:
26707         * win32/Makefile:
26708           Purge GstAtomic stuff from docs and win32 makefiles as well
26709
26710 2005-05-06  Wim Taymans  <wim@fluendo.com>
26711
26712         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
26713         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
26714         * gst/gstpad.c: (gst_pad_peer_get_caps):
26715         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
26716         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
26717         (gst_queue_src_activate), (gst_queue_change_state):
26718         * gst/gstqueue.h:
26719         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26720         (intersect_caps_func):
26721         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
26722         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
26723         Some fixes for the peer_get_caps() change.
26724
26725 2005-05-06  Wim Taymans  <wim@fluendo.com>
26726
26727         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
26728         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
26729         (gst_basesink_activate):
26730         Actually do something with error codes returned from the push
26731         functions.
26732
26733 2005-05-06  Wim Taymans  <wim@fluendo.com>
26734
26735         * docs/design/part-element-sink.txt:
26736         * docs/design/part-element-source.txt:
26737         * gst/base/gstbasesink.c: (gst_basesink_class_init),
26738         (gst_basesink_event), (gst_basesink_activate):
26739         * gst/base/gstbasesink.h:
26740         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
26741         (gst_basesrc_activate):
26742         * gst/base/gstbasesrc.h:
26743         * gst/gstelement.c: (gst_element_pads_activate):
26744         Some more documentation.
26745         Fixed scheduling decision in _pads_activate().
26746
26747 2005-05-05  Andy Wingo  <wingo@pobox.com>
26748
26749         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
26750         the test suite.
26751
26752 2005-05-05  Wim Taymans  <wim@fluendo.com>
26753
26754         * gst/base/Makefile.am:
26755         * gst/base/gstbasesink.h:
26756         * gst/base/gstbasesrc.c: (gst_basesrc_init),
26757         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
26758         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
26759         (gst_collectpads_class_init), (gst_collectpads_init),
26760         (gst_collectpads_finalize), (gst_collectpads_new),
26761         (gst_collectpads_set_function), (gst_collectpads_add_pad),
26762         (find_pad), (gst_collectpads_remove_pad),
26763         (gst_collectpads_is_active), (gst_collectpads_collect),
26764         (gst_collectpads_collect_range), (gst_collectpads_start),
26765         (gst_collectpads_stop), (gst_collectpads_peek),
26766         (gst_collectpads_pop), (gst_collectpads_available),
26767         (gst_collectpads_read), (gst_collectpads_flush),
26768         (gst_collectpads_chain):
26769         * gst/base/gstcollectpads.h:
26770         * gst/elements/Makefile.am:
26771         * gst/elements/gstelements.c:
26772         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
26773         (gst_fakesink_get_times), (gst_fakesink_event),
26774         (gst_fakesink_preroll), (gst_fakesink_render):
26775         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
26776         (gst_filesink_init), (gst_filesink_set_location),
26777         (gst_filesink_open_file), (gst_filesink_close_file),
26778         (gst_filesink_pad_query), (gst_filesink_event),
26779         (gst_filesink_render), (gst_filesink_change_state):
26780         * gst/elements/gstfilesink.h:
26781         Added object to help in making collect pad based elements.
26782         Ported filesink.
26783         Make event function in sink baseclass return gboolean.
26784
26785 2005-05-05  Wim Taymans  <wim@fluendo.com>
26786
26787         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
26788         (gst_bin_get_by_name):
26789         * gst/gstbuffer.h:
26790         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
26791         (gst_clock_finalize):
26792         * gst/gstdata.c: (gst_data_replace):
26793         * gst/gstdata.h:
26794         * gst/gstelement.c: (gst_element_request_pad),
26795         (gst_element_pads_activate):
26796         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
26797         (gst_object_unref):
26798         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26799         (gst_pad_set_checkgetrange_function),
26800         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
26801         (gst_pad_check_pull_range), (gst_pad_pull_range),
26802         (gst_static_pad_template_get_caps), (gst_pad_start_task),
26803         (gst_pad_pause_task), (gst_pad_stop_task):
26804         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26805         (gst_element_request_pad), (gst_pad_proxy_getcaps):
26806         Fix name lookup in GstBin.
26807         Added _data_replace() function and _buffer_replace()
26808         Use finalize method to clean up clock.
26809         Fix refcounting on request pads.
26810         Fix pad schedule mode error.
26811         Some more object refcounting debug info,
26812
26813
26814 2005-05-04  Andy Wingo <wingo@pobox.com>
26815
26816         * check/Makefile.am:
26817         * docs/gst/tmpl/gstatomic.sgml:
26818         * docs/gst/tmpl/gstplugin.sgml:
26819         * gst/base/gstbasesink.c: (gst_basesink_activate):
26820         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
26821         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
26822         (gst_basesrc_query), (gst_basesrc_set_property),
26823         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
26824         (gst_basesrc_activate):
26825         * gst/base/gstbasesrc.h:
26826         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
26827         (gst_base_transform_src_activate):
26828         * gst/elements/gstelements.c:
26829         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
26830         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
26831         * gst/elements/gsttee.c: (gst_tee_sink_activate):
26832         * gst/elements/gsttypefindelement.c: (find_element_get_length),
26833         (gst_type_find_element_checkgetrange),
26834         (gst_type_find_element_activate):
26835         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
26836         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
26837         (gst_caps_load_thyself):
26838         * gst/gstelement.c: (gst_element_pads_activate),
26839         (gst_element_save_thyself), (gst_element_restore_thyself):
26840         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
26841         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
26842         * gst/gstpad.h:
26843         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
26844         (gst_xml_parse_file), (gst_xml_parse_memory),
26845         (gst_xml_get_element), (gst_xml_make_element):
26846         * gst/indexers/gstfileindex.c: (gst_file_index_load),
26847         (_file_index_id_save_xml), (gst_file_index_commit):
26848         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
26849         (read_enum), (load_pad_template), (load_feature), (load_plugin),
26850         (load_paths):
26851         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
26852         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
26853         * tools/gst-complete.c: (main):
26854         * tools/gst-compprep.c: (main):
26855         * tools/gst-inspect.c: (print_element_properties_info):
26856         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
26857         * tools/gst-xmlinspect.c: (print_element_properties):
26858         GCC 4 fixen.
26859         
26860 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
26861
26862         * gst/gstplugin.c: (gst_plugin_check_module),
26863         (gst_plugin_check_file), (gst_plugin_load_file):
26864             apply patch from #172526 to make register work on MacOSX
26865
26866 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26867
26868         * docs/gst/tmpl/gstconfig.sgml:
26869         * gst/gstconfig.h.in:
26870           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
26871         * testsuite/debug/printf_extension.c: (main):
26872           Do not use GST_PTR_FORMAT on pointers to types with
26873           sizeof < sizeof(gpointer).  Fixes test on 64-bit
26874         * testsuite/elements/property.h:
26875           use correct printf format
26876
26877 2005-05-02  Wim Taymans  <wim@fluendo.com>
26878
26879         * docs/design/draft-push-pull.txt:
26880         * docs/design/draft-query.txt:
26881         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
26882         (gst_basesrc_start):
26883         Added draft for new query API.
26884         Added draft for better selecting scheduling methods.
26885         Make basesrc ignore length if the subclass does not support
26886         it.
26887
26888 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26889
26890         * gst/Makefile.am:
26891           possible fixes for automake-1.5 - _LIBADD is reserved
26892
26893 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
26894
26895         * docs/faq/Makefile.am:
26896         * docs/manual/Makefile.am:
26897         * docs/manuals.mak:
26898         * docs/pwg/Makefile.am:
26899         * gst/Makefile.am:
26900           possible fixes for automake-1.5
26901
26902 2005-04-28  Wim Taymans  <wim@fluendo.com>
26903
26904         * gst/base/gstbasesink.c: (gst_basesink_base_init),
26905         (gst_basesink_pad_getcaps), (gst_basesink_init),
26906         (gst_basesink_do_sync):
26907         * gst/gstclock.c: (gst_clock_entry_new):
26908         * gst/gstevent.c: (gst_event_discont_get_value):
26909         * gst/gstpipeline.c: (pipeline_bus_handler),
26910         (gst_pipeline_change_state):
26911         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
26912         Better debugging of clocking info.
26913         Allow NULL values when getting discont values.
26914
26915 2005-04-27  Wim Taymans  <wim@fluendo.com>
26916
26917         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
26918         * check/gst/gstpad.c: (gst_pad_suite):
26919         Increase timeout for checks.
26920
26921 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
26922
26923         * check/Makefile.am:
26924           fix the broken rule for cleanup.  Apparently this rule is
26925           only needed on FC2, so maybe this warrants further autotool
26926           inspection.
26927
26928 2005-04-26  Wim Taymans  <wim@fluendo.com>
26929
26930         * gst/gsttrashstack.h:
26931         Ooohh. a nasty one! After having a failed pop() from the stack,
26932         it's possible that the stack is empty. In that case, don't
26933         follow the NULL pointer.
26934
26935 2005-04-25  Wim Taymans  <wim@fluendo.com>
26936
26937         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26938         (gst_pad_set_checkgetrange_function),
26939         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
26940         (gst_pad_check_pull_range), (gst_pad_pull_range),
26941         (gst_static_pad_template_get_caps), (gst_pad_start_task),
26942         (gst_pad_pause_task), (gst_pad_stop_task):
26943         * gst/gstplugin.c: (gst_plugin_load):
26944         * gst/gstplugin.h:
26945         Remove gst_library_load as it does more harm than good with
26946         the new g_module flags.
26947         Revert bogus caps template check in pad linking, pad caps
26948         are important when linking not the template, which is more
26949         general than the current caps.
26950
26951 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26952
26953         * gst/autoplug/.cvsignore:
26954         * gst/autoplug/Makefile.am:
26955         * gst/autoplug/gstsearchfuncs.c:
26956         * gst/autoplug/gstsearchfuncs.h:
26957         * gst/autoplug/gstspider.c:
26958         * gst/autoplug/gstspider.h:
26959         * gst/autoplug/gstspideridentity.c:
26960         * gst/autoplug/gstspideridentity.h:
26961         * gst/autoplug/spidertest.c:
26962           Die, spider, die.
26963
26964 2005-04-25  Wim Taymans  <wim@fluendo.com>
26965
26966         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
26967         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
26968         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
26969         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
26970         * gst/gstpad.h:
26971         Added stubs for unimplemented functions. 
26972
26973 2005-04-24  David Schleef  <ds@schleef.org>
26974
26975         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
26976         please fix.
26977
26978 2005-04-24  David Schleef  <ds@schleef.org>
26979
26980         Convert everything from GstAtomicInt to g_atomic_int_*, and
26981         remove gstatomic.
26982         * gst/Makefile.am:
26983         * gst/gstatomic.c:
26984         * gst/gstatomic.h:
26985         * gst/gstatomic_impl.h:
26986         * gst/gstbuffer.c:
26987         * gst/gstcaps.c:
26988         * gst/gstcaps.h:
26989         * gst/gstclock.c:
26990         * gst/gstclock.h:
26991         * gst/gstdata.c:
26992         * gst/gstdata.h:
26993         * gst/gstdata_private.h:
26994         * gst/gstevent.c:
26995         * gst/gstinfo.c:
26996         * gst/gstinfo.h:
26997         * gst/gstmessage.c:
26998         * gst/gstobject.c:
26999         * gst/gstobject.h:
27000         * gst/gststructure.c:
27001         * gst/gststructure.h:
27002         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
27003         * gst/gstutils.h:
27004
27005 2005-04-24  David Schleef  <ds@schleef.org>
27006
27007         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
27008         make the regressions tests work.  Remove some code that is no
27009         longer true.
27010         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
27011         Disable warning for pads without templates.
27012
27013 2005-04-24  David Schleef  <ds@schleef.org>
27014
27015         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
27016         functions that handle filtered links.
27017         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
27018         removed functions.
27019         * gst/gstutils.c: Fix/remove utility functions that handle
27020         filtered caps.
27021         * gst/gstutils.h:
27022         * gst/gstvalue.c: Add serialization/deserialization of caps
27023         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
27024         requires fixing so that the filter caps notation creates
27025         a capsfilter element and sets the filter_caps property.  I
27026         think everyone probably wants to keep the shorthand notation.
27027         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
27028         * docs/gst/tmpl/gstpad.sgml:
27029
27030         * gst/elements/gstelements.c: Register capsfilter element.
27031         * gst/Makefile.am: fix spacing
27032         * docs/random/ds/0.9-suggested-changes: random
27033
27034 2005-04-23  David Schleef  <ds@schleef.org>
27035
27036         * gst/elements/Makefile.am:
27037         * gst/elements/gstcapsfilter.c: New element that acts like an
27038         identity, but filters caps.  Will eventually replace filtered
27039         caps in pad linking.
27040         * gst/gstutils.c: (gst_element_create_all_pads): New function
27041         to create all the ALWAYS pads that are registered with an
27042         element class.  This functionality should eventually be
27043         merged in with GstElement initialization.
27044         * gst/gstutils.h:
27045         * testsuite/trigger/README: part of trigger test code that should
27046         have been checked in a long time ago.
27047
27048 2005-04-23  David Schleef  <ds@schleef.org>
27049
27050         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
27051         needed with new versions of libtool (nobody will confirm this),
27052         and hard to carry around.
27053         * gst/autoplug/Makefile.am:
27054         * gst/base/Makefile.am:
27055         * gst/elements/Makefile.am:
27056         * gst/indexers/Makefile.am:
27057         * gst/schedulers/Makefile.am:
27058         * libs/gst/bytestream/Makefile.am:
27059         * libs/gst/control/Makefile.am:
27060         * libs/gst/dataprotocol/Makefile.am:
27061         * libs/gst/getbits/Makefile.am:
27062
27063 2005-04-21  Wim Taymans  <wim@fluendo.com>
27064
27065         * docs/design/draft-push-pull.txt:
27066         * docs/design/part-MT-refcounting.txt:
27067         * docs/design/part-TODO.txt:
27068         * docs/design/part-caps.txt:
27069         * docs/design/part-events.txt:
27070         * docs/design/part-gstbus.txt:
27071         * docs/design/part-gstpipeline.txt:
27072         * docs/design/part-messages.txt:
27073         * docs/design/part-push-pull.txt:
27074         * docs/design/part-query.txt:
27075         Some more docs.
27076
27077 2005-04-21  Wim Taymans  <wim@fluendo.com>
27078
27079         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
27080         (gst_message_new), (gst_message_new_error),
27081         (gst_message_new_warning), (gst_message_new_tag),
27082         (gst_message_new_state_changed), (gst_message_new_application),
27083         (gst_message_get_structure):
27084         * gst/gstmessage.h:
27085         * gst/gststructure.c: (gst_structure_set_parent_refcount),
27086         (gst_structure_copy_conditional):
27087         Use parent refcount in GstMessage to ensure GstStructure
27088         consistency.
27089         Cleaned up headers a bit.
27090         
27091
27092 2005-04-20  Wim Taymans  <wim@fluendo.com>
27093
27094         * gst/base/gstbasesink.c: (gst_basesink_base_init),
27095         (gst_basesink_pad_getcaps), (gst_basesink_init),
27096         (gst_basesink_chain_unlocked):
27097         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
27098         (gst_type_find_helper):
27099         * gst/elements/gsttypefindelement.c:
27100         (gst_type_find_element_have_type), (gst_type_find_element_init),
27101         (stop_typefinding), (gst_type_find_element_handle_event),
27102         (find_suggest), (gst_type_find_element_chain),
27103         (gst_type_find_element_checkgetrange),
27104         (gst_type_find_element_getrange), (do_typefind),
27105         (gst_type_find_element_activate):
27106         * gst/gstbuffer.c: (_gst_buffer_sub_free),
27107         (gst_buffer_default_free), (gst_buffer_default_copy),
27108         (gst_buffer_set_caps):
27109         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
27110         (gst_caps_replace):
27111         * gst/gstmessage.c: (gst_message_new),
27112         (gst_message_new_state_changed):
27113         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27114         (gst_pad_set_checkgetrange_function),
27115         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
27116         (gst_pad_set_caps), (gst_pad_check_pull_range),
27117         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
27118         * gst/gstpad.h:
27119         * gst/gsttypefind.c: (gst_type_find_register):
27120         Make gst_caps_replace() work like other _replace() functions.
27121         Use _caps_replace() where possible.
27122         Make sure _message_new() initialises its field.
27123         Add gst_static_pad_template_get_caps()
27124
27125
27126 2005-04-18  Andy Wingo  <wingo@pobox.com>
27127
27128         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
27129         on the peer, not the pad. I think that was a typo. Pass an extra
27130         arg to see if random access is possible. Activate the pads as
27131         PULL_RANGE if possible.
27132
27133         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
27134
27135         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
27136         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
27137         to PROP_....
27138
27139 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27140
27141         * docs/faq/using.xml:
27142           Add note on gstreamer-properties (#154996).
27143
27144 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27145
27146         * docs/random/bbb/optional-properties:
27147           Some analysis on optional properties.
27148
27149 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27150
27151         * docs/gst/tmpl/gstelementfactory.sgml:
27152         * gst/gstelement.h:
27153         * gst/gstelementfactory.c: (gst_element_factory_init),
27154         (gst_element_factory_cleanup), (gst_element_register),
27155         (__gst_element_factory_add_static_pad_template),
27156         (gst_element_factory_get_static_pad_templates),
27157         (gst_element_factory_can_src_caps),
27158         (gst_element_factory_can_sink_caps):
27159         * gst/registries/Makefile.am:
27160         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
27161         (gst_xml_registry_class_init), (gst_xml_registry_init),
27162         (gst_xml_registry_new), (gst_xml_registry_set_property),
27163         (gst_xml_registry_get_property), (get_time), (make_dir),
27164         (gst_xml_registry_get_perms_func),
27165         (plugin_times_older_than_recurse), (plugin_times_older_than),
27166         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
27167         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
27168         (add_to_char_array), (read_string), (read_uint), (read_enum),
27169         (load_pad_template), (load_feature), (load_plugin), (load_paths),
27170         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
27171         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
27172         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
27173         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
27174         (gst_xml_registry_rebuild):
27175         * gst/registries/gstlibxmlregistry.h:
27176         * tools/gst-compprep.c: (main):
27177         * tools/gst-inspect.c: (print_pad_templates_info):
27178         * tools/gst-xmlinspect.c: (print_element_info):
27179           Use libxml2 for registry parsing, use staticpadtemplates in
27180           elementfactories. Makes gst_init() +/- 10x faster.
27181
27182 2005-04-12  Wim Taymans  <wim@fluendo.com>
27183
27184         * gst/base/Makefile.am:
27185         * gst/base/gstbasesink.c: (gst_basesink_base_init),
27186         (gst_basesink_pad_getcaps), (gst_basesink_init),
27187         (gst_basesink_event), (gst_basesink_change_state):
27188         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27189         (gst_basesrc_init), (gst_basesrc_query),
27190         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
27191         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
27192         (gst_basesrc_check_get_range), (gst_basesrc_loop),
27193         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
27194         (gst_basesrc_stop), (gst_basesrc_activate),
27195         (gst_basesrc_change_state):
27196         * gst/base/gsttypefindhelper.c: (helper_find_peek),
27197         (helper_find_suggest), (gst_type_find_helper):
27198         * gst/base/gsttypefindhelper.h:
27199         * gst/elements/Makefile.am:
27200         * gst/elements/gstelements.c:
27201         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
27202         (gst_fakesink_get_times), (gst_fakesink_event),
27203         (gst_fakesink_preroll), (gst_fakesink_render):
27204         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27205         (gst_fakesrc_init), (gst_fakesrc_event_handler),
27206         (gst_fakesrc_get_property), (gst_fakesrc_create),
27207         (gst_fakesrc_start), (gst_fakesrc_stop):
27208         * gst/elements/gstfakesrc.h:
27209         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
27210         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
27211         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
27212         (gst_filesrc_create_read), (gst_filesrc_create),
27213         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
27214         (gst_filesrc_start):
27215         * gst/elements/gsttypefindelement.c:
27216         (gst_type_find_element_have_type), (gst_type_find_element_init),
27217         (start_typefinding), (stop_typefinding), (push_buffer_store),
27218         (gst_type_find_element_handle_event),
27219         (gst_type_find_element_chain),
27220         (gst_type_find_element_checkgetrange),
27221         (gst_type_find_element_getrange), (do_typefind),
27222         (gst_type_find_element_activate),
27223         (gst_type_find_element_change_state):
27224         * gst/elements/gsttypefindelement.h:
27225         * gst/gstpipeline.c: (pipeline_bus_handler):
27226         Added typefind helper.
27227         Small preroll fix in the base sink.
27228         Disable typefind code in basesrc.
27229         Crude port of typefindelement.
27230         Fakesrc cleanups.
27231
27232
27233 2005-04-11  Wim Taymans  <wim@fluendo.com>
27234
27235         * check/gst/gstbus.c: (gstbus_suite):
27236         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
27237         * check/gstcheck.h:
27238           Fix up the timeout so that the test does not fail.
27239
27240 2005-04-06  Wim Taymans  <wim@fluendo.com>
27241
27242         * gst/base/README:
27243         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27244         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
27245         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
27246         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
27247         (gst_basesrc_check_get_range), (gst_basesrc_loop),
27248         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
27249         (gst_basesrc_stop), (gst_basesrc_activate),
27250         (gst_basesrc_change_state), (basesrc_find_peek),
27251         (basesrc_find_suggest), (gst_basesrc_type_find):
27252         * gst/base/gstbasesrc.h:
27253         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
27254         (gst_filesrc_class_init), (gst_filesrc_init),
27255         (gst_filesrc_finalize), (gst_filesrc_set_location),
27256         (gst_filesrc_set_property), (gst_filesrc_get_property),
27257         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
27258         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
27259         (gst_filesrc_create_read), (gst_filesrc_create),
27260         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
27261         * gst/elements/gstfilesrc.h:
27262         * gst/gstelement.c: (gst_element_get_state_func),
27263         (gst_element_lost_state), (gst_element_pads_activate):
27264         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27265         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
27266         (gst_pad_pull_range):
27267         * gst/gstpad.h:
27268         More work on the generic source base class, implement seeking,
27269         query.
27270         Make filesrc extend the base source class.
27271         Added gst_pad_set_checkgetrange_function to GstPad.
27272
27273 2005-04-06  Andy Wingo  <wingo@pobox.com>
27274
27275         * pkgconfig/gstreamer-base.pc.in:
27276         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
27277
27278         * pkgconfig/Makefile.am:
27279         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
27280
27281 2005-04-04  Wim Taymans  <wim@fluendo.com>
27282
27283         * gst/base/Makefile.am:
27284         * gst/base/README:
27285         * gst/base/gstbasesink.c: (gst_basesink_base_init),
27286         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
27287         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
27288         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
27289         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27290         (gst_basesrc_base_init), (gst_basesrc_class_init),
27291         (gst_basesrc_init), (gst_basesrc_get_formats),
27292         (gst_basesrc_get_query_types), (gst_basesrc_query),
27293         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
27294         (gst_basesrc_set_property), (gst_basesrc_get_property),
27295         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
27296         (gst_basesrc_loop), (gst_basesrc_activate),
27297         (gst_basesrc_change_state):
27298         * gst/base/gstbasesrc.h:
27299         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
27300         (gst_fakesrc_class_init), (gst_fakesrc_init),
27301         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
27302         (gst_fakesrc_get_property), (gst_fakesrc_create):
27303         * gst/elements/gstfakesrc.h:
27304         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
27305         (gst_filesrc_open_file), (gst_filesrc_loop),
27306         (gst_filesrc_activate), (filesrc_find_peek),
27307         (gst_filesrc_type_find):
27308         Made base source class, make fakesrc extend it.
27309         Add comments to basesink class.
27310         Some filesrc cleanup.
27311
27312 2005-03-31  David Schleef  <ds@schleef.org>
27313
27314         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
27315         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
27316         expected to link against libgstreamer.
27317         * gst/base/Makefile.am: link against libgstreamer
27318         * gst/elements/Makefile.am: same
27319
27320 2005-03-31  Andy Wingo  <wingo@pobox.com>
27321
27322         * tests/instantiate/Makefile.am:
27323         * tests/instantiate/caps.c: Add test to test speed of caps copy
27324         and free.
27325
27326         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
27327         GMemChunk to be fair.
27328
27329         * gst/gsttrashstack.h: Remove warning about using the fallback
27330         trash stack implementation, it's still faster than malloc.
27331
27332 2005-03-30  Andy Wingo  <wingo@pobox.com>
27333
27334         * tests/complexity.c: Add a copyright.
27335
27336 2005-03-31  Wim Taymans  <wim@fluendo.com>
27337
27338         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
27339         (gst_base_transform_class_init), (gst_base_transform_init),
27340         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
27341         (gst_base_transform_get_property),
27342         (gst_base_transform_sink_activate),
27343         (gst_base_transform_src_activate),
27344         (gst_base_transform_change_state):
27345         * gst/base/gstbasetransform.h:
27346         * gst/elements/gstidentity.c: (gst_identity_class_init),
27347         (gst_identity_event), (gst_identity_check_perfect),
27348         (gst_identity_transform), (gst_identity_start),
27349         (gst_identity_stop):
27350         Added start/stop methods to transform base class so subclasses 
27351         don't need to deal with state changes even.
27352
27353 2005-03-31  Wim Taymans  <wim@fluendo.com>
27354
27355         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
27356         (gst_event_new_discontinuous), (gst_event_discont_get_value):
27357         * gst/gstevent.h:
27358         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27359         (gst_pad_pull_range):
27360         Added rate to the discont event to prepare for variable speed
27361         and reverse playback.
27362
27363 2005-03-29  David Schleef  <ds@schleef.org>
27364
27365         * configure.ac:
27366         * testsuite/trigger/Makefile.am:
27367         * testsuite/trigger/trigger.c: A little example program to show
27368         how trigger-based elements can work.
27369
27370 2005-03-29  Wim Taymans  <wim@fluendo.com>
27371
27372         * gst/base/Makefile.am:
27373         * gst/base/README:
27374         * gst/base/gstbasesink.c: (gst_basesink_get_type),
27375         (gst_basesink_base_init), (gst_basesink_class_init),
27376         (gst_basesink_pad_getcaps), (gst_basesink_init),
27377         (gst_basesink_activate), (gst_basesink_change_state):
27378         * gst/base/gstbasesink.h:
27379         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
27380         (gst_base_transform_base_init), (gst_base_transform_finalize),
27381         (gst_base_transform_class_init), (gst_base_transform_init),
27382         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
27383         (gst_base_transform_event), (gst_base_transform_getrange),
27384         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
27385         (gst_base_transform_set_property),
27386         (gst_base_transform_get_property),
27387         (gst_base_transform_sink_activate),
27388         (gst_base_transform_src_activate),
27389         (gst_base_transform_change_state):
27390         * gst/base/gstbasetransform.h:
27391         * gst/elements/gstidentity.c: (gst_identity_finalize),
27392         (gst_identity_class_init), (gst_identity_init),
27393         (gst_identity_event), (gst_identity_check_perfect),
27394         (gst_identity_transform), (gst_identity_set_property),
27395         (gst_identity_get_property), (gst_identity_change_state):
27396         * gst/elements/gstidentity.h:
27397         * gst/gstelement.c: (gst_element_get_state_func),
27398         (gst_element_lost_state), (gst_element_pads_activate):
27399         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27400         (gst_pad_check_pull_range), (gst_pad_pull_range):
27401         * gst/gstpad.h:
27402         Simplify pad activation.
27403         Added function to check if pull_range can be performed.
27404         Error out when pulling inactive or flushing pads.
27405         Removed const from refcounted types as it does not make sense.
27406         Simplify pad templates in basesink
27407         Added base class for simple 1-to-1 transforms.
27408         Make identity subclass the base transform.
27409
27410 2005-03-29  Andy Wingo  <wingo@pobox.com>
27411
27412         * docs/libs/gstreamer-libs-overrides.txt: 
27413         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
27414         really don't understand what's going on, but like whatever. I want
27415         green buildbot!
27416
27417         * docs/gst/Makefile.am:
27418         * docs/libs/Makefile.am: Dist the overrides files.
27419
27420         * check/Makefile.am (clean-local): Remove .libs directories.
27421
27422         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
27423         elements to EXTRA_DIST, so po/ files are happy.
27424
27425         * po/POTFILES.in: Er, remove it here.
27426
27427         * po/POTFILES: Remove gstspider.c.
27428
27429         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
27430
27431         * docs/libs/gstreamer-libs-docs.sgml: 
27432         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
27433         bytestream.
27434
27435         * tests/complexity.c (main): Set the length of the preroll queue
27436         on the sinks to prevent a lockup.
27437
27438         * libs/gst/dataprotocol/Makefile.am: 
27439         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
27440         the same as the one in check/gst-libs/gdp.c.
27441
27442         * po/, docs/gst/: Commit automatic changes to docs and po files.
27443
27444         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
27445         the versioned libgstbase.
27446
27447         * check/Makefile.am: Depend on an unversioned gst-register, seems
27448         to make autoconf happier.
27449
27450         * gst/base/Makefile.am: Make libgstbase a versioned lib.
27451
27452 2005-03-28  Wim Taymans  <wim@fluendo.com>
27453
27454         * configure.ac:
27455         * docs/design/part-gstelement.txt:
27456         * docs/design/part-negotiation.txt:
27457         * docs/design/part-preroll.txt:
27458         * docs/design/part-scheduling.txt:
27459         * docs/design/part-states.txt:
27460         * gst/Makefile.am:
27461         * gst/base/Makefile.am:
27462         * gst/base/README:
27463         * gst/base/gstbasesink.c: (gst_basesink_get_template),
27464         (gst_basesink_base_init), (gst_basesink_class_init),
27465         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
27466         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
27467         (gst_basesink_set_pad_functions),
27468         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
27469         (gst_basesink_set_property), (gst_basesink_get_property),
27470         (gst_base_sink_get_template), (gst_base_sink_get_caps),
27471         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
27472         (gst_basesink_preroll_queue_push),
27473         (gst_basesink_preroll_queue_empty),
27474         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
27475         (gst_basesink_event), (gst_basesink_get_times),
27476         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
27477         (gst_basesink_chain_unlocked), (gst_basesink_chain),
27478         (gst_basesink_loop), (gst_basesink_activate),
27479         (gst_basesink_change_state):
27480         * gst/base/gstbasesink.h:
27481         * gst/elements/Makefile.am:
27482         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
27483         (gst_fakesink_class_init), (gst_fakesink_init),
27484         (gst_fakesink_set_property), (gst_fakesink_get_property),
27485         (gst_fakesink_get_times), (gst_fakesink_event),
27486         (gst_fakesink_preroll), (gst_fakesink_render),
27487         (gst_fakesink_change_state):
27488         * gst/elements/gstfakesink.h:
27489         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
27490         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
27491         * gst/gstelement.c: (gst_element_add_pad),
27492         (gst_element_get_state_func), (gst_element_abort_state),
27493         (gst_element_commit_state), (gst_element_lost_state),
27494         (gst_element_set_state), (gst_element_pads_activate):
27495         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
27496         * gst/gstpipeline.c: (gst_pipeline_send_event),
27497         (gst_pipeline_change_state):
27498         Added state change code.
27499         Added/updated docs.
27500         Added sink base class, make fakesink extend the base class.
27501         Small cleanups in GstPipeline.
27502
27503 2005-03-26  David Schleef  <ds@schleef.org>
27504
27505         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
27506         is broken and should be implemented in a different library.
27507         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
27508         * gst/gst.h: remove gstcpu.h
27509         * gst/gstcpu.c: remove
27510         * gst/gstcpu.h: remove
27511         * gst/Makefile.am.future: Remove this file.  It's ancient.
27512
27513 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27514
27515         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
27516         (gst_bin_send_event):
27517           Add default event/set_manager handlers. The set_manager handler
27518           takes care that the manager is distributed over kids that were
27519           already in the bin before the manager was set. The event handler
27520           is a utility virtual function that sends the event over all sinks,
27521           so that gst_element_send_event (bin, event); has the expected
27522           behaviour.
27523         * gst/gstpad.c: (gst_pad_event_default):
27524           Re-install default event handling for discontinuities, so that
27525           seeking works without requiring hacks in applications or extra
27526           code in sinks.
27527         * gst/gstpipeline.c: (gst_pipeline_class_init),
27528         (gst_pipeline_send_event):
27529           Half hack, half utility: set a pipeline to PAUSED for seek events,
27530           since that is the only way we can guarantee a/v sync. Means that
27531           you can do gst_element_seek (pipeline, method, pos); on a pipeline
27532           and it "just works".
27533
27534 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27535
27536         * gst/gstpipeline.c: (gst_pipeline_use_clock):
27537           Lock/unlock mismatch.
27538
27539 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
27540
27541         * docs/faq/gst-uninstalled:
27542           add gst-plugins-base
27543         * docs/gst/Makefile.am:
27544           don't error out until docs are fixed
27545         * docs/gst/gstreamer.types:
27546           remove thread
27547
27548 2005-03-22  Wim Taymans  <wim@fluendo.com>
27549
27550         * check/Makefile.am:
27551         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
27552         * gst/gststructure.c: (gst_structure_set_valist),
27553         (gst_structure_copy_conditional):
27554         Activated more tests.
27555         Added message test.
27556         Added G_TYPE_POINTER to GstStructure.
27557         
27558
27559 2005-03-22  Wim Taymans  <wim@fluendo.com>
27560
27561         * docs/design/part-TODO.txt:
27562         * docs/design/part-events.txt:
27563         * docs/design/part-gstbin.txt:
27564         * docs/design/part-gstbus.txt:
27565         * docs/design/part-gstpipeline.txt:
27566         * docs/design/part-messages.txt:
27567         * gst/gstbus.c:
27568         * gst/gstmessage.c:
27569         Docs updates
27570
27571 2005-03-21  Wim Taymans  <wim@fluendo.com>
27572
27573         * gst/gstbus.c: (gst_bus_post):
27574         Fix copy-and-paste error.
27575
27576 2005-03-21  Wim Taymans  <wim@fluendo.com>
27577
27578         * check/Makefile.am:
27579         * gst/Makefile.am:
27580         * gst/elements/Makefile.am:
27581         * gst/elements/gstelements.c:
27582         * gst/elements/gstfakesink.c: (gst_fakesink_init),
27583         (gst_fakesink_event), (gst_fakesink_chain):
27584         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27585         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
27586         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
27587         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
27588         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
27589         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
27590         (gst_fakesrc_loop), (gst_fakesrc_activate),
27591         (gst_fakesrc_change_state):
27592         * gst/elements/gstfakesrc.h:
27593         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
27594         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
27595         (gst_filesrc_open_file), (gst_filesrc_loop),
27596         (gst_filesrc_activate), (gst_filesrc_change_state),
27597         (filesrc_find_peek), (filesrc_find_suggest),
27598         (gst_filesrc_type_find):
27599         * gst/elements/gstidentity.c: (gst_identity_finalize),
27600         (gst_identity_class_init), (gst_identity_init),
27601         (gst_identity_proxy_getcaps), (identity_queue_push),
27602         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
27603         (gst_identity_getrange), (gst_identity_chain),
27604         (gst_identity_sink_loop), (gst_identity_src_loop),
27605         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
27606         (gst_identity_set_property), (gst_identity_get_property),
27607         (gst_identity_change_state):
27608         * gst/elements/gstidentity.h:
27609         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
27610         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
27611         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
27612         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
27613         (gst_tee_sink_activate):
27614         * gst/elements/gsttee.h:
27615         * gst/gst.c: (gst_register_core_elements), (init_post):
27616         * gst/gst.h:
27617         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
27618         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
27619         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
27620         (gst_bin_change_state):
27621         * gst/gstbin.h:
27622         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
27623         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
27624         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
27625         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
27626         (gst_bus_set_sync_handler), (gst_bus_create_watch),
27627         (bus_watch_callback), (bus_watch_destroy),
27628         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
27629         (poll_timeout), (gst_bus_poll):
27630         * gst/gstbus.h:
27631         * gst/gstcaps.h:
27632         * gst/gstdata.h:
27633         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
27634         (gst_element_post_message), (gst_element_message_full),
27635         (gst_element_get_state_func), (gst_element_get_state),
27636         (gst_element_abort_state), (gst_element_commit_state),
27637         (gst_element_lost_state), (gst_element_set_state),
27638         (gst_element_pads_activate), (gst_element_change_state),
27639         (gst_element_dispose), (gst_element_set_manager_func),
27640         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
27641         (gst_element_set_manager), (gst_element_get_manager),
27642         (gst_element_set_bus), (gst_element_get_bus),
27643         (gst_element_set_scheduler), (gst_element_get_scheduler):
27644         * gst/gstelement.h:
27645         * gst/gstevent.c: (gst_event_new_segment_seek),
27646         (gst_event_new_flush):
27647         * gst/gstevent.h:
27648         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
27649         (_gst_message_free), (gst_message_get_type), (gst_message_new),
27650         (gst_message_new_eos), (gst_message_new_error),
27651         (gst_message_new_warning), (gst_message_new_tag),
27652         (gst_message_new_state_changed), (gst_message_new_application),
27653         (gst_message_get_structure), (gst_message_parse_tag),
27654         (gst_message_parse_state_changed), (gst_message_parse_error),
27655         (gst_message_parse_warning):
27656         * gst/gstmessage.h:
27657         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
27658         (gst_real_pad_set_property), (gst_pad_set_active),
27659         (gst_pad_is_active), (gst_pad_set_blocked_async),
27660         (gst_pad_set_blocked), (gst_pad_is_blocked),
27661         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
27662         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
27663         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
27664         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
27665         (gst_pad_link_filtered), (gst_pad_relink_filtered),
27666         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
27667         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
27668         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
27669         (gst_pad_set_caps), (gst_pad_configure_sink),
27670         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
27671         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
27672         (gst_real_pad_dispose), (gst_real_pad_finalize),
27673         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
27674         (gst_pad_event_default_dispatch), (gst_pad_event_default),
27675         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
27676         * gst/gstpad.h:
27677         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
27678         (pipeline_bus_handler), (gst_pipeline_change_state),
27679         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
27680         * gst/gstpipeline.h:
27681         * gst/gstprobe.h:
27682         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
27683         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
27684         (gst_queue_link_src), (gst_queue_bufferalloc),
27685         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
27686         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
27687         (gst_queue_loop), (gst_queue_handle_src_event),
27688         (gst_queue_handle_src_query), (gst_queue_src_activate),
27689         (gst_queue_change_state):
27690         * gst/gstqueue.h:
27691         * gst/gstscheduler.c: (gst_scheduler_init),
27692         (gst_scheduler_dispose), (gst_scheduler_create_task),
27693         (gst_scheduler_factory_create):
27694         * gst/gstscheduler.h:
27695         * gst/gststructure.c: (gst_structure_get_type),
27696         (gst_structure_copy_conditional):
27697         * gst/gststructure.h:
27698         * gst/gsttaginterface.h:
27699         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27700         (gst_task_init), (gst_task_dispose), (gst_task_create),
27701         (gst_task_get_state), (gst_task_start), (gst_task_stop),
27702         (gst_task_pause):
27703         * gst/gsttask.h:
27704         * gst/gstthread.c:
27705         * gst/gstthread.h:
27706         * gst/gsttypes.h:
27707         * gst/schedulers/Makefile.am:
27708         * gst/schedulers/cothreads_compat.h:
27709         * gst/schedulers/entryscheduler.c:
27710         * gst/schedulers/faircothreads.c:
27711         * gst/schedulers/faircothreads.h:
27712         * gst/schedulers/fairscheduler.c:
27713         * gst/schedulers/gstbasicscheduler.c:
27714         * gst/schedulers/gstoptimalscheduler.c:
27715         * gst/schedulers/gthread-cothreads.h:
27716         * gst/schedulers/threadscheduler.c:
27717         (gst_thread_scheduler_task_get_type),
27718         (gst_thread_scheduler_task_class_init),
27719         (gst_thread_scheduler_task_init),
27720         (gst_thread_scheduler_task_start),
27721         (gst_thread_scheduler_task_stop),
27722         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
27723         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
27724         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
27725         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
27726         (plugin_init):
27727         * libs/gst/Makefile.am:
27728         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
27729         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
27730         (gst_file_pad_parent_set):
27731         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27732         (gst_dp_event_from_packet):
27733         * tests/complexity.c: (main):
27734         * tests/mass_elements.c: (main):
27735         * testsuite/states/locked.c: (message_received), (main):
27736         * testsuite/states/parent.c: (main):
27737         * tools/gst-inspect.c: (print_element_flag_info),
27738         (print_implementation_info), (print_pad_info):
27739         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
27740         (main):
27741         * tools/gst-md5sum.c: (event_loop), (main):
27742         * tools/gst-typefind.c: (main):
27743         * tools/gst-xmlinspect.c: (print_element_info):
27744         Next big merge.
27745         Added GstBus for mainloop integration.
27746         Added GstMessage for sending notifications on the bus.
27747         Added GstTask as an abstraction for pipeline entry points.
27748         Removed GstThread.
27749         Removed Schedulers.
27750         Simplified GstQueue for multithreaded core.
27751         Made _link threadsafe, removed old capsnego.
27752         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
27753         Added pad blocking functions.
27754         Reworked scheduling functions in GstPad to prepare for
27755         scheduling updates soon.
27756         Moved events out of data stream.
27757         Simplified GstEvent types.
27758         Added return values to push/pull.
27759         Removed clocking from GstElement.
27760         Added prototypes for state change function for next merge.
27761         Removed iterate from bins and state change management.
27762         Fixed some elements, disabled others for now.
27763         Fixed -inspect and -launch.
27764         Added check for GstBus.
27765
27766 2005-03-10  Wim Taymans  <wim@fluendo.com>
27767
27768         * docs/design/part-MT-refcounting.txt:
27769         * docs/design/part-clocks.txt:
27770         * docs/design/part-gstelement.txt:
27771         * docs/design/part-gstobject.txt:
27772         * docs/design/part-standards.txt:
27773         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
27774         (gst_bin_remove_func), (gst_bin_remove):
27775         * gst/gstbin.h:
27776         * gst/gstbuffer.c:
27777         * gst/gstcaps.h:
27778         * testsuite/clock/clock1.c: (main):
27779         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
27780         (main):
27781         * testsuite/dlopen/loadgst.c: (do_test):
27782         * testsuite/refcounting/bin.c: (add_remove_test1),
27783         (add_remove_test2), (main):
27784         * testsuite/refcounting/element.c: (main):
27785         * testsuite/refcounting/element_pad.c: (main):
27786         * testsuite/refcounting/pad.c: (main):
27787         * tools/gst-launch.c: (sigint_handler_sighandler):
27788         * tools/gst-typefind.c: (main):
27789         Doc updates.
27790         Added doc about clock.
27791         removed gst_bin_iterate_recurse_up(), marked methods
27792         for removal.
27793         Fix more testsuites.
27794
27795 2005-03-09  Wim Taymans  <wim@fluendo.com>
27796
27797         * gst/gstpad.c: (gst_pad_get_direction),
27798         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
27799         (gst_pad_collect_valist):
27800         * testsuite/bins/interface.c: (main):
27801         * testsuite/caps/audioscale.c: (test_caps):
27802         * testsuite/caps/caps.c: (test1), (test2), (test3):
27803         * testsuite/caps/deserialize.c: (main):
27804         * testsuite/caps/enumcaps.c: (main):
27805         * testsuite/caps/filtercaps.c: (main):
27806         * testsuite/caps/intersect2.c: (main):
27807         * testsuite/caps/random.c: (main):
27808         * testsuite/caps/renegotiate.c: (my_fixate), (main):
27809         * testsuite/caps/sets.c: (check_caps):
27810         * testsuite/caps/simplify.c: (check_caps), (main):
27811         * testsuite/caps/subtract.c: (check_caps):
27812         Fix _pad_get_direction wrt ghostpads.
27813         Fix caps testsuite.
27814
27815 2005-03-09  Wim Taymans  <wim@fluendo.com>
27816
27817         * check/Makefile.am:
27818         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
27819         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
27820         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
27821         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
27822         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
27823         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
27824         (gst_bin_remove), (gst_bin_iterate_recurse_up),
27825         (bin_element_is_sink), (gst_bin_iterate_sinks),
27826         (gst_bin_iterate_all_by_interface):
27827         * gst/gstbin.h:
27828         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
27829         (gst_element_change_state), (gst_element_dispose),
27830         (gst_element_finalize), (gst_element_set_loop_function):
27831         * gst/gstelement.h:
27832         * gst/gstiterator.c: (find_custom_fold_func):
27833         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
27834         (gst_pad_collectv), (gst_pad_collect_valist),
27835         (gst_pad_template_new):
27836         * gst/gstpipeline.c: (gst_pipeline_class_init),
27837         (gst_pipeline_dispose), (gst_pipeline_set_property),
27838         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
27839         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
27840         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
27841         * gst/gstutils.h:
27842         * gst/schedulers/entryscheduler.c:
27843         * gst/schedulers/gstbasicscheduler.c:
27844         (gst_basic_scheduler_cothreaded_chain),
27845         (gst_basic_scheduler_chain_add_element):
27846         * testsuite/bins/interface.c: (main):
27847         Added GstBin test.
27848         Added GstSystemClock test.
27849         Implemented clock distribution code in GstBin.
27850         Implemented iterate sinks method for future use.
27851         Rearranged gstelement.h
27852         Fix GstIterator comparison bug.
27853         Moved some code to GstPipeline, mostly clocking related.
27854
27855 2005-03-09  Wim Taymans  <wim@fluendo.com>
27856
27857         * configure.ac:
27858         * gst/gst_private.h:
27859         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
27860         (gst_bin_remove_func), (gst_bin_remove),
27861         (gst_bin_get_by_name_recurse_up):
27862         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
27863         (gst_clock_id_compare_func), (gst_clock_id_wait),
27864         (gst_clock_id_wait_async), (gst_clock_init),
27865         (gst_clock_adjust_unlocked), (gst_clock_get_time):
27866         * gst/gstelement.h:
27867         * gst/gstinfo.c: (_gst_debug_init):
27868         * gst/gstobject.h:
27869         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
27870         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
27871         * gst/gstpad.h:
27872         Bump version number, we're now 0.9.0
27873         Add future debugging category.
27874         Fix NULL _unref() in _get_by_name_recurse_up
27875         Rearrange gstpad.h.
27876         Update some docs.
27877
27878 2005-03-08  Wim Taymans  <wim@fluendo.com>
27879
27880         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
27881         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
27882         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
27883         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
27884         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
27885         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
27886         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
27887         * gst/elements/gstidentity.c: (gst_identity_class_init):
27888         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
27889         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
27890         * gst/elements/gstshaper.c: (gst_shaper_class_init):
27891         * gst/elements/gststatistics.c: (gst_statistics_class_init):
27892         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
27893         (gst_tee_link):
27894         * gst/gstelement.c: (gst_element_class_init),
27895         (gst_element_base_class_init), (gst_element_init),
27896         (gst_element_get_random_pad), (gst_element_wait_state_change),
27897         (gst_element_change_state), (gst_element_dispose),
27898         (gst_element_finalize), (gst_element_set_loop_function):
27899         * gst/gstelement.h:
27900         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
27901         * gst/gstthread.c: (gst_thread_class_init),
27902         (gst_thread_release_children_locks), (gst_thread_change_state):
27903         * gst/schedulers/gstbasicscheduler.c:
27904         (gst_basic_scheduler_loopfunc_wrapper),
27905         (gst_basic_scheduler_chain_wrapper),
27906         (gst_basic_scheduler_src_wrapper),
27907         (gst_basic_scheduler_remove_element):
27908         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
27909         Remove threadsafe properties. Fix elements because GObject
27910         complains when installing a property before declaring a
27911         set/get_property handler.
27912         Rearrange gstelement.h file, use STATE macros for state locks.
27913         Free mutexes in the finalize method instead of dispose.
27914
27915 2005-03-08  Wim Taymans  <wim@fluendo.com>
27916
27917         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
27918         * gst/gstthread.c: (gst_thread_release_children_locks):
27919         Added parentage check.
27920         Fix build og GstThread again.
27921
27922 2005-03-08  Wim Taymans  <wim@fluendo.com>
27923
27924         * docs/design/part-MT-refcounting.txt:
27925         * docs/design/part-conventions.txt:
27926         * docs/design/part-gstobject.txt:
27927         * docs/design/part-relations.txt:
27928         * docs/design/part-standards.txt:
27929         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
27930         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
27931         (gst_bin_get_by_name), (gst_bin_get_by_interface),
27932         (gst_bin_iterate_all_by_interface):
27933         * gst/gstbuffer.h:
27934         * gst/gstclock.h:
27935         * gst/gstelement.c: (gst_element_class_init),
27936         (gst_element_change_state), (gst_element_set_loop_function):
27937         * gst/gstelement.h:
27938         * gst/gstiterator.c:
27939         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
27940         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
27941         (gst_object_dispatch_properties_changed), (gst_object_set_name),
27942         (gst_object_set_parent), (gst_object_unparent),
27943         (gst_object_check_uniqueness):
27944         * gst/gstobject.h:
27945         Docs updates, clean up some headers.
27946
27947 2005-03-07  Wim Taymans  <wim@fluendo.com>
27948
27949         * check/.cvsignore:
27950         * check/Makefile.am:
27951         * check/gst-libs/.cvsignore:
27952         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
27953         * check/gst/.cvsignore:
27954         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
27955         (START_TEST), (gstbus_suite), (main):
27956         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
27957         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
27958         (gst_data_suite), (main):
27959         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
27960         (add_fold_func), (gstiterator_suite), (main):
27961         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
27962         (thread_name_object), (thread_name_object_default),
27963         (gst_object_name_compare), (gst_object_suite), (main):
27964         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
27965         (gst_pad_suite), (main):
27966         * check/gstcheck.c: (gst_check_log_message_func),
27967         (gst_check_log_critical_func), (gst_check_init):
27968         * check/gstcheck.h:
27969         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
27970         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
27971         Added checks.
27972
27973 2005-03-07  Wim Taymans  <wim@fluendo.com>
27974
27975         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
27976         (gst_list_iterator_next), (gst_list_iterator_resync),
27977         (gst_list_iterator_free), (gst_iterator_new_list),
27978         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
27979         (gst_iterator_free), (gst_iterator_push), (filter_next),
27980         (filter_resync), (filter_uninit), (filter_free),
27981         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
27982         (gst_iterator_foreach), (find_custom_fold_func),
27983         (gst_iterator_find_custom):
27984         * gst/gstiterator.h:
27985         Added missing files.
27986
27987 2005-03-07  Wim Taymans  <wim@fluendo.com>
27988
27989         * Makefile.am:
27990         * configure.ac:
27991         * docs/design/part-MT-refcounting.txt:
27992         * docs/design/part-conventions.txt:
27993         * docs/design/part-gstobject.txt:
27994         * docs/design/part-relations.txt:
27995         * examples/mixer/mixer.c: (main):
27996         * examples/thread/thread.c: (eos), (main):
27997         * gst/Makefile.am:
27998         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
27999         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
28000         (gst_spider_plug_from_srcpad):
28001         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
28002         (gst_spider_identity_change_state),
28003         (gst_spider_identity_sink_loop_type_finding):
28004         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
28005         * gst/elements/gstidentity.c: (gst_identity_init):
28006         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
28007         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
28008         * gst/elements/gsttypefindelement.c: (free_entry):
28009         * gst/gst.c:
28010         * gst/gst.h:
28011         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
28012         (gst_bin_set_clock_func), (gst_bin_auto_clock),
28013         (gst_bin_set_index), (gst_bin_set_element_sched),
28014         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
28015         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
28016         (gst_bin_iterate_elements), (iterate_child_recurse),
28017         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
28018         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
28019         (compare_interface), (gst_bin_get_by_interface),
28020         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
28021         * gst/gstbin.h:
28022         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
28023         (gst_buffer_default_free), (gst_buffer_default_copy),
28024         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
28025         (gst_buffer_create_sub):
28026         * gst/gstbuffer.h:
28027         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
28028         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
28029         (gst_caps_unref), (gst_static_caps_get),
28030         (gst_caps_remove_and_get_structure), (gst_caps_append),
28031         (gst_caps_append_structure), (gst_caps_remove_structure),
28032         (gst_caps_copy_nth), (gst_caps_set_simple),
28033         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
28034         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
28035         (gst_caps_structure_intersect_field), (gst_caps_intersect),
28036         (gst_caps_structure_subtract_field), (gst_caps_subtract),
28037         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
28038         (gst_caps_structure_figure_out_union),
28039         (gst_caps_switch_structures), (gst_caps_do_simplify),
28040         (gst_caps_replace), (gst_caps_from_string),
28041         (gst_caps_copy_conditional):
28042         * gst/gstcaps.h:
28043         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
28044         (_gst_clock_id_free), (gst_clock_id_unref),
28045         (gst_clock_id_compare_func), (gst_clock_id_wait),
28046         (gst_clock_id_wait_async), (gst_clock_class_init),
28047         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
28048         (gst_clock_get_time), (gst_clock_set_time_adjust),
28049         (gst_clock_set_property), (gst_clock_get_property):
28050         * gst/gstclock.h:
28051         * gst/gstcompat.h:
28052         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
28053         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
28054         * gst/gstdata.h:
28055         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
28056         (gst_element_requires_clock), (gst_element_provides_clock),
28057         (gst_element_set_clock), (gst_element_clock_wait),
28058         (gst_element_wait), (gst_element_set_time_delay),
28059         (gst_element_is_indexable), (gst_element_add_pad),
28060         (gst_element_add_ghost_pad), (gst_element_remove_pad),
28061         (pad_compare_name), (gst_element_get_static_pad),
28062         (gst_element_request_pad), (gst_element_get_request_pad),
28063         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
28064         (gst_element_class_get_pad_template_list),
28065         (gst_element_class_get_pad_template), (gst_element_error_func),
28066         (gst_element_get_random_pad), (gst_element_get_event_masks),
28067         (gst_element_send_event), (gst_element_seek),
28068         (gst_element_get_query_types), (gst_element_query),
28069         (gst_element_get_formats), (gst_element_convert),
28070         (gst_element_is_locked_state), (gst_element_set_locked_state),
28071         (gst_element_sync_state_with_parent), (gst_element_change_state),
28072         (gst_element_finalize), (gst_element_yield),
28073         (gst_element_interrupt), (gst_element_set_scheduler),
28074         (gst_element_get_scheduler), (gst_element_set_loop_function):
28075         * gst/gstelement.h:
28076         * gst/gstevent.h:
28077         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
28078         (gst_format_get_by_nick), (gst_format_get_details),
28079         (gst_format_iterate_definitions):
28080         * gst/gstformat.h:
28081         * gst/gstindex.c: (gst_index_gtype_resolver):
28082         * gst/gstinfo.c:
28083         * gst/gstinfo.h:
28084         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
28085         (gst_mem_chunk_free):
28086         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
28087         (gst_object_ref), (gst_object_unref), (gst_object_sink),
28088         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
28089         (gst_object_dispatch_properties_changed),
28090         (gst_object_set_name_default), (gst_object_set_name),
28091         (gst_object_get_name), (gst_object_set_name_prefix),
28092         (gst_object_get_name_prefix), (gst_object_set_parent),
28093         (gst_object_get_parent), (gst_object_unparent),
28094         (gst_object_check_uniqueness), (gst_object_save_thyself),
28095         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
28096         (gst_object_set_property), (gst_object_get_property),
28097         (gst_object_get_path_string):
28098         * gst/gstobject.h:
28099         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
28100         (gst_real_pad_init), (gst_real_pad_get_property),
28101         (gst_pad_custom_new), (gst_pad_get_direction),
28102         (gst_pad_set_active), (gst_pad_is_active),
28103         (gst_pad_set_event_function), (gst_pad_is_linked),
28104         (gst_pad_link_free), (gst_pad_link_intersect),
28105         (gst_pad_link_fixate), (gst_pad_set_caps),
28106         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
28107         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
28108         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
28109         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
28110         (gst_pad_get_caps), (gst_pad_peer_get_caps),
28111         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
28112         (gst_pad_realize), (gst_pad_get_allowed_caps),
28113         (gst_real_pad_dispose), (gst_real_pad_finalize),
28114         (gst_pad_collectv), (gst_pad_collect_valist),
28115         (gst_pad_template_dispose), (gst_pad_template_new),
28116         (gst_pad_get_internal_links):
28117         * gst/gstpad.h:
28118         * gst/gstpipeline.c: (gst_pipeline_dispose),
28119         (gst_pipeline_change_state):
28120         * gst/gstpipeline.h:
28121         * gst/gstplugin.c:
28122         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
28123         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
28124         * gst/gstpluginfeature.h:
28125         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
28126         * gst/gstquery.c: (_gst_query_type_initialize),
28127         (gst_query_type_register), (gst_query_type_get_by_nick),
28128         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
28129         * gst/gstquery.h:
28130         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
28131         * gst/gstscheduler.c: (gst_scheduler_add_element),
28132         (gst_scheduler_factory_create):
28133         * gst/gststructure.c: (gst_structure_set_parent_refcount),
28134         (gst_structure_free), (gst_structure_set_name),
28135         (gst_structure_id_set_value), (gst_structure_set_value),
28136         (gst_structure_set_valist), (gst_structure_remove_field),
28137         (gst_structure_remove_fields),
28138         (gst_structure_remove_fields_valist),
28139         (gst_structure_remove_all_fields), (gst_structure_foreach),
28140         (gst_structure_map_in_place),
28141         (gst_caps_structure_fixate_field_nearest_int),
28142         (gst_caps_structure_fixate_field_nearest_double):
28143         * gst/gststructure.h:
28144         * gst/gstsystemclock.c: (gst_system_clock_class_init),
28145         (gst_system_clock_init), (gst_system_clock_dispose),
28146         (gst_system_clock_async_thread),
28147         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
28148         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
28149         * gst/gstsystemclock.h:
28150         * gst/gsttag.c: (gst_tag_list_add_value_internal),
28151         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
28152         * gst/gsttaginterface.c:
28153         * gst/gstthread.c: (gst_thread_dispose),
28154         (gst_thread_release_children_locks), (gst_thread_change_state),
28155         (gst_thread_main_loop):
28156         * gst/gsttrashstack.h:
28157         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
28158         * gst/gsttypes.h:
28159         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28160         (gst_element_request_pad), (gst_element_get_pad_from_template),
28161         (gst_element_request_compatible_pad),
28162         (gst_element_get_compatible_pad_filtered),
28163         (gst_element_get_compatible_pad), (gst_element_state_get_name),
28164         (gst_element_link_pads_filtered), (gst_element_link_filtered),
28165         (gst_element_link_many), (gst_element_link),
28166         (gst_element_link_pads), (gst_element_unlink_pads),
28167         (gst_element_unlink_many), (gst_element_unlink),
28168         (gst_pad_can_link_filtered), (gst_pad_can_link),
28169         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
28170         (gst_object_default_error), (gst_bin_add_many),
28171         (gst_bin_remove_many), (gst_element_populate_std_props),
28172         (gst_element_class_install_std_props), (gst_buffer_merge),
28173         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
28174         (link_fold_func), (gst_pad_proxy_setcaps):
28175         * gst/gstutils.h:
28176         * gst/gstvalue.c: (gst_value_deserialize_string):
28177         * gst/parse/grammar.y:
28178         * gst/schedulers/gstbasicscheduler.c:
28179         (gst_basic_scheduler_cothreaded_chain),
28180         (gst_basic_scheduler_chain_recursive_add),
28181         (gst_basic_scheduler_pad_link):
28182         * gst/schedulers/gstoptimalscheduler.c:
28183         (get_group_schedule_function),
28184         (gst_opt_scheduler_state_transition),
28185         (gst_opt_scheduler_add_element), (element_get_reachables_func):
28186         * libs/gst/bytestream/bytestream.c:
28187         * libs/gst/dataprotocol/dataprotocol.c:
28188         (gst_dp_header_from_buffer):
28189         * po/nb.po:
28190         * po/ru.po:
28191         * tests/threadstate/threadstate2.c: (eos):
28192         * tools/gst-compprep.c: (main):
28193         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
28194         (print_pad_info), (print_children_info):
28195         * tools/gst-launch.c: (idle_func), (main):
28196         * tools/gst-md5sum.c: (idle_func), (main):
28197         * tools/gst-xmlinspect.c: (print_element_info):
28198         First THREADED backport attempt, focusing on adding locks and
28199         making sure the API is threadsafe. Needs more work. More docs
28200         follow this week.
28201
28202 2005-02-24  Andy Wingo  <wingo@pobox.com>
28203
28204         * tests/bench-complexity.scm:
28205         * tests/complexity.gnuplot: New files, good for running complexity
28206         benchmarks.
28207
28208         * tests/Makefile.am:
28209         * tests/complexity.c: New test, sets up N elements, at each level
28210         teeing into M streams per element. Eeeenteresting.
28211
28212         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
28213         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
28214         running bench-mass_elements.scm.
28215
28216         * tests/bench-mass_elements.scm: New script, runs mass_elements
28217         for various numbers of identities, outputting the results to a
28218         file. Requires guile 1.6. Just for testing.
28219
28220 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
28221
28222         * gst/schedulers/fairscheduler.c:
28223           compile with debug disabled
28224
28225 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
28226
28227         * configure.ac:
28228           hunting season on 0.9 is now OPEN